Bonjour à tous,
Pas encore très à l'aise avec les webservices, je me retrouve confronté à un problème que je n'arrive pas à résoudre :
Environnement technique :
- Tomcat avec Axis 1.4
Je vous explique mon problème :
1/ J'ai un client qui propose un webservice auquel je dois me connecter. Pour cela, il m'a fourni un WSDL.
2/ A l'aide de WSDL2Java, javac et jar, je me suis créé une archive .jar avec tous mes beans générés.
3/ J'ai développé la partie cliente en utilisant le Jar, jusque là, pas de soucis, ça communique correctement.
Là où ça se complique :
1/ Je dois proposer à mon client le même service que celui qu'il me propose. Compte tenu du fait qu'il est hors de question qu'il me donne les sources, à moi de me débrouiller pour coder le webservice.
2/ Je vais donc utiliser le Jar histoire d'être sûr de parler la même langue que lui. Une fois le webservice installé sur tomcat et déployé correctement (axis me le liste bien et le wsdl s'affiche), je souhaite vérifier que ma partie cliente développée précédemment arrive à s'y connecter. Et là, j'ai une erreur. Au moment du transfert, j'ai droit à :
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
Pour info, j'utilise cette méthode lorsque je veux me connecter au webservice :
Code :
- MonServiceServiceLocator ws = new MonServiceServiceLocator();
- ws.setMonServiceEndpointAddress("URL vers mon WS" );
- MonServiceSoapBindingStub srv = (MonServiceSoapBindingStub)ws.getMonService();
- srv.setTimeout(500);
- response = srv.maMethode(request);
|
Comment cela se fait-il sachant que j'utilise le même Jar côté client et côté serveur ? Je passe certainement à côté de quelque chose mais quoi ?
Merci à tous