locked
Help needed. WCF Service and WsHttpBinding over SSL RRS feed

  • 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> 


    Regards

    Saturday, April 20, 2013 9:02 PM