[RESOLVIDO]NFS-e Contagem Geração Stub

Boa tarde,

Estou tentando implementar a NFSe para Contagem-MG, porem ao gerar as classes de cliente utilizando o wsdl http://teste.contagem.mg.gov.br/NFSEWSTESTE/Services.svc?wsdl

A classe de conexão não possui métodos de transmissão e cancelamento, somente de consulta.
Já gerei em diversas versões do axis, contudo o problema persiste.

Alguém poderia me ajudar.

Boa tarde,

Pelo que eu vi do WSDL, existe um método chamado RecepcionarLoteRPS que deveria existir na sua classe gerada.

Se for o caso sugiro entrar em contato com a prefeitura de contagem pelo site abaixo e ver se eles tem alguma documentação já que o ambiente de testes de algumas prefeituras podem não ter todas as funcionalidades da NFS-e.

http://www.contagem.mg.gov.br/?te=faleconosco

Ola @rub1,

pode ser algum erro no comando que está executando, com o wsimport faça assim:

Meu PC é linux …
./wsimport -keep -p be.com.teste -verbose http://teste.contagem.mg.gov.br/NFSEWSTESTE/Services.svc?wsdl

No windows deve ser a mesma coisa, só que sem ponto barra na frente
wsimport -keep -p be.com.teste -verbose http://teste.contagem.mg.gov.br/NFSEWSTESTE/Services.svc?wsdl

Pensou em usar a IDE para gerar para você? como a URL é de homologação e não utiliza SSL, fica bem simples, veja com o Netbeans:

Se por acaso utilizar o eclipse:

Hoje para gerar meus stubs eu geralmente uso plugins do maven, como o plugin do jaxb2, funciona bem senão necessita de muitas configurações, o legal é que se alterarem alguma propriedade execute um clean install e está tudo pronto.

1 curtida

@aix as 2 soluções que você postou funcionaram perfeitamente. Fiz o teste com as duas.
Mas acabou que descobrir como gerar os stubs da maneira que eu fiz anteriormente usando o wsdl2java.bat.

Pra quem precisar ai vai a solução( Vou tentar explicar da forma que entendo, pois não domino os conceitos de webservice até o momento ):

1 - O wsdl da prefeitura de contagem possui 2 port name.

<wsdl:port name=“basic_INFSEConsultas” binding=“tns:basic_INFSEConsultas”>
<soap:address location=“http://teste.contagem.mg.gov.br/NFSEWSTESTE/Services.svc”/>
</wsdl:port>
<wsdl:port name=“basic_INFSEGeracao” binding=“tns:basic_INFSEGeracao”>
<soap:address location=“http://teste.contagem.mg.gov.br/NFSEWSTESTE/Services.svc”/>
</wsdl:port>

2 - O axis 1.5.3, que a versão que estou usando, não gera os stubs para as duas portas com o comando que eu usava anteriormente: wsdl2java.bat -o destino -uri wsdl

3 - Lendo a documentação descobri que o parametro -ap gera as os métodos para todas as portas contudo não funcionou.

4 - A solucao entao foi usar o paramentro -pn especificando a porta. O comando ficou assim

wsdl2java.bat -o destino -uri wsdl -pn basic_INFSEGeracao

Obrigado pelo ajuda de todos.

1 curtida