<soapProcessing>
定義用戶端端點行為,這個行為會用來封送處理不同繫結型別和訊息版本之間的訊息。
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<soapProcessing>
Syntax
<soapProcessing processMessages="true|false" />
屬性和元素
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 描述 |
---|---|
processMessages |
布林值,這個值指定是否應該在 SOAP 訊息版本之間封送處理訊息。 |
子元素
無
父元素
元素 | 描述 |
---|---|
<behavior> | 指定端點行為。 |
備註
SOAP 處理是在訊息版本之間轉換訊息的程序。
Windows Communication Foundation (WCF) 路由服務可以將其中一種通訊協定的訊息轉換為另一種通訊協定。 如果傳入及傳出的訊息版本不同,會建立正確版本的新訊息。 在 MessageVersion 之間處理訊息,是透過建構包含來自傳入 WCF 訊息的主體部分和相關標頭的新 WCF 訊息來完成。 定址專用或是在路由器層級辨識的標頭,不會在建構新 WCF 訊息期間使用,因為這些標頭不是屬於不同的版本 (若為定址標頭),就是已做為用戶端和路由器之間通訊的一部分處理。
標頭是否放置在傳出訊息內,是透過標頭是否在通過傳入通道層時標記為辨識所決定。 未經辨識的標題 (例如自訂標題) 不會被移除,因此會透過複製到傳出訊息中的方式通過路由服務。 訊息的主體會複製到傳出訊息中。 接著,會將訊息傳出到輸出通道,此時會建立並加入該通訊協定/傳輸專用的所有標題和其他封套資料。
此類處理步驟會在指定 SOAP 處理行為時發生。 這個 <soapProcessingExtension> 行為是端點行為,該行為會於路由服務啟動時套用至所有用戶端 (傳出) 端點。根據預設,<routing> 行為會建立並附加新的 <soapProcessingExtension> 行為,並針對每個用戶端端點將 processMessages
設定為 true
。 如果路由服務無法辨識您的通訊協定,或者您想要覆寫預設的處理行為,可以停用整個路由服務的 SOAP 處理,或者只停用特定端點的 SOAP 處理。 若要在所有端點上停用整個路由服務的 SOAP 處理,請將 <routing> 行為的 soapProcessing
屬性設定為 false
。 若要關閉特定端點的 SOAP 處理,請使用這個行為,並將其 processMessages
屬性設定為 false
,然後將這個屬性附加至某個端點 (您不希望預設處理程式碼在此端點上執行)。 當 <routing> 行為設定路由服務時,會略過重複套用端點行為,因為已經有一個端點行為存在。