Take the 2-minute tour ×

I use wsHttpBinding on the wcf service.
I've added web reference and got I've got the web proxy (it is based on SoapHttpClientProtocol).
Also I've tried to build proxy using wsdl.exe and actual wsdl generated by the wcf service (http://zzzz/zz.svc?wsdl).
When the client calls the service, I get the following error: The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/Service1/Operation1'.
Why doesn't the client (the web proxy) work with my wcf service?
Which steps should I take to make them work?
I run .NET FW 3.5 and ASP.NET 2.0.

share|improve this question
Can you check your wsdl SoapAction address –  sandyiit Jul 11 '11 at 11:51
Here is my WSDL: <wsdl:operation name="Operation1"> <wsdl:input wsaw:Action="tempuri.org/IService1/Operation1"; message="tns:IService1_Operation1_InputMessage" /> <wsdl:output wsaw:Action="tempuri.org/IService1/Operation1Response"; message="tns:IService1_Operation1_OutputMessage" /> </wsdl:operation> ... <wsdl:binding name="httpEndpoint" type="tns:IService1"> <wsdl:operation name="Operation1"> <soap:operation soapAction="tempuri.org/IService1/Operation1"; style="document" /> –  Max Jul 11 '11 at 12:01

1 Answer 1

up vote 6 down vote accepted

You cannot consume service exposed on wsHttpBinding with default configuration by old ASMX proxy. You must either use add service reference / svcutil or change your binding to basicHttpBinding. Default configuration of wsHttpBinding uses advanced security and ASMX doesn't support it.

share|improve this answer
Thank You very much for quick and coherent answer! Hope it helps anyone who made the same mistake... –  Max Jul 11 '11 at 12:18
I've changed binding to basicHttpBinding, but now I get the following: System.Net.WebException: The request failed with HTTP status 415: Cannot process the message because the content type 'application/soap+xml; charset=utf-8; action="tempuri.org/IService1/Operation1"'; was not the expected type 'text/xml; charset=utf-8'. I use SOAPUI 4.0 to test the service. WCFTestClient works fine with the service, but the ASMX proxy doesn't. But I need to use web (ASMX) proxy... –  Max Jul 11 '11 at 12:25
It says you that you are passing request in SOAP 1.2 but the service accepts only SOAP 1.1. –  Ladislav Mrnka Jul 11 '11 at 12:32
OK. So how can I change client for it to use SOAP 1.1? Here is my server configuration: <endpoint address="" binding="basicHttpBinding" contract="IService1"> –  Max Jul 11 '11 at 12:43
Delete your proxy and add web reference again. BasicHttpBinding uses only SOAP 1.1 so the client should use it automatically. –  Ladislav Mrnka Jul 11 '11 at 12:48

Your Answer


