Asked by:
Help needed. WCF Service and WsHttpBinding over SSL

Question
-
User1051163829 posted
Hi,
I've been struggling for 6 hours now. I have a WCF service using the following setup in web.config and I keep receiving the following error
The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/Interface/Method'. I have absolutely no idea why. One thing to note is that when I turn off the security mode transport, the WDSL completely changes but I still get the same result. This is killing me!
:
<bindings> <wsHttpBinding> <binding name="wsHttpServiceBinding" closeTimeout="00:10:00" transactionFlow="false" messageEncoding="Text" textEncoding="utf-8" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" maxBufferPoolSize="20971520" maxReceivedMessageSize="20971520"> <readerQuotas maxDepth="20971520" maxStringContentLength="20971520" maxArrayLength="20971520" maxBytesPerRead="20971520" maxNameTableCharCount="20971520" /> <security mode="Transport"> <transport clientCredentialType="None"></transport> </security> </binding> <!-- These were expelled when changing from basicHttpBinding to wsHttpBinding transferMode="Buffered" maxBufferSize="20971520" --> </wsHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior> <!-- To avoid disclosing metadata information, set the value below to false before deployment --> <serviceMetadata httpGetEnabled="true"/> <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> <behavior name="WCFServices.Groupcall.Behaviour"> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" /> <services> <service behaviorConfiguration="WCFServices.Groupcall.Behaviour" name="WCFServices.Groupcall"> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpServiceBinding" contract="WCFServices.IGroupcall" /> <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint> </service> </services>
Monday, April 15, 2013 11:18 AM
All replies
-
User220959680 posted
binding="wsHttpBinding"
Change the binding to "basicHttpBinding".
More explanation at http://social.msdn.microsoft.com/forums/en-US/wcf/thread/ed32328d-e3ad-47dd-bcb0-3db9e6205f9c/
Monday, April 15, 2013 4:29 PM -
User-1000095884 posted
Hi,
Please try turn on wcf tracing to help to dignose the issue and use SvcTraceViewer.exe tool to analyze the diagnostic traces.
#Configuring Tracing
http://msdn.microsoft.com/en-us/library/ms733025.aspx
Best Regards.
Tuesday, April 16, 2013 4:16 AM -
User1051163829 posted
Hi
@sukumarraju, It needs to be a wsHttpBinding because the SOAP requests coming in are SOAP 1.2, basicHttpBinding is only suitable for SOAP 1.1 aren't they?
@Haixia, I've been using tracing and unfortunately nothing even hits tracing - it's bizarre! My thoughts are now network related as today 4MB files that take me 2 mins to upload work successfully, however, an 8MB file over a different internet connection at takes 15 seconds, fails... weird!
I need to really get to grips with WCF, the bindings are really complicated.
Thank you.
Boogle
Tuesday, April 16, 2013 11:15 AM -
User-1025342357 posted
what about if you put httpGetEnabled to false and httpsGetEnabled to True?
<behavior name="WCFServices.Groupcall.Behaviour"> <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior>
RegardsSaturday, April 20, 2013 9:02 PM