Caros,
Como já foram mais de 10 pessoas me perguntando sobre problema de acesso, resolvi fazer duas observações mais comuns:
1º) Caso... VS 2005 com .Net Framework 2.0.
A classe que o VS cria ao referenciar o WS fica BEEEEM diferente da do exemplo... Nesse ambiente não conseguia fazer o ADD do certificado de comunicação no ClientCertifocates, como sugiro no exemplo e passei a receber erros 403 (conforme relatado por alguns)...
Consegui contornar esse problema, na classe gerada pelo VS que implementa uma interface "SoapHttpClientProtocol" com a referencia ao próprio WS. No construtor da classe, alterei uma propriedade privada "useDefaultCredentialsSetExplicitly" para “True” e uma propriedade pública "UseDefaultCredentials" para "FALSE" , pois credencial padrão continha as minhas credenciais de rede (???) e parece que isso que causava o erro, depois disso, tudo funcionou bem. Isso está meio marretado, sugiro pesquisar mais sobre esse problema e se alguém tiver uma solução melhor, faça um comentário, por favor, pois não vou me aprofundar muito nisso...
2º) Ambientes mais recentes (VS 2008/2010 com .Net Framework 3.5 e 4.0)
O projeto de exemplo está funcionando perfeitamente, tentem observar todos os aspectos de configuração da aplicação, não só as classes que consomem os serviços. Repare nos atributos presentes no "app.config" em especial para problemas de acesso, não esquecer de definir o "clientCredentialType" como "Certificate".
Olá,
ResponderExcluirEstou implementando com VS2010 os métodos para envio do lote RPS e estou tendo o seguinte erro:
There was no endpoint listening at https://homologacao.notacarioca.rio.gov.br/WSNacional/nfse.asmx that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Alguém poderia ajudar?
Quando você "joga" esse link no seu browser, ele solicita seu certificado digital ou já dá erro "403 - Forbidden: Access is denied."?
ResponderExcluirCaso não tenha problema, apague as referências existentes ao endereço do serviço e tente registra-lo novamente em sua aplicação (não esqueça de estar com o certificado na hora do registro). O VS é meio bagunceiro e não APAGA as referencias antigas, mas acaba criando novas referencias com nomes diferentes... Pode ser algum problema com essas referências.
Abraços...
Apoema,
ResponderExcluirAo tentar o enviar lote em modo de produção, está sendo retornada a seguinte mensagem de erro:
Uma seção de configuração do ponto de extremidade para o contrato 'NFSE_ServiceReference.NfseSoap' não pôde ser carregada porque mais de uma configuração de ponto de extremidade para esse contrato foi encontrada. Indique a seção de configuração do ponto de extremidade preferida pelo nome.
por que será que em modo de homologação funciona e em modo de produção não?
ps: consumi o web service usando o visual studio 2008
Olha... Isso está com cara de configuração da sua aplicação. Dê uma olhada no app.config e veja se na sua aplicação que está apontando para produção, existe apenas UMA entrada com o nome de "NFSE_ServiceReference". Esse erro acontecei comigo a um tempo atrás, qdo tive que atualizar a referencia do WS e em vez de atualizar a configuração existente, o VS criou uma OUTRA configuração com o mesmo nome e gerou esse erro que vc está relatando. Abs...
ResponderExcluir