Bon j'ai un peu avancé
Pour répondre à la question de départ : oui c'est possible.
Voilà en gros ma méthode :
ObjectServiceFactory objectFactory = new ObjectServiceFactory();
objectFactory.setStyle(SoapConstants.STYLE_DOCUMENT);
objectFactory.setUse(SoapConstants.USE_LITERAL);
Service serviceModel = objectFactory.create(IRemoteService2.class,
"IRemoteService2",
"[LE NAMESPACE DU WEB SERVICE", null);
XFire xfire = XFireFactory.newInstance().getXFire();
XFireProxyFactory factory = new XFireProxyFactory(xfire);
String serviceUrl = "[URL DU WEB SERVICE]";
IRemoteService2 service = (IRemoteService2) factory.create(
serviceModel, serviceUrl);
service.sayHello("Jibee");
OK, ça marche bien en DOCUMENT/LITERAL, RPC/LITERAL...
J'aurais aimé faire fonctionner tout ça avec un Web Service "DOCUMENT/LITERAL/WRAPPED"
Dans ce cas, je met :
objectFactory.setStyle(SoapConstants.STYLE_WRAPPED);
objectFactory.setUse(SoapConstants.USE_LITERAL);
Mais là ça ne fonctionne plus... je retombe exactement dans le cas du premier message. J'ai essayé de jouer avec le mapping Aegis pour faire mettre un namespace prefix... mais j'y arrive pas.
Avez-vous svp une idée de la marche à suivre pour faire marcher tout ça ?
Est-ce possible ? Peut-être que le WRAPPED à la sauce JBoss WS/JAX-WS n'est pas compatible avec Xfire ??? Je vous accorde que je m'y perds un peu dans tous ces standards.
Merci d'avance,
JB
Partager