2010-05-17 57 views
1

如何配置XML Web服務客戶端以使用MessageVersion.Soap11WSAddressing10作爲標題名稱空間。目前它使用MessageVersion.None命名空間,但我無法更改它。BasicHttpBinding和MessageVersion.None

回答

2

你需要做到這一點使用自定義的WCF綁定:

<system.serviceModel> 
    <bindings> 
     <customBinding> 
     <binding name="Soap11Addr10"> 
      <textMessageEncoding messageVersion="Soap11WSAddressing10" /> 
      <httpTransport/> 
     </binding> 
     </customBinding> 
    </bindings> 

然後引用您的服務端點的自定義綁定(通過名稱):

<services> 
     <service name="YourAssembly.YourService"> 
     <endpoint name="test" 
        address="" 
        binding="customBinding" 
        bindingConfiguration="Soap11Addr10" 
        contract="YourAssembly.IYourService" /> 
     </service> 
    </services> 
    </system.serviceModel> 

如果你想使用這個從客戶端,您還需要將自定義綁定配置複製到客戶端app.configweb.config,並在那裏引用它(在Visual Studio中使用Add Service Reference將爲您執行此操作)。

+0

這是解決方案,但我仍不明白爲什麼微軟會說basichttpbinding與WS-Basic Profile 1.1兼容,而且無法設置爲使用MessageVersion.Soap11Addr10 – Bogi 2010-05-17 09:19:24

+0

這個答案只有微軟可以提供.... 。 – 2010-05-17 12:44:06

相關問題