WCF Aufruf wirft: „Das angegebene URI-Schema‚http‘ist ungültig; erwartet ‚net.tcp‘.“Ausnahme

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

  •  16-09-2019
  •  | 
  •  

Frage

Ich habe einen WCF-Dienst in IIS7 gehostet werden.

Dies ist die app.config für meinen Dienst in IIS gehostet

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

Und unten ist die app.config in der Client, der den WCF-Dienst verweist.

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

Aus irgendeinem Grund habe ich immer noch „Die vorgesehenen URI-Schema‚http‘ist ungültig, erwartet‚net.tcp‘.“ Bekommen Ausnahme.

Ich kann nicht erklären, warum .....

War es hilfreich?

Lösung

Eigentlich stellt sich heraus, dass ich die mex Endpunkt fehlt ... woops

Andere Tipps

Möglicherweise dieses

<serviceMetadata httpGetEnabled="true" />

Sie fragen es HTTP auf einem TCP-Dienst zu aktivieren, die wie es scheint, könnte einige Probleme verursachen.

Mein Problem ist, dass die behaviorConfiguration in der web.config ist gelöscht , nachdem ich das die Service References aufzufrischen.

(My behaviorConfiguration verwendet eine clientVia Adresse statt einer Standard-Endpunkt-Adresse zu ermöglichen, die Firewall zu durchqueren).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top