Usuário com melhor resposta
ERRO ADICIONAR WEB SERVICE SEFAZ VS 2015/2017, SERIA BUG ?

Pergunta
-
Alguém poderia dar uma dica como resolver caso tenha passado por isso:
Estou tendo um problema ao adicionar referencia de web service, na VS versao 2015 e na VS versao 2017, entretanto nas versões VS 2013 e VS 2010 funciona corretamente.
Abaixo segue a resposta do web service SEFAZ ao fazer referencia.
O que me deixa mais intrigado, é que nas versões vs 2010, vs 2013 funciona corretamente, sendo que estas versões estão instaladas na mesma maquina
There was an error downloading 'https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx/$metadata'.
The underlying connection was closed: An unexpected error occurred on a send.
Unable to read data from the transport connection: Foi forçado o cancelamento de uma conexão existente pelo host remoto.
Foi forçado o cancelamento de uma conexão existente pelo host remoto
Metadata contains a reference that cannot be resolved: 'https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx'.
An error occurred while making the HTTP request to https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.
The underlying connection was closed: An unexpected error occurred on a send.
Unable to read data from the transport connection: Foi forçado o cancelamento de uma conexão existente pelo host remoto.
Foi forçado o cancelamento de uma conexão existente pelo host remoto
If the service is defined in the current solution, try building the solution and adding the service reference again.
Respostas
-
Obrigado pelas dicas Rafael.
Existem varios posts na internet sobre este tipo de problema, porem nenhum deles fala como foi resolvido.
Eu consegui resolver da seguinte forma.
As versões do Visual Studio a partir da versão 2015 tem alguma peculiaridade que para adicionar web service SEFAZ ou outro que tenha os mesmos protocolos de segurança como os da SEFAZ é necessário fazer as atualizações de segurança do windows.
Após fazer as devidas atualizações, finalmente consegui adicionar o web service sem problema.
Fica ai a dica para outras pessoas que estão passando por isso.
- Editado Georgenes Geo quinta-feira, 15 de fevereiro de 2018 17:07
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 19:50
Todas as Respostas
-
Boa tarde, Georgenes Geo. Tudo bem?
Obrigado por usar o fórum MSDN.
O erro persiste? Conseguiu algum avanço no caso?
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Olá Georgenes Geo
Tudo bem?
pelo que estou vendo é problema de certificado, para acessar é necessário um certificado digital, outro detalhe é o WSDL, tente sempre usar assim:
https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx?WSDL
Mas no demais é apenas o certificado!Abraços, e espero que já tenha resolvido.
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Microsoft Developer .NET
Microsoft Certified Professional
Development Leader at JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -
Não é o certificado.
Ja testei com varios outros certificados e formatei a maquina 2xComo eu disse, tenho o Visual Studio 2010 e o 2017 instalado na mesma maquina e mesmo ambiente, entretando no VS 2010 ate a versao VS 2013 funciona, na VS 2015 e 2017 NÃO funciona.
Dessa forma consigo acessar o WSDL, porem como faço para criar as classes ?
Detalhe que a SEFAZ mudou o protocolo para TLS 1.2, nao sei se tem alguma coisa haver.
https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx?WSDL- Editado Georgenes Geo quarta-feira, 14 de fevereiro de 2018 12:20
-
-
Olá Georgenes Geo
Eu estou conseguindo acesso a essas informações normalmente. Tanto faz pelo browser ou Visual Studio.
Quando você importa automaticamente a classe é gerada!
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Microsoft Developer .NET
Microsoft Certified Professional
Development Leader at JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -
Não é o certificado.
Ja testei com varios outros certificados e formatei a maquina 2xComo eu disse, tenho o Visual Studio 2010 e o 2017 instalado na mesma maquina e mesmo ambiente, entretando no VS 2010 ate a versao VS 2013 funciona, na VS 2015 e 2017 NÃO funciona.
Dessa forma consigo acessar o WSDL, porem como faço para criar as classes ?
Detalhe que a SEFAZ mudou o protocolo para TLS 1.2, nao sei se tem alguma coisa haver.
https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx?WSDL
A maioria usa o TLS 1.2 / SSL por motivo de segurança, mais isso não tem nada a ver.
Não costumo fazer isso, mais como sei que é coisa de sefaz, tributação.... impostos.. posso lhe ajudar remotamente se precisar.
Caso queira me contate a noite por e-mail: ralms@ralms.net
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Microsoft Developer .NET
Microsoft Certified Professional
Development Leader at JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -
-
-
-
Olá Georgenes Geo
Segue informações:
Microsoft Visual Studio Community 2017
Versão 15.5.6
VisualStudio.15.Release/15.5.6+27130.2027
Microsoft .NET Framework
Versão 4.7.02556
Versão Instalada: Community
Podemos fazer essa chamada automatizada, caso não consiga.
Eu utilizo a seguinte classe para consumir o webservice:
using Proxy.Interfaces; using System.Net; using System.Security.Cryptography.X509Certificates; using System.Web.Services; using System.Web.Services.Description; using System.Web.Services.Protocols; using System.Xml; using System.Xml.Serialization; namespace Transmissao.NFe { [WebServiceBinding(Name = "NfeAutorizacao4Soap", Namespace = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4")] public class NFeAutorizacaoWSDL400 : SoapHttpClientProtocol, NFeService { public NFeAutorizacaoWSDL400(string url, X509Certificate certificado, int timeOut) { SoapVersion = SoapProtocolVersion.Soap12; Url = url; Timeout = timeOut; ClientCertificates.Add(certificado); } [SoapDocumentMethod("http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Bare)] [WebMethod(MessageName = "nfeAutorizacaoLote")] [return: XmlElement("nfeResultMsg", Namespace = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4", IsNullable = true)] public XmlNode Transmitir([XmlElement(Namespace = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4")] XmlNode nfeDadosMsg) { ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; var results = Invoke("nfeAutorizacaoLote", new object[] { nfeDadosMsg }); return ((XmlNode)(results[0])); } [SoapDocumentMethod("http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao/nfeAutorizacaoLoteZip4", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Bare)] [WebMethod(MessageName = "nfeAutorizacaoLoteZip")] [return: XmlElement("nfeResultMsg", Namespace = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4", IsNullable = true)] public XmlNode TransmitirZipado([XmlElement(Namespace = "http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4")] string nfeDadosMsgZip) { var results = Invoke("nfeAutorizacaoLoteZip", new object[] { nfeDadosMsgZip }); return ((XmlNode)(results[0])); } } }
using System.Xml; namespace Proxy.Interfaces { public interface NFeService { XmlNode Transmitir(XmlNode nfeDadosMsg); XmlNode TransmitirZipado(string nfeDadosMsgZip); } }
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Microsoft Developer .NET
Microsoft Certified Professional
Development Leader at JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -
Obrigado pelas dicas Rafael.
Existem varios posts na internet sobre este tipo de problema, porem nenhum deles fala como foi resolvido.
Eu consegui resolver da seguinte forma.
As versões do Visual Studio a partir da versão 2015 tem alguma peculiaridade que para adicionar web service SEFAZ ou outro que tenha os mesmos protocolos de segurança como os da SEFAZ é necessário fazer as atualizações de segurança do windows.
Após fazer as devidas atualizações, finalmente consegui adicionar o web service sem problema.
Fica ai a dica para outras pessoas que estão passando por isso.
- Editado Georgenes Geo quinta-feira, 15 de fevereiro de 2018 17:07
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 19:50
-
Obrigado pelas dicas Rafael.
Existem varios posts na internet sobre este tipo de problema, porem nenhum deles fala como foi resolvido.
Eu consegui resolver da seguinte forma.
As versões do Visual Studio a partir da versão 2015 tem alguma peculiaridade que para adicionar web service SEFAZ ou outro que tenha os mesmos protocolos de segurança como os da SEFAZ é necessário fazer as atualizações de segurança do windows.
Após fazer as devidas atualizações, finalmente consegui adicionar o web service sem problema.
Fica ai a dica para outras pessoas que estão passando por isso.
Fico feliz por ter conseguido!
E também por você ter compartilhado a solução.
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Microsoft Developer .NET
Microsoft Certified Professional
Development Leader at JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn - Twitter -