Há alguém trabalhando com CT-e? Vi vários tópicos relacionados a NF-e, mas sobre CT-e não encontrei nada.
Eu estou começando a desenvolver, e pelo que estou vendo não há a mesma padronização em relação a NF-e.
Para o projeto de nota fiscal gerei as classes de consumo dos webservices a partir do wsimport, e consegui reutilizar as mesmas classes para diversos estados, apenas passando o endereço do webservice (não testei todos os estados).
Já para o conhecimento de transporte, consigo usar o wsimport para SP, mas não consegui utilizar as classes - creio que houve algum erro na geração.
Como minha maior urgência é para um cliente de MT, peguei os wsdl desse estado, e não consegui gerar as classes devido ao encoded não ser suportado por essa ferramenta.
Portanto, comecei a utilizar o Apache Axis. Consegui gerar as classes de consulta do status do serviço, envio o xml, mas recebo o erro 215: falha no schema.
Entretanto, o mesmo xml é considerado válido no validador de mensagens disponibilizado pela SEFAZ RS (http://www.sefaz.rs.gov.br/ASP/AAE_ROOT/CTE/SAT-WEB-CTE-VAL_1.asp). Inclusive para poder validar no RS peguei um erro no manual de integração versão 1.02, página 59, onde a tag “consStatServ” deve ser trocada pela tag “constStatServCte”. Porém, nenhum dos casos valida em MT.
E então, quem está desenvolvendo, em que passo está?
Tiveram problemas semelhantes?
javaCBA, mas qual a tag correta? “consStatServ” ou “constStatServCte” ?
Bom, de qualquer forma já tentei com ambas, e ainda dá erro. Abaixo o xml que estou enviando:
Então, eu estava fazendo assim anteriormente, e dava erro…
Voltei a fazer assim, enviei o xml igualzinho ao que você mandou, e ainda dá 215.
Bastante estranho :?
javaCBA, mais uma dúvida: em outro tópico, eu vi você falando que já trabalha com SP.
você gera as classes dos webservices na mão?
eu tive problemas com o wsimport, mas acho que com o axis seria viável…
achei no site do netBeans algo interessante: Vinculando WSDL a Java com JAXB (http://www.netbeans.org/kb/65/websvc/jaxb_pt_BR.html)
É perfeito, consigo utilizar com gets e sets, porem não consigo enviar para a Sefaz
no momento de enviar o CT-E:
Object objRet = new Object();
objRet = obj.createEnviCTe(tEnviCTe);
Porem retorna o codigo que mandei em xml.
Das duas uma: ou to utilizando o metodo errado, ou não to sabendo enviar.
fiz os downloads;
não conhecia a manipulação de xml e li :http://www.netbeans.org/kb/65/websvc/jaxb_pt_BR.html;
com o JaxB consegui setar os valores porem quando tento enviar retorna o xml com os campos que setei.
tEnviCTe - > contem um tenvicte que tem uma coleção de CTE
enviCte.ObjectFactory obj = new enviCte.ObjectFactory();
Object objRet = new Object();
objRet = obj.createEnviCTe(tEnviCTe);
Ou, seja: Não consigo enviar e ter uma resposta, pois não retorna erro.
Olá,
muito obrigado pela dica, estou seguindo o tutorial, porem não entendi uma parte:
CRIANDO O WSDL PARA O WEB SERVICE Definida a classe com a lógica de negócio que será publicada como um Web Service, o próximo passo é criar o descritor WSDL para o serviço. Com base no WSDL gerado, também serão geradas as classes que fazem a orquestração do acesso ao Web service, em conjunto com o Apache Axis. Certifique-se de ter as bibliotecas do Apache Axis configuradas corretamente no CLASSPATH, como demonstrado na introdução. Para gerar o WSDL utiliza-se a ferramenta Java2WSDL, do Apache Axis. A linha de comando para a geração do WSDL é a seguinte.
se for soh gerar o cliente, pula essa parte ai e usa o comando soh para gerar o cliente a partir da URL do web service. Ate entao achei que sua intencao era soh conectar com o web service do cte.
ta acontecendo porque vc nao carregou a classe, se vc tiver trabalhando diretamente no prompt, executa isso:
SET AXIS_HOME=c:/java/axis
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/axis.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/saaj.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/jaxrpc.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/commons-logging-1.0.4.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/commons-discovery-0.2.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/wsdl4j-1.5.1.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/activation.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/mail.jar
lembre-se que essas bibliotecas sao importante spara o funcionamento do axis
no meu caso uso ela na pasta java da raiz. Muda o diretorio do AXIS_HOME para apontar para o diretorio onde ta essas lib e pronto