2012-03-10 2 views
0

J'ai un service web implémenté en utilisant Spring, cxf et jax ws. Mon service expose 10 opérations et certaines opérations renvoient plus de 200 champs. Maintenant, je veux proxy mon service web en utilisant camel. Moyens Je souhaite fournir différents WSDL à différents clients avec uniquement les opérations requises et les champs obligatoires. Un de nos clients veut une opération particulière de 10 opérations avec seulement quelques champs de 200 champs exposés de cette opération de ce service Web. Comment puis-je y parvenir à travers chameau?Comment proxy un service Web en utilisant camel?

Répondre

1
+0

Merci pour la réponse. J'ai essayé l'exemple de camel proxy fourni par apache camel et capable de l'exécuter. J'ai installé camel comme un ensemble avec le contexte de chameau défini. Mais je suis infructueux quand j'essaye d'employer le processus et essaye d'obtenir la réponse de l'objet d'échange. Dans le contexte Camel, j'ai défini à partir de cxf: endpoint créé dans le même fichier de contexte, et défini "to" aux services préexistants. Après "to" j'ai un autre "to" qui fait référence à bean de processus qui implémente l'interface Process.I ne suis pas capable d'obtenir la réponse et quand j'essaie de déboguer et de voir l'objet d'échange, je ne pouvais voir aucune trace de réponse. – Mr9

1

Selon la façon dont vous déployez votre instance Camel, il pourrait y avoir des avantages et des inconvénients avec CXF.

Si vous regroupez votre chameau dans une application Web à ressort, vous pouvez également consulter Spring-WS dans Camel. C'est un peu plus léger que CXF, mais un peu limité. Il peut, bien que répondre à vos besoins. Spring-WS ne se lie pas vraiment à un WSDL spécifique, mais plutôt à des opérations spécifiques. Comme ceci:

de ("printemps-ws: rootqname: {} http://example.com/ getFoo endpointMapping = # endpointMapping") .bean (prepareProxy) .DE ("printemps-ws: http : //foo.com/bar ") .bean (prepareAnswer);

En fonction de la complexité de la transformation pour la réponse dont vous avez besoin, vous pouvez le faire en Java ou XSLT ou par un autre langage de script de votre choix. C'est une question de goût.

+0

Merci pour la réponse. J'ai essayé l'exemple de camel proxy fourni par apache camel et capable de l'exécuter. J'installe camel comme un paquet avec le contexte de chameau défini. Mais je suis infructueux quand j'essaye d'employer le processus et essaye d'obtenir la réponse de l'objet d'échange. – Mr9

Questions connexes