Bonjour,
Je cherche a interroger un webservice fournit par GEPIR qui donne des renseignements sur un produits à partir de son code barre EAN.
http://gepir.prod.gs1us.org/GEPIR/jsp/server.do
C'est ma première implementation de webservice ...
J'ai réussi à générer un .jar depuis le WSDL mais je ne sais pas trop comment l'exploiter et je ne trouve pas bcp de ressources sur le sujet (étonnament).
Voici mon code actuel :
Je tatonne mais tout ce que j'obtiens pour l'instant c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 public final class gepir_client { private static final QName SERVICE_NAME = new QName("http://www.gepir.org/", "router"); private static final QName PORT_NAME = new QName("http://www.gepir.org/", "routerSoap"); private gepir_client() { } public static void main(String args[]) throws java.lang.Exception { SOAPFactory sf = SOAPFactory.newInstance(); QName name = new QName( "http://www.gepir.org/" , "gepirRequestHeader" ); SOAPElement header = sf.createElement(name); SOAPElement reqGln = header.addChildElement(new QName( "http://www.gepir.org/" , "requesterGln" )); reqGln.addTextNode("7613169525562"); SOAPElement cascade = header.addChildElement(new QName( "http://www.gepir.org/" , "cascade" )); cascade.addTextNode("1"); // URL wsdlURL = Router.create(SERVICE_NAME); ProxyEnabler.enable(); // propre a mon env ArrayOfLanguage aol = new ArrayOfLanguage(); aol.getLanguage().add("FR"); Router router = new Router(); RouterSoap port = router.getRouterSoap(); System.out.println("DEV_TRACE: " + router.getServiceName()); System.out.println("DEV_TRACE: " + port.toString()); { try { System.out.println("Invoking getItemByGTIN..."); GetItemByGTIN getItemByGTIN = new GetItemByGTIN(); getItemByGTIN.setRequestedGtin("7613169525562"); getItemByGTIN.setRequestedLanguages(aol); getItemByGTIN.setVersion(new BigDecimal(3.10)); System.out.println("getItemByGTIN =" + getItemByGTIN.getRequestedGtin()); GepirItem gepirItem = port.getItemByGTIN(getItemByGTIN); System.out.println("getItemByGTIN.result=" + gepirItem); } catch (SOAPFaultException sfex) { System.out.println("DEV_TRACE: " + sfex.getStackTrace()); } } }
DEV_TRACE: {http://www.gepir.org/}router
DEV_TRACE: JAX-WS RI 2.1.7-b01-: Stub for http://gepir.prod.gs1us.org:80/GEPIR/jsp/server.do
Invoking getItemByGTIN...
getItemByGTIN =7613169525562
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at $Proxy34.getItemByGTIN(Unknown Source)
at ...gepir_client.main(gepir_client.java:86)
Merci pour toute l'aide (piste, tuto, code, remarque, pensée positive ) que vous pourrez m'apporter.
Partager