Search code examples
wcfwcf-bindingwcf-client

What binding should be used in WCF service if the client consumes by sending SOAP 1.1 message?


I have a WCF service. A third party client sends SOAP 1.1 message to the service. I found out that the service can use basicHttpBinding to accept SOAP 1.1 messages so I configured my service to use basicHttpBinding. But the client gets an error message as below.

I am sure there is no contract mismatch so I am researching on whether there is binding/security mismatch between the client and the server. Also, I have tested my service from a test application by using basicHttpBinding and it works fine. I am not sure why it is giving the error when sending a SOAP 1.1 message from a third party client. I appreciate if anyone could point out what else I should be checking or any questions that I should check with the third party vendor? Thanks in advance.

Notes: The service does not use authentication. The third party is not .NET based client. I have only one OperationContract that can be consumed by the client. It is not decorated with any special attrubutes except [OperationContract]. Please let me know if you need any other information.

The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None)

Solution

  • I could not understand if you write the service or the client, but the problem is definetely either that the client does not send a SOAPAction HTTP Header, OR that the service uses soap11 but with some wsaddressing. In this case you should use custom binding and define the right addressing on the textBindingElmenet.