Olá a todos, estou com um grande problema quebrando minha cabeça. Consegui consumir o Webservice StatusServico do Sefaz-GO. Porém os outros webservices dão o seguinte erro quando vou conectar:
SEVERE: null
org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at javaxml.nfe.webservice.go.NfeInutilizacao2Stub.nfeInutilizacaoNF2(NfeInutilizacao2Stub.java:196)
at javaxml.nfe.webservice.go.Inutilizacao.<init>(Inutilizacao.java:59)
at javaxml.nfe.webservice.go.Inutilizacao.main(Inutilizacao.java:65)
Caused by: org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI
Minha classe:
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package javaxml.nfe.webservice.go;
import java.rmi.RemoteException;
import javax.xml.stream.XMLStreamException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.llom.util.AXIOMUtil;
import org.apache.axis2.AxisFault;
public class Inutilizacao {
public Inutilizacao() throws AxisFault, XMLStreamException, RemoteException {
new SegurancaCertificado();
NfeInutilizacao2Stub stub = new NfeInutilizacao2Stub();
NfeInutilizacao2Stub.NfeDadosMsg dados = new NfeInutilizacao2Stub.NfeDadosMsg();
String s = "<inutNFe versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">"
+ "<infInut Id=\"ID31107647234900043055001000000101000000101\">"
+ "<tpAmb>2</tpAmb>"
+ "<xServ>INUTILIZAR</xServ>"
+ "<cUF>52</cUF>"
+ "<ano>10</ano>"
+ "<CNPJ>76472349000430</CNPJ>"
+ "<mod>55</mod>"
+ "<serie>1</serie>"
+ "<nNFIni>101</nNFIni>"
+ "<nNFFin>101</nNFFin>"
+ "<xJust>Ocorreu uma falha no sistema que pulou a sequencia de numeracao</xJust>"
+ "</infInut>"
+ "</inutNFe>";
OMElement el;
el = AXIOMUtil.stringToOM(s);
dados.setExtraElement(el);
NfeInutilizacao2Stub.NfeCabecMsg cab = new NfeInutilizacao2Stub.NfeCabecMsg();
cab.setVersaoDados("2.00");
cab.setCUF("52");
NfeInutilizacao2Stub.NfeCabecMsgE cabE = new NfeInutilizacao2Stub.NfeCabecMsgE();
cabE.setNfeCabecMsg(cab);
System.out.println(stub.nfeInutilizacaoNF2(dados , cabE).getExtraElement());
}
public static void main(String[] args) {
try {
new Inutilizacao();
} catch (AxisFault ex) {
Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
} catch (XMLStreamException ex) {
Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
} catch (RemoteException ex) {
Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Pelo que li por aí, é problema com o cabeçalho do soap, parece que estou mandando a mensagem na versão 1.2 e o webservice está esperando 1.1, ou algo parecido. Se álguem souber como resolver isso por favor me ajude, estou meio perdido com esse problema. Vlw!