2017-05-26 2 views
0

Mon service wcf fonctionnait jusqu'à ce que j'apporte deux modifications. Lorsque je l'exécute en mode débogage, je ne reçois aucune erreur mais lorsque je la déploie en production, j'obtiens l'exception "No End Point". J'ai suivi les conseils donnés dans d'autres messages mais pas de changement. Quelqu'un peut-il m'aider à régler cela?

1. Ajout d'une méthode qui accepte une chaîne et un tableau d'octetsSystem.ServiceModel.EndpointNotFoundException: Aucun noeud final écouté à l'adresse configurée

 

Function method3(ByVal parameter1 As String, ByVal parameter2 As Byte()) As String


2. Ajout d'une section à l'web.config messages si grands pourraient être envoyés

<bindings> 
 
    <basicHttpsBinding> 
 
    <binding maxReceivedMessageSize="2100000000"></binding> 
 
    </basicHttpsBinding> 
 
</bindings>

Configuration du service WCF

<system.serviceModel> 
    <bindings> 
     <!--This needs to be changed to http if debugging and https for production--> 
     <!--<basicHttpBinding> 
     <binding maxReceivedMessageSize="2100000000"></binding> 
     </basicHttpBinding>--> 
     <basicHttpsBinding> 
     <binding maxReceivedMessageSize="2100000000"></binding> 
     </basicHttpsBinding> 
    </bindings> 
    <services> 
     <service name="penergydata.penergydata"> 
     <host> 
      <baseAddresses> 
      <!--This needs to be changed to http if debugging and https for production--> 
      <!--<add baseAddress="http://localhost:49427/"/>--> 
      <add baseAddress="https://wcfservices.myefaactweb.com/penergydata/"></add> 
      </baseAddresses> 
     </host> 
     <!--This needs to be changed to http if debugging and https for production--> 
     <!--<endpoint address="" binding="basicHttpBinding" contract="penergydata.Ipenergydata"/>--> 
     <endpoint address="" binding="basicHttpsBinding" contract="penergydata.Ipenergydata"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, set the values below to false before deployment --> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="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> 
     </serviceBehaviors> 
    </behaviors> 
    <protocolMapping> 
     <!--This needs to be changed to http if debugging and https for production--> 
     <!--<add binding="basicHttpBinding" scheme="http"/>--> 
     <add binding="basicHttpsBinding" scheme="https"/> 
    </protocolMapping> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> 
    </system.serviceModel> 

Configuration client

<system.serviceModel> 
 
\t <bindings> 
 
\t \t <basicHttpBinding> 
 
\t \t \t <binding name="BasicHttpsBinding_Ipenergydata"> 
 
\t \t \t \t <security mode="Transport"/> 
 
\t \t \t </binding> 
 
\t \t </basicHttpBinding> 
 
\t </bindings> 
 
\t <client> 
 
\t \t <endpoint address="https://wcfservices.myefaactweb.com/penergydata/penergydata.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpsBinding_Ipenergydata" contract="penergydata.Ipenergydata" name="BasicHttpsBinding_Ipenergydata"/> 
 
\t </client> 
 
</system.serviceModel>

+0

Il n'y a pas d'exception «pas de point final», elle peut avoir plusieurs causes. Lisez [ask] et [mcve], postez l'erreur dans son intégralité, ainsi que ce que vous avez essayé de résoudre. – CodeCaster

Répondre

0

Assurez-vous de modifier le type de liaison dans votre client. Les liaisons client et service doivent correspondre. Vous pouvez toujours utiliser svcutil pour obtenir les informations de configuration correctes pour un service.

<system.serviceModel> 
    <bindings> 
     <basicHttpsBinding> 
      <binding name="BasicHttpsBinding_Ipenergydata"> 
       <security mode="Transport"/> 
      </binding> 
     </basicHttpsBinding> 
    </bindings> 
    <client> 
     <endpoint address="https://wcfservices.myefaactweb.com/penergydata/penergydata.svc" binding="basicHttpsBinding" bindingConfiguration="BasicHttpsBinding_Ipenergydata" contract="penergydata.Ipenergydata" name="BasicHttpsBinding_Ipenergydata"/> 
    </client> 
</system.serviceModel> 
+0

Merci pour la réponse. Le client utilise .Net 3.5 et la balise n'est pas disponible. –