Question

Quand je navigue vers ma page WCF SVC https://mywebstie.project.com/myproject/myuploadservice.svc, j'ai frappé le SVC comme prévu mais l'URL SVCutil qu'il fournit utilise le nom du serveur réel; Pas l'URL mywebsite.project.com, par exemple.

Lorsque je suis le lien fourni vers le fichier WSDL, seul le texte https://mywebstie.project.com/myproject/myuploadservice.svc/sqlmembershipprovider est rendu dans le navigateur. L'URL du navigateur utilise réellement le nom du serveur au lieu de mywebstie.project.com.

Le contenu du XML WSDL n'est pas rendu.

Quel pourrait être le problème? Je n'ai pas changé les configurations de mon client ou de serveur mais mon service ne fonctionne pas.

Une erreur s'est produite lors de la réception de la réponse HTTP à https://mywebstie.project.com/myproject/myuploadservice.svc/sqlmembershipprovider. Cela pourrait être dû à la liaison du point de terminaison du service n'utilisant pas le protocole HTTP. Cela pourrait également être dû à un contexte de demande HTTP interdit par le serveur (peut-être en raison de l'arrêt du service). Voir les journaux du serveur pour plus de détails.

Voici ma configuration de serveur

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

Le client ressemble à ceci:

<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>
Était-ce utile?

La solution

Pour votre problème WSDL: n'utilisez pas Chrome lors de la navigation WSDL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top