La propriété Address sur ChannelFactory.Endpoint était null. Le terminal de ChannelFactory doit avoir une adresse valide spécifiée
-
07-07-2019 - |
Question
Je reçois l'erreur suivante et je ne suis pas sûr de ce que je fais mal. Est-ce que quelqu'un voit quelque chose d'évident? Vous trouverez ci-dessous le fichier Web.config de mon projet et le fichier App.config de ma bibliothèque de classes WCF
.La propriété Address sur ChannelFactory.Endpoint était null. le Le point de terminaison de ChannelFactory doit avoir un Adresse valide spécifiée.
APP.CONFIG SUR SERVEUR (DANS MA BIBLIOTHEQUE DE CLASSES)
<system.serviceModel>
<services>
<service behaviorConfiguration="Default" name="Trezoro.WebAPI.Trade.TradeService">
<endpoint address="" behaviorConfiguration="WebEPBehavior" binding="webHttpBinding"
contract="ITradeService" name="WebHttpBinding_ITradeService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/tradeservice/" />
</baseAddresses>
</host>
</service>
<service behaviorConfiguration="Default" name="Trezoro.WebAPI.Authentication.AuthService">
<endpoint address="" behaviorConfiguration="WebEPBehavior" binding="webHttpBinding"
contract="IAuthService" name="WebHttpBinding_IAuthService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8081/authservice" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="WebEPBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="Default">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
PROJET WEB.CONFIG IN WEB
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<bindings>
<customBinding>
<binding name="WebHttpBinding_IAuthService">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
<binding name="WebHttpBinding_ITradeService">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
</bindings>
<client>
<endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_IAuthService"
contract="IAuthService" name="WebHttpBinding_IAuthService" />
<endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_ITradeService"
contract="ITradeService" name="WebHttpBinding_ITradeService" />
</client>
</system.serviceModel>
La solution
Il manque une adresse à votre terminal client.
Autres conseils
Ajoutez simplement un attribut d'adresse pour la balise de point de terminaison côté client (extrémité consommatrice).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow