Bonjour,
Je suis tout nouveau dans ce forum donc veuillez m'excuser si je ne poste pas ce topic au bon endroit
Depuis quelques semaines, je travaille sur l'implèmentation de webservices et je cherche à créer le système suivant :
Un client A demande des infos à un WebServiceC via un "WebService" B (je ne sais pas si on doit appeller cela un WebService, ou un http proxy). Voici ce que je suis arrivé à faire jusqu'à présent :
Je crée donc une requete HTTP+SOAP dans mon client et je l'envoie à B (je communique en ouvrant une socket 1 à destination de B). Cette requete contient un appel à une methode du "web service" B qui envoie une autre requete HTTP+SOAP à C pour lui demander des infos (ouverture d'une autre socket 2). C répond en envoyant les infos à B sous forme de HTTPResponse et B a accès au contenu de cette réponse.
Maintenant, je voudrais que cette réponse soit renvoyée directement au client.
Je me pose les questions suivantes :
Cas 1:
La socket 1 reste ouverte pour attendre la réponse de C via B : Existe-t-il alors des méthodes spécifiques de Forward Response que B pourrait utiliser pour que A puisse croire que la réponse vient de B et non de C?
Cas2: La socket 1 est fermée après l'envoi de la requete à B. Une fois que B a recu la réponse de C, il doit réouvrir une socket 3 à destination de A. Mais il ne peut communiquer avec A que sous la forme de HTTPRequest. Comment faire alors pour intégrer la réponse de C dans une requete de B à destination de A et faire en sorte que A puisse la lire...
Ce problème peut certes paraitre idiot à première vue mais c'est une premiere étape pour créer un Web service capable de modifier des champs dans certaines requetes...)
J'espère avoir été assez clair
Je travaille avec Eclipse, axis2 et je code en Java.
Merci d'avance à tous ceux qui voudront bien réfléchir quelques instants sur ce problème !
Partager