GARANTIR DESCONTO

Fórum gnre RJ #499803

31/10/2014

0

Olá,

Estou precisando de ajuda para consumir o serviço do webservice GNRE RJ.

//http://www1.fazenda.rj.gov.br/projetoGCTBradesco/br/gov/rj/sef/gct/webservice/GerarDocumentoArrecadacaoWS.jws?WSDL

Alguem pode ajudar ?

Obtenho erro nesse trecho do codigo.

doc.setItensPagamentos(jaxbElement);
Frigorifico Sa

Frigorifico Sa

Responder

Posts

31/10/2014

Frigorifico Sa

Olá,

Estou precisando de ajuda para consumir o serviço do webservice GNRE RJ.

//http://www1.fazenda.rj.gov.br/projetoGCTBradesco/br/gov/rj/sef/gct/webservice/GerarDocumentoArrecadacaoWS.jws?WSDL

Alguem pode ajudar ?

Obtenho erro nesse trecho do codigo.

doc.setItensPagamentos(jaxbElement);


ant -f C:\\Users\\ricardoht\\Documents\\NetBeansProjects\\GNRErj run
init:
Deleting: C:\Users\ricardoht\Documents\NetBeansProjects\GNRErj\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\ricardoht\Documents\NetBeansProjects\GNRErj\build\built-jar.properties
wsimport-init:
wsimport-client-GerarDocumentoArrecadacaoWS:
files are up to date
wsimport-client-generate:
Compiling 1 source file to C:\Users\ricardoht\Documents\NetBeansProjects\GNRErj\build\classes
Note: C:\Users\ricardoht\Documents\NetBeansProjects\GNRErj\src\gnrerj\GNREcontroller.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
compile:
run:
Formated Date 2014-10-31
5195002000105
Exception in thread "main" java.lang.ClassCastException: gnrerj.client.ArrayOfItemPagamento$JaxbAccessorF_itemPagamento cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:184)
at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:176)
at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:267)
at com.sun.xml.internal.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:54)
at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:73)
at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:85)
at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:311)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148)
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:173)
at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:96)
at com.sun.xml.internal.ws.developer.JAXBContextFactory$1.createJAXBContext(JAXBContextFactory.java:98)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:151)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:143)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:84)
at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:235)
at com.sun.xml.internal.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:672)
at com.sun.xml.internal.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:660)
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:329)
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312)
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:294)
at javax.xml.ws.Service.getPort(Service.java:134)
at gnrerj.client.GerarDocumentoArrecadacaoWS_Service.getGerarDocumentoArrecadacaoWSSoapPort(GerarDocumentoArrecadacaoWS_Service.java:72)
at gnrerj.GNREcontroller.enviarDados(GNREcontroller.java:395)
at gnrerj.GNREcontroller.leituraJaxpXML(GNREcontroller.java:332)
at gnrerj.GNREcontroller.<init>(GNREcontroller.java:62)
at gnrerj.GNRErj.main(GNRErj.java:48)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 6 segundos)
Responder

Gostei + 0

31/10/2014

Frigorifico Sa

public class GNREcontroller {

private static String formataData(String info) throws DOMException, ParseException {
//todo
DateFormat emissaoFormat = new SimpleDateFormat("yyyy-MM-dd");
emissaoFormat.setLenient(false);
Date emissaoDate = emissaoFormat.parse(info);
Date myDateEmissao = new Date(emissaoDate.getTime());
String emissaoDataFormat = new SimpleDateFormat("dd/MM/yyyy").format(myDateEmissao);
return emissaoDataFormat;
}

public GNREcontroller() {
try {
leituraJaxpXML();
} catch (JAXBException ex) {
Logger.getLogger(GNREcontroller.class.getName()).log(Level.SEVERE, null, ex);
} catch (ParseException ex) {
Logger.getLogger(GNREcontroller.class.getName()).log(Level.SEVERE, null, ex);
}

}
private static ArrayOfDocumento documentos = new ArrayOfDocumento();
private static ArrayOfItemPagamento items = new ArrayOfItemPagamento();

/**
* @param args the command line arguments
*/

public static void leituraJaxpXML() throws JAXBException, ParseException {

DocumentBuilder builder = null;
Document document = null;

JAXBElement<ArrayOfItemPagamento> jaxbElement = new JAXBElement(
new QName(ArrayOfItemPagamento.class.getName()), ArrayOfItemPagamento.class, items);
//


JAXBContext ctx = JAXBContext.newInstance(ArrayOfItemPagamento.class);

// // create JAXB context and instantiate marshaller
Marshaller m = ctx.createMarshaller();

Emitente emitente = new Emitente();
emitente.setCnpjEmitente(Long.parseLong("0"));
emitente.setEmail(com.br");


try {

//Realizando o parser do XML para o objeto Document
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = builder.parse(new File("guias.xml"));

//Recuperando o elemento raiz
Element raiz = document.getDocumentElement();
NodeList contatos = raiz.getElementsByTagName("TDadosGNRE");

StringBuffer print = new StringBuffer();

Documento docGeral = new Documento();


//Navegando na estrutura do XML
for (int idItem = 0; idItem < contatos.getLength(); idItem++) {

Element contato = (Element) contatos.item(idItem);
NodeList infos = contato.getElementsByTagName("*");

print.append("\nContato: " + idItem);

Documento doc = new Documento();
ItemPagamento item = new ItemPagamento();

for (int idSubItem = 0; idSubItem < infos.getLength(); idSubItem++) {

Element info = (Element) infos.item(idSubItem);
print.append("\n\t" + info.getNodeName() + " = " + info.getFirstChild().getNodeValue());

doc.setTipoDocumento(1);
doc.setTipoPagamento(2);

String nomeCampo = info.getNodeName();

switch (nomeCampo) {
case "c33_dataPagamento":

String dataFormat = formataData(info.getFirstChild().getNodeValue());

doc.setDataPagamento(dataFormat);
item.setDataVencimento(dataFormat);
break;
case "c21_cepEmitente":
item.setCepContribuinte(Integer.parseInt(info.getFirstChild().getNodeValue()));
break;

case "CNPJ":
item.setCnpj(Long.parseLong(info.getFirstChild().getNodeValue()));
item.setNotaFiscalCnpj(Long.parseLong(info.getFirstChild().getNodeValue()));

break;
case "c26_produto":
item.setCodigoProduto(Long.parseLong("469"));

break;
case "dataEmissao":
String emissaoDataFormat = formataData(info.getFirstChild().getNodeValue());

Date geraData = new Date();

String DATE_FORMAT = "yyyy-MM-dd";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
String fatoData = formataData(sdf.format(geraData));
System.out.println("Formated Date " + sdf.format(geraData));

item.setDataFatoGerador(fatoData);
item.setNotaFiscalDataEmissao(emissaoDataFormat);
break;
case "**22_telefoneEmitente":
String Str = new String(info.getFirstChild().getNodeValue());
Str = Str.substring(0, 3);
item.setDddContribuinte(Integer.parseInt(Str));
String Str1 = new String(info.getFirstChild().getNodeValue());

Str1 = Str1.substring(3, 11);
System.err.println(Str);

item.setTelefoneContribuinte(Long.parseLong(Str1));
break;
case "periodo": //todo
item.setDiaVencimento(10);
item.setPeriodoReferenciaDecendio(idSubItem);
break;
case "endreco"://opcional
break;
case "c17_inscricaoEstadualEmitente":

item.setInscEstadualRJ(Integer.parseInt(info.getFirstChild().getNodeValue()));
break;
case "municipio":
break;
case "razaoSocial":
break;
case "c04_docOrigem":
Long nfe = Long.parseLong(info.getFirstChild().getNodeValue());
item.setNotaFiscalNumero(nfe);
BigInteger bi = BigInteger.valueOf(nfe.intValue());
item.setNumDocOrigem(bi);
item.setNumControleContribuinte(info.getFirstChild().getNodeValue());

break;
case "serie":

item.setNotaFiscalSerie(Integer.parseInt(info.getFirstChild().getNodeValue()));
item.setNotaFiscalTipo("NF-e");

break;
case "NumControleContribuinte":
break;

case "mes":
// item.setPeriodoReferenciaAno(Integer.parseInt(info.getFirstChild().getNodeValue()));
break;
case "ano":
// item.setPeriodoReferenciaAno(Integer.parseInt(info.getFirstChild().getNodeValue()));
break;
case "c06_valorPrincipal":
String value = info.getFirstChild().getNodeValue();
Double money = new Double(value);
item.setValorICMSPrincipal(money);

break;
case "c10_valorTotal":
String value1 = info.getFirstChild().getNodeValue();
Double money1 = new Double(value1);
item.setValorTotal(money1);

item.setValorFECPPrincipal(new Double("0"));


break;


default:
item.setInformacoesComplementares("FRIGO");

item.setNatureza(Long.parseLong("2"));


break;
}




}

item.setPassaporte("0");
item.setEnderecoContribuinte("0");
item.setCpf(Long.parseLong("0"));
item.setMunicipioContribuinte("");
item.setNomeRazaoSocial("");
item.setNotaFiscalCpf(Long.parseLong("0"));
item.setNaturezaQualificacao(Long.parseLong("0"));

item.setTipoApuracao(Integer.parseInt("0"));
item.setTipoPeriodoApuracao("");

item.setTelefoneContribuinte(Long.MIN_VALUE);

item.setUfContribuinte("RJ");

// items.getItemPagamento().add(item);

// System.out.println(item.toString());


items.getItemPagamento().add(item);

System.out.println(items.getItemPagamento().get(idItem).getCnpj());


jaxbElement.setValue(items);




doc.setItensPagamentos(jaxbElement);


documentos.getDocumento().add(doc);




enviarDados(emitente, documentos);





//http://www1.fazenda.rj.gov.br/projetoGCTBradesco/br/gov/rj/sef/gct/webservice/GerarDocumentoArrecadacaoWS.jws?WSDL

// System.out.println(print);
}




} catch (ParserConfigurationException e) {
System.out.println("Erro de parser");
e.printStackTrace();
} catch (SAXParseException e) {
System.out.println("Erro do parser SAX");
e.printStackTrace();
} catch (SAXException e) {
System.out.println("Erro no SAX");
e.printStackTrace();
} catch (IOException e) {
System.out.println("Erro de I/O");
e.printStackTrace();
}
}

private static ChamadaDadosWebServiceRefLote enviarDados(gnrerj.client.Emitente emitente, gnrerj.client.ArrayOfDocumento documentos) {

System.setProperty("https.proxyHost", "0.0.0.0");
System.setProperty("https.proxyPort", "0");
System.setProperty("https.proxyUser", "0");
System.setProperty("https.proxyPassword", "0");


gnrerj.client.GerarDocumentoArrecadacaoWS_Service service = new gnrerj.client.GerarDocumentoArrecadacaoWS_Service();
gnrerj.client.GerarDocumentoArrecadacaoWS port = service.getGerarDocumentoArrecadacaoWSSoapPort();
return port.enviarDados(emitente, documentos);
}

private static ChamadaDadosDocArrecadacaoWebService enviarDadosAuto(gnrerj.client.DocumentoAuto documento) {
gnrerj.client.GerarDocumentoArrecadacaoWS_Service service = new gnrerj.client.GerarDocumentoArrecadacaoWS_Service();
gnrerj.client.GerarDocumentoArrecadacaoWS port = service.getGerarDocumentoArrecadacaoWSSoapPort();
return port.enviarDadosAuto(documento);
}

private static ConsultaDadosWebService consultarDados(java.lang.Long cnpj, java.lang.String idSessao) {
gnrerj.client.GerarDocumentoArrecadacaoWS_Service service = new gnrerj.client.GerarDocumentoArrecadacaoWS_Service();
gnrerj.client.GerarDocumentoArrecadacaoWS port = service.getGerarDocumentoArrecadacaoWSSoapPort();
return port.consultarDados(cnpj, idSessao);
}
}
Responder

Gostei + 0

01/11/2014

Frigorifico Sa

Resolvido a questão acima.

O problema era versão.

Agora estou com este problema:

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection timed out: connect
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:117)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:194)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:308)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:163)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
at com.sun.proxy.$Proxy30.enviarDados(Unknown Source)
at gnrerj.GNREcontroller.enviarDados_1(GNREcontroller.java:363)
at gnrerj.GNREcontroller.leituraJaxpXML(GNREcontroller.java:281)
at gnrerj.GNREcontroller.<init>(GNREcontroller.java:76)
at gnrerj.GNRErj.main(GNRErj.java:21)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient$1.run(HttpClient.java:484)
at sun.net.www.http.HttpClient$1.run(HttpClient.java:482)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:481)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:522)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:975)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:105)
... 17 more
Java Result: 1
Responder

Gostei + 0

12/11/2014

Webconsultoria

Ricardo,

Você conseguiu fazer a comunicação completa ?
Nós trabalhamos com PHP e esse webservice é o único que não conseguimos trabalhar, até a NFe que é mais complexa fizemos com sucesso.

Abraço !

Cristemir
Responder

Gostei + 0

12/11/2014

Frigorifico Sa

Cristemir,

Consegui ontem com o eclipse, tentei com o NetBeans 7.3 e 7.4 sem sucesso.

Acertei o endereço conforme abaixo, agora estou tratando o retorno.

// Use to get a proxy class for GerarDocumentoArrecadacaoWSSoapPort
private java.lang.String GerarDocumentoArrecadacaoWSSoapPort_address = "http://www1.fazenda.rj.gov.br/projetoGCTBradesco/br/gov/rj/sef/gct/webservice/GerarDocumentoArrecadacaoWS.jws?wsdl";

Abraço !

Ricardo
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar