2016-10-03 4 views
0

J'ai couru mon service WCF sur le serveur sans SSL activé et maintenant je me suis déplacé à l'un avec SSL activé et que je reçois l'erreur suivante:Déménagement service WCF à IIS6 avec SSL activé

Could not find a base address that matches scheme http for the endpoint with binding BasicHttpBinding. Registered base address schemes are [https].

Voici ma paramètres:

<bindings> 
    <basicHttpBinding> 
    <binding name="basicHTTP"> 
     <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="Windows"> 
     </transport> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 
<services> 
    <service behaviorConfiguration="basicBehavior" name="ProjectName.MyService"> 
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHTTP" contract="ProjectName.IMyService"/> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="basicBehavior"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

Comment puis-je corriger cette erreur?

Répondre

0

Correction du problème en spécifiant le mode de sécurité comme Transport et en utilisant webHttpBinding

0

Vous devez définir une liaison pour basicHttps. Ceci est un réglage très simple qui fonctionne pour SSL:

<system.serviceModel> 
    <bindings> 
     <basicHttpsBinding> 
     <binding name="BasicHttpBinding_IMyService" /> 
     </basicHttpsBinding> 
    </bindings> 

    <client> 
     <endpoint 
     name="BasicHttpBinding_IMyService" 
     address="https://MyURL/MyService.svc/soap/" 
     binding="basicHttpsBinding" 
     bindingConfiguration="BasicHttpBinding_IMyService" 
     contract="ClientServiceReference.IMyService" /> 
    </client> 

    </system.serviceModel> 

Note: Le critère d'évaluation doit être défini et son URL est https. De même, assurez-vous que dans l'environnement de production, vous ne renvoyez pas les détails de l'exception à l'appelant (cela serait considéré comme un trou de sécurité dans votre système car les exceptions peuvent révéler trop d'informations aux pirates). Vous devez modifier cette ligne:

<serviceDebug includeExceptionDetailInFaults="false"/> 
+0

je l'ai déjà liaison défini ci-dessus – ElenaDBA

+0

de base où définissez-vous votre point final? – Sparrow

+0

Regardez dans le fichier web.config que j'ai posté dans la question originale – ElenaDBA