WCF SSL endpoint address is not HTTPS

I am trying to host my WCF SSL service locally on my PC (IIS 7) and for some reason I cannot connect to it. I need to use SSL and send credentials to authenticate the user before calling some function.

When I connect to it, I get There was no endpoint listening on https: // [computer name] /YYY.svc that could receive this message. This is often caused by the wrong address or SOAP action. See InnerException, if available, for more details.

internal message The remote server returned an error: (404) Not found.

What I noticed is that when I access the WSDL (hosted on top of https), the endpoint address is not http * S *, and I think that's why my service probably isn't working.

here is part of my wsdl

<wsdl:service name="WSNAME">
<wsdl:port name="WSHttpBinding_INams" binding="tns:WSHttpBinding_INams">
 <soap12:address location="http://[computer name]/YYY.svc" /> 
  <wsa10:EndpointReference>
    <wsa10:Address>http://[computer name]/YYY.svc</wsa10:Address> 
     <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
       <Spn>host/[computername]</Spn> 
     </Identity>
 </wsa10:EndpointReference>

 

This is my service configuration file

 <service behaviorConfiguration="test" name="NewServiceType">
    <endpoint address="https://[computer name]/YYY.svc" binding="wsHttpBinding"
      bindingConfiguration="WsBinding" name="WS" contract="Authentication2.INams" />
    <endpoint address="mex" binding="mexHttpBinding" name="MX" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="https://[computer name]/XXX.svc" />
      </baseAddresses>
    </host>

can anyone point out what i am doing wrong?

my web.config

   <system.serviceModel>
<protocolMapping>
  <remove scheme="http" />
  <add scheme="http" binding="wsHttpBinding" />
</protocolMapping>
<bindings>
  <wsHttpBinding>
    <binding name="wsbinding">
      <security mode="TransportWithMessageCredential">
        <transport proxyCredentialType="Basic" />
        <message clientCredentialType="UserName" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service name="NewServiceType">
    <endpoint address="/WS" binding="wsHttpBinding"
      bindingConfiguration="wsbinding" name="WS" contract="Authentication3.IService1" />

    <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
      name="MX" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"
        httpsGetUrl="https://[computerName]/Service1.svc" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />

+5
source share
2 answers

FOUND!

WCF service returns 404 over https but not http

the problem is that my service element name was that the editor adds the default “MyNewService” or some default name. You must use the full name.

<services>
  <service name="[Namespace].[service class name]">

. , , , - . ,

+14

bindingConfiguration, WsBinding. web.config, , , (, WithMessageCredential, SSL).

:

<bindings>
  <wsHttpBinding>
    <binding name="WsBinding">
       <security mode="Transport">
         <transport clientCredentialType="Windows" />
       </security>
    </binding>
  </wsHttpBinding>
</bindings>

, IIS 443, SSL-.

:

Windows IIS. , Windows , Kerberos . MSDN WCF

TransportWithMessageCredential. SSL , ( SOAP). :

       <security mode="TransportWithMessageCredential">
         <transport clientCredentialType="None" />
         <message clientCredentialType="Username" />
       </security>

, . : http://msdn.microsoft.com/en-us/library/aa354508.aspx

+2

All Articles