2011-02-28 6 views
4

Je voudrais faire quelque chose comme ceci:JAXWS et itinéraire de chameau dans les ServiceMix

<jaxws:endpoint id="AbcEsbHTTPEndpoint" 
    implementor="com.abc.esb.ABCWSServiceImpl" 
    address="/ABCWSServiceService" 
    wsdlLocation="wsdl/ABCWSService.wsdl" 
    endpointName="e:ABCWSService" 
    serviceName="s:ABCWSServiceService" 
    xmlns:e="http://com.abc.esb/abcesb/services/ABCWSService" 
    xmlns:s="http://com.abc.esb/abcesb/services/ABCWSService"> 
</jaxws:endpoint> 


<camelContext xmlns="http://camel.apache.org/schema/spring"> 
    <route> 
     <from uri="cxf:bean://ABCWSServiceService"/> 
     <to uri="cxf:bean:decodeClient"/> 
    </route> 
</camelContext>  

<jaxws:client id="decodeClient" 
    address="http://ESB-DEV1:9081/abcesb/services/Decoder" 
    wsdlLocation="http://ESB-DEV1:9081/abcesb/services/Decoder?wsdl" 
    serviceClass="com.abc.esb.ABCServiceInterface" 
    abstract="true" > 
</jaxws:client> 

Je ne comprends pas comment configurer la route de chameau du <jaxws:endpoint> au <jaxws:client> Qu'est-ce la syntaxe à utiliser ?? Je sais que vous pouvez utiliser <cxf:cxfEndpoint> mais je ne veux pas l'utiliser si je n'ai pas à le faire. Je sais comment faire avec JBI, mais je veux le déployer dans servicemix en utilisant un ensemble OSGI, pas JBI.

Répondre

-4

Voir quelques-uns des exemples cxf des exemples de la distribution camel. Ils montrent comment configurer cxf, pas comme jbi.

+0

Merci pour la réponse. Oui, j'ai regardé ça un peu. Je pense que l'exemple (camel-example-cxf-proxy) est un cas d'utilisation exact. Sur la base de cet exemple, je peux utiliser une route camel à partir d'un point final configuré "cxf: cxfEndpoint". J'étais curieux de savoir si je pouvais utiliser une route de chameau à partir d'un point final "jaxws: endpoint". Je ne connaissais pas la syntaxe de la route de chameau pour faire référence au jaxws: endpoint. Merci pour votre aide! – guido

+0

Guido, j'essaie aussi d'installer camel-example-cxf-proxy dans serviceMix 4.3.0. L'installation est correcte (install -s wrap: fichier:/c:/... jar). Mais il semble que l'exemple ne fonctionne pas. Je ne suis pas en mesure d'accéder au WSDL lors de l'utilisation de SOAPUI pour tester. Pourriez-vous s'il vous plaît laissez-moi savoir comment le faire fonctionner dans ServiceMix – David

+2

Claus ... Je sais que vous êtes brillant parce que vous avez inventé Camel. Mais pouvons-nous voir du code réel? J'ai cherché un exemple réel de routage vers/depuis un point de terminaison jax-ws mais je ne peux pas en trouver un. Vous être le principal créateur de Camel serait la meilleure personne pour donner un exemple (ou même un lien, quelque chose?). Je vais supprimer mon downvote de cette réponse si vous postez un exemple. À votre santé. – Jack

2

Le jaxws:client que vous avez dans votre configuration est un point final comme cela est le jaxws:endpoint et pourrait être connecté en utilisant le composant bean:

<camelContext xmlns="http://camel.apache.org/schema/spring"> 
    <route> 
     <from uri="bean:AbcEsbHTTPEndpoint"/> 
     <to uri="bean:decodeClient"/> 
    </route> 
</camelContext> 

En général, il y a un besoin de faire quelque chose entre - dire adapter la message d'une certaine manière - mais ce qui précède permettra d'atteindre le routage au moins.