@Lastsc2try escreveu:
Olá.
Estou com dificuldade para entender um conceito de WebService, no caso estou tentando utilizar o WebSerivce de consulta de Cupom de São Paulo.
Em algumas tópicos aqui do fórum já peguei umas referências e me passaram para após gerar as classes do WSDLpublic class Main { public static void main(String[] args) throws NamingException, JAXBException, ParserConfigurationException, SOAPException, FileNotFoundException, IOException { ArquivoCF arquivoCF = new ArquivoCF(); ArquivoCFSoap12 arquivoCFSoap12 = arquivoCF.getArquivoCFSoap12(); arquivoCFSoap12.consultar("000000000"); } }
Quando eu executo esse método o eclipse me da a exception:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Server was unable to process request. ---> Object reference not set to an instance of an object. at com.sun.xml.internal.ws.fault.SOAP12Fault.getProtocolException(Unknown Source) at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(Unknown Source) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source) at com.sun.proxy.$Proxy26.consultar(Unknown Source) at https.www_nfp_sp_gov_br.w.Main.main(Main.java:30)
Eu fiz um teste no SOAPUI e ele apresenta essa mensagem quando não tem os dados de autenticação no Header da mensagem SOAP. Ele me devolve o fault:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultarResponse xmlns="https://www.nfp.sp.gov.br/ws">
<ConsultarResult>999|O protocolo informado não é um número válido</ConsultarResult>
</ConsultarResponse>
</soap:Body>
</soap:Envelope>Vi também que no ObjectFactory tem um método que devolve o JAXBELemente gerado a partir dessa classe de autenticação.
AI que está a minh dúvida, como eu faço para acessar o Header e inserir e Element ou então como faço para inserir os dados de login através do Service e do Port que o wsdl me deu ?Se alguém puder me dar uma luz, estou pesquisando a um tempo e ainda não achei uma solução.
Desde já agradeço.
Mensagens: 1
Participantes: 1