WCF llamada lanza: “El esquema URI proporcionado 'http' no es válido; espera 'net.tcp'.”excepción

StackOverflow https://stackoverflow.com/questions/1474134

  •  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é .....

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top