2017-05-26 2 views
0

Mein WCF-Dienst funktionierte, bis ich zwei Änderungen vornahm. Wenn ich es im Debug-Modus laufe, erhalte ich keine Fehler, aber wenn ich es in der Produktion einsetze, bekomme ich die Ausnahme "Kein Endpunkt". Ich habe die Hinweise in anderen Posts befolgt, aber keine Änderung. Kann mir jemand helfen, das herauszufinden?

1. Es wurde ein Verfahren, das einen String und ein Byte-ArraySystem.ServiceModel.EndpointNotFoundException: Es gab keinen Endpunkt, der auf konfigurierte URL lauscht

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

 

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


2. Hinzugefügter Abschnitt zum web.config so größere Nachrichten akzeptiert gesendet werden konnte

WCF-Servicekonfiguration

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

Client-Konfiguration

<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

Es gibt keine "die" Keine Endpunkt Ausnahme, es kann mehrere Ursachen haben. Lies [ask] und [mcve], poste den Fehler vollständig und was genau du versucht hast, um es zu lösen. – CodeCaster

Antwort

0

Stellen Sie sicher, Ihren Bindungstyp in Ihrem Client ändern. Die Client- und Service-Bindungen müssen übereinstimmen. Sie können immer svcutil verwenden, um die richtigen Konfigurationsinformationen für einen Dienst zu erhalten.

<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

Danke für die Antwort. Der Client verwendet .Net 3.5 und das -Tag ist nicht verfügbar. –

Verwandte Themen