WCF llamada lanza: “El esquema URI proporcionado 'http' no es válido; espera 'net.tcp'.”excepción
-
16-09-2019 - |
Pregunta
Tengo un servicio de WCF alojado en IIS 7.
Este es el app.config para mi servicio alojado en IIS
<system.serviceModel>
<bindings />
<services>
<service behaviorConfiguration="querierSearch.Querier.WCF.QuerierBehavior"
name="querierSearch.Querier.WCF.Querier">
<endpoint
address="net.tcp://localhost:808/querierSearch.Querier.WCF/Querier.svc"
binding="netTcpBinding" bindingConfiguration="" name="EndPointTCP"
contract="querierSearch.Querier.WCF.IQuerier" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="querierSearch.Querier.WCF.QuerierBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Y a continuación es el app.config en el cliente que hace referencia al servicio WCF.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="EndPointTCP" closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="524288"
maxBufferSize="65536" maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
axArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows"
protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost/Search.Querier.WCF/Querier.svc"
binding="netTcpBinding" bindingConfiguration="EndPointTCP"
contract="SearchQueryService.IQuerier"
name="EndPointTCP">
<identity>
<userPrincipalName value="joeuser@company.com" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
Por alguna razón todavía consigo "El esquema URI proporcionado 'http' no es válido; esperada 'net.tcp'." excepción.
No puedo entender por qué .....
Solución
En realidad resulta que me faltaba el punto final mex ... woops
Otros consejos
Posiblemente esto
<serviceMetadata httpGetEnabled="true" />
Usted está solicitando que habilitar HTTP en un servicio TCP, que parece que podría causar algunos problemas.
Mi problema es que el behaviorConfiguration
en el web.config es borrado después de actualizar la del Service References
.
(Mi behaviorConfiguration
utiliza una dirección clientVia
en lugar de una dirección de punto final estándar para que pueda atravesar el cortafuegos).