In order to use WS-Addressing (wsHttpBinding
), but with SOAP 1.1 (SOAP 1.2 being the default), you need to define a custom WCF binding (e.g. in config) and use that:
<bindings>
<customBinding>
<binding name="WsHttpSoap11" >
<textMessageEncoding messageVersion="Soap11WSAddressing10" />
<httpTransport/>
</binding>
</customBinding>
</bindings>
and then in your endpoint definition, use:
<endpoint name="WsSoap11"
address="....."
binding="customBinding"
bindingConfiguration="wsHttpSoap11"
contract="....." />
Of course, you can extend the custom binding defined above with additional properties, e.g. <reliableMessaging>
or others.
For more very detailed, very useful info on WCF bindings and how to “compose” your own custom bindings in config, read this excellent MSDN article Service Station: WCF Bindings In Depth by Aaron Skonnard.