2010-09-06 6 views
0

J'ai un webservice [appelez-le S1] exposé et les clients appellent ce service et récupèrent la réponse.Bien à ce jour.Soap Webservice Modifie WSDL change

Je dois changer un peu mon WSDL [pour des raisons très étranges] mais je ne veux pas que les clients voient le changement. Donc mon idée est d'intercepter la demande de savon quelque part entre le serveur et le client et l'intercepteur devrait modifier la demande de savon et la transmettre au serveur.Similairement à la réponse, l'intercepteur devrait intercepter la demande et changer le nom de la propriété et l'envoyer au client .

Une idée de comment faire cela? Une approche IMO est d'utiliser des gestionnaires mais ici je n'ai pas de contrôle sur la façon dont le serveur génère le service à partir de WSDL. Comment ESB peut-il aider dans ce domaine?

S'il vous plaît voir son application en temps réel avec d'énormes demandes de et vers le serveur !!!

+0

utilisez-vous Axis2? –

+0

Nops, je peux juste nourrir WSDL à une machine qui exposera le webservice correspondant lui-même. La mise en œuvre est propriétaire, donc je ne suis pas sûr de savoir comment ils le font. –

Répondre

2

Un ESB comme Mule ESB peut aider en agissant as a proxy pour votre service Web.

1

Ne pouvez-vous pas écrire un nouveau service Web avec le nouveau wsdl, puis modifier l'ancien service Web pour simplement appeler le nouveau service Web. Un peu comme surcharger une méthode. De cette façon, vous pouvez avoir des services Web V1 et V2.

+0

Oui c'est l'une des approches à l'esprit. Mais encore une fois, puisqu'il peut y avoir des milliers de requêtes par seconde, je peux avoir des problèmes d'évolutivité! Qu'est-ce que tu penses? –

+0

Le fait que vous vouliez changer votre WSDL mais en même temps laisser la même chose, implique que vous avez besoin de 2 services Web. La façon dont j'ai l'habitude d'aborder un service web est un simple encapsuleur autour d'une méthode normale sur une classe normale. Vous pouvez écrire un nouveau service Web et modifier votre ancien service Web pour utiliser la même classe et la même méthode qui ne se déconnecte pas. Cela permettrait de minimiser les problèmes de performance. –

+0

bien le problème à nouveau, c'est plus comme service web contrat-premier. où je n'ai aucune idée des classes et des méthodes [où ils sont]. Tout ce que je peux jouer est avec le fichier WSDL. J'ai entendu des termes tels que Webservice Routing dans ESB, peuvent-ils être d'une quelconque aide? –