none
WCF NamedPipe RRS feed

  • Pergunta

  • Boas. Help! :)


    Problema:

    var proxy = new FeederServiceClient();
    var instance = proxy.GetInstance();

    There was no endpoint listening at net.pipe://localhost/Fator.Feeder.WcfSingleManagement/ that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

    INNER EXCEPTION está NULL.

    Service:

      <system.serviceModel>
        <bindings>
          <netNamedPipeBinding>
            <binding name="FeederNamedPipeBinding" />
          </netNamedPipeBinding>
        </bindings>
        <services>
          <service behaviorConfiguration="FeederBehavior" name="Fator.Feeder.WcfSingleManagement.FeederService">
            <endpoint address="net.pipe://localhost/Fator.Feeder.WcfSingleManagement/"
              binding="netNamedPipeBinding" bindingConfiguration="FeederNamedPipeBinding"
              contract="Fator.Feeder.WcfSingleManagement.IFeederService">
            </endpoint>
            <endpoint address="mex" binding="mexNamedPipeBinding" bindingConfiguration=""
              contract="IMetadataExchange" />
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="FeederBehavior">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    Client:

      <system.serviceModel>
        <bindings>
          <netNamedPipeBinding>
            <binding name="NetNamedPipeBinding_IFeederService" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
              hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288"
              maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <security mode="Transport">
                <transport protectionLevel="None" />
              </security>
            </binding>
          </netNamedPipeBinding>
        </bindings>
        <client>
          <endpoint address="net.pipe://localhost/Fator.Feeder.WcfSingleManagement/"
            binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IFeederService"
            contract="FeederManagementService.IFeederService" name="NetNamedPipeBinding_IFeederService">
            <identity>
              <servicePrincipalName value="host/MARCELPIVA-NB" />
            </identity>
          </endpoint>
        </client>
      </system.serviceModel>

    Abs.,
    Marcel Piva

    Marcel Piva
    quarta-feira, 21 de julho de 2010 14:01

Respostas

  • Boas Marcel,

    Com esse tipo de erro, o problema deve ser que o endereço não está sendo localizado.

    Quando você hospeda no IIS, o arquivo *.svc é o endpoint, ou seja, você não precisa colocar nada no atributo address na configuração do seu serviço:

    <endpoint
              address=""
              binding="netNamedPipeBinding" bindingConfiguration="FeederNamedPipeBinding"
              contract="Fator.Feeder.WcfSingleManagement.IFeederService">

    Já do lado do cliente, o endereço deve ficar qualquer coisa como:

    <endpoint address="net.pipe://localhost/TuaAppNoIIS/TeuArquivo.svc" ... />
    http://www.israelaece.com

    Eu apaguei o projeto, recriei e funcionou.

    Acho que botei alguma "virgula" em algum lugar e não estava conseguindo detectar.

    Valeu pela força!

     

    Aproveitando, estou com outro problema:

    http://social.msdn.microsoft.com/Forums/pt-BR/wcfpt/thread/bbcccf13-b065-4d83-afd6-e823e3bd02f5

     

    Abs.,

    Marcel Piva

     


    Marcel Piva
    quarta-feira, 21 de julho de 2010 18:07

Todas as Respostas

  • Olá Marcel,

    o net.pipe só pode ser acessado da mesma maquina. Tudo bem? E só pode ser acessado uma unica vez por maquina, assim não é possivel ter dois endereço com o mesmo nome.

    Pode ser isto que está  acontecendo.

    Espero que ajude.

     

     

    quarta-feira, 21 de julho de 2010 14:15
  • Olá Marcel,

    o net.pipe só pode ser acessado da mesma maquina. Tudo bem? E só pode ser acessado uma unica vez por maquina, assim não é possivel ter dois endereço com o mesmo nome.

    Pode ser isto que está  acontecendo.

    Espero que ajude.

     

     

    Paulo, acho que você nao entendou o POST, é a configuração do POST e configuração do SERVER.

     

    Abs.,

    Marcel Piva


    Marcel Piva
    quarta-feira, 21 de julho de 2010 14:18
  • Boas Marcel,

    Você está com o serviço no ar?

    Outro detalhe: você definiu o atributo httpGetEnabled para True, mas você não tem nenhum baseAddress definido como HTTP.
    http://www.israelaece.com
    quarta-feira, 21 de julho de 2010 14:24
    Moderador
  • Boas Marcel,

    Você está com o serviço no ar?

    Outro detalhe: você definiu o atributo httpGetEnabled para True, mas você não tem nenhum baseAddress definido como HTTP.
    http://www.israelaece.com

    Sim, está no AR, fui no IIS e configurei net.pipe e http.

    Através do HTTP até aparece o serviço.

    E como pode ver no .CONFIG do serviço está ativo.

    <serviceMetadata httpGetEnabled="true" />


    Marcel Piva
    quarta-feira, 21 de julho de 2010 14:27
  • Você já tentou colocar no config do serviço.


    <endpoint address="net.pipe://localhost/Fator.Feeder.WcfSingleManagement/"
              binding="netNamedPipeBinding" bindingConfiguration="FeederNamedPipeBinding"
              contract="Fator.Feeder.WcfSingleManagement.IFeederService">
    <identity>
              <servicePrincipalName value="host/MARCELPIVA-NB" />
    </identity>
    </endpoint>

    ou tenta só trocar no cliente e no servidor para.

    <identity>
                <dns value="localhost" />
    </identity>
    quarta-feira, 21 de julho de 2010 15:03
  • Boas Marcel,

    Com esse tipo de erro, o problema deve ser que o endereço não está sendo localizado.

    Quando você hospeda no IIS, o arquivo *.svc é o endpoint, ou seja, você não precisa colocar nada no atributo address na configuração do seu serviço:

    <endpoint
              address=""
              binding="netNamedPipeBinding" bindingConfiguration="FeederNamedPipeBinding"
              contract="Fator.Feeder.WcfSingleManagement.IFeederService">

    Já do lado do cliente, o endereço deve ficar qualquer coisa como:

    <endpoint address="net.pipe://localhost/TuaAppNoIIS/TeuArquivo.svc" ... />
    http://www.israelaece.com
    quarta-feira, 21 de julho de 2010 15:29
    Moderador
  • Boas Marcel,

    Com esse tipo de erro, o problema deve ser que o endereço não está sendo localizado.

    Quando você hospeda no IIS, o arquivo *.svc é o endpoint, ou seja, você não precisa colocar nada no atributo address na configuração do seu serviço:

    <endpoint
              address=""
              binding="netNamedPipeBinding" bindingConfiguration="FeederNamedPipeBinding"
              contract="Fator.Feeder.WcfSingleManagement.IFeederService">

    Já do lado do cliente, o endereço deve ficar qualquer coisa como:

    <endpoint address="net.pipe://localhost/TuaAppNoIIS/TeuArquivo.svc" ... />
    http://www.israelaece.com

    Eu apaguei o projeto, recriei e funcionou.

    Acho que botei alguma "virgula" em algum lugar e não estava conseguindo detectar.

    Valeu pela força!

     

    Aproveitando, estou com outro problema:

    http://social.msdn.microsoft.com/Forums/pt-BR/wcfpt/thread/bbcccf13-b065-4d83-afd6-e823e3bd02f5

     

    Abs.,

    Marcel Piva

     


    Marcel Piva
    quarta-feira, 21 de julho de 2010 18:07