Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Dúvida Implementação de Cliente WebService

$
0
0

@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 WSDL

public 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

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093