none
WCF configurar NetTcpBinding RRS feed

  • Pergunta

  • Boa tarde.

    Estou tentando conectar um aplicativo "A"  a um web app "B" que estou desenvolvendo, a partir de um endereço net.tcp, porém todas as vezes que tento fazer a referencia de serviço ao meu aplicativo "A" estou tendo a seguinte mensagem:

    Prefixo URI não reconhecido.
    O metadados contém uma referência que não pode ser resolvida: 'net.tcp://localhost/GESTORWCF/WS/Service1.svc'.
    Não havia um ponto de extremidade em escuta em net.tcp://localhost/GESTORWCF/WS/Service1.svc capaz de aceitar a mensagem. Em geral, isso é causado por um endereço ou ação de SOAP incorreta. Consulte InnerException, se presente, para obter mais detalhes.
    Se o serviço está definido na solução atual, tente compilar a solução e adicionar a referência de serviço novamente.

    Já dei uma olhada pela internet, para ver se encontro uma solução, porém até agora não consegui ir para frente.

    Segue o XML do app "B", do lado do Servidor:

    <?xml version="1.0"?>
    <configuration>

      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5"/>
      </system.web>
      <system.serviceModel>
        <bindings>
          <wsHttpBinding>
            <binding name="wsHttpBindingConfiguration" transactionFlow="true">
            </binding>
          </wsHttpBinding>
          <netTcpBinding>
            <binding name="tcpWithMessageSecurity" portSharingEnabled="true" 
                     hostNameComparisonMode="StrongWildcard"
                     maxReceivedMessageSize="2147483647">
              <readerQuotas maxDepth="64"
                            maxStringContentLength="2147483647"
                            maxArrayLength="2147483647"
                            maxBytesPerRead="4096"
                            maxNameTableCharCount="16384"/>
              
              <security mode="None" >
                <message clientCredentialType="None" />
                <transport protectionLevel="None" />
                <!--<transport clientCredentialType="None" protectionLevel="None" />-->
              </security>
            </binding>
          </netTcpBinding>
        </bindings>
        <services>
          <service name="WCF_GestorAsync.Embalagem" behaviorConfiguration="MyBehavior">
            <host>
              <baseAddresses>
                <add baseAddress="net.tcp://192.168.10.131/ws/Service1.svc"/>
              </baseAddresses>
            </host>
            <endpoint address="net.tcp://192.168.10.131/ws/Service1.svc" binding="netTcpBinding" bindingConfiguration="tcpWithMessageSecurity" contract="WCF_GestorAsync.IEmbalagem" />

            <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
            <endpoint address="pqr" binding="netTcpBinding" name="TCP" contract="WCF_GestorAsync.IEmbalagem" />
            <endpoint address="mxe" binding="wsHttpBinding" bindingConfiguration="wsHttpBindingConfiguration" contract="WCF_GestorAsync.IEmbalagem" />
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="MyBehavior">
              <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
              <serviceDebug includeExceptionDetailInFaults="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"/-->
              <serviceCredentials>
                <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="WCF_GestorAsync.UserNamePassValidator, WCF_GestorAsync"/>
              </serviceCredentials>
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
      </system.serviceModel>
      <system.webServer>

        <modules runAllManagedModulesForAllRequests="true"/>
        <!--
            To browse web app root directory during debugging, set the value below to true.
            Set to false before deployment to avoid disclosing web app folder information.
          -->
        <directoryBrowse enabled="true"/>
      </system.webServer>

    </configuration>


    Agradeço a ajuda.
    Desde já, Glenn.

    segunda-feira, 3 de julho de 2017 18:17