Question

when i navigate to my WCF svc page https://mywebstie.project.com/myproject/myuploadservice.svc, i hit the svc as expected but the svcutil URL it supplies uses the actual server name; not the mywebsite.project.com URL, for example.

When i follow the provided link to the WSDL file, only the text https://mywebstie.project.com/myproject/myuploadservice.svc/SQLMembershipProvider is rendered in the browser. The URL in the browser is actually using the server name instead of mywebstie.project.com.

The contents of the WSDL XML are not rendered.

What might the problem be? i haven't changed my client or server configurations but my service is not working.

An error occurred while receiving the HTTP response to https://mywebstie.project.com/myproject/myuploadservice.svc/SqlMembershipProvider. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.

Here's my server config

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MembershipBehaviour">
          <serviceMetadata httpsGetEnabled="true" />
          <serviceCredentials>
            <serviceCertificate findValue="44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44"
              storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />
            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
              membershipProviderName="SqlMembershipProvider" />
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <wsHttpBinding>
        <binding name="SqlMembershipProvider">
          <security mode="TransportWithMessageCredential">
            <message clientCredentialType="UserName" />
          </security>
        </binding>
      </wsHttpBinding>
      <mexHttpsBinding>
        <binding name="mex" />
      </mexHttpsBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="MembershipBehaviour" name="Test.Web.Services.MyUploadService">
        <endpoint name="SqlMembershipProvider"
                  address="https://mywebstie.project.com/myproject/myuploadservice.svc/SQLMembershipProvider"
                  binding="wsHttpBinding" bindingConfiguration="SqlMembershipProvider"
                  contract="Test.Web.Services.IMyUploadService" />
        <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mex" name="mex" contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

The client looks like this:

<system.serviceModel>
    <bindings>
        <wsHttpBinding>
            <binding name="SqlMembershipProvider" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="TransportWithMessageCredential">
                    <transport clientCredentialType="Certificate" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" negotiateServiceCredential="true"
                        algorithmSuite="Default" establishSecurityContext="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>
    <client>
        <endpoint address="https://mywebstie.project.com/myproject/myuploadservice.svc/SQLMembershipProvider"
            binding="wsHttpBinding" bindingConfiguration="SqlMembershipProvider"
            contract="IHoldingFileUploadService" name="SqlMembershipProvider">
            <identity>
                <certificate encodedValue="SomeEncodedValue" />
            </identity>
        </endpoint>
    </client>
</system.serviceModel>
Was it helpful?

Solution

For your WSDL problem: Don't use Chrome when browsing WSDL.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top