GEPIR / EAN / Webservices
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 ... :aie:
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 :
Code:
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());
}
}
} |
Je tatonne mais tout ce que j'obtiens pour l'instant c'est :
Citation:
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)
:cry:
Merci pour toute l'aide (piste, tuto, code, remarque, pensée positive ) que vous pourrez m'apporter.