2017-02-11 7 views
2

私のアプリケーションでは、ユーザーが許可されたグループに属していてメッセージを処理するだけの場合、webservice.e.gを呼び出して受信メッセージの承認を検証する必要があります。そのためには、着信メッセージのuserId(受信メッセージ全体ではない)のプロパティの1つからauthorizationRequestを作成し、webserviceに送信する必要があります。
私はラクダを新しくしています。非ラクダのアプリケーションでこれを実現するには、Webサービスクライアントを作成し、userId(param)を呼び出してレスポンスを処理します。 メインキャメルルート:キャメルとCamelからのメッセージを検証するためにspringWsを呼び出す

from(<URI>).routeId("UpdateRoute") 
       .process("AuthorizationProcessor") 
       .process("ValidateProcessor") 
       .choice() 
       .when(matches(cond1)).to("cond1Processor") 
       .when(matches(cond2)).to("cond2UpdateProcessor") 
       .otherwise().to("invalidconditionProcessor"); 

    } 

、私は、カスタムプロセッサAuthorizationProcessorを呼び出すと、私は非ラクダのアプリケーションで行うことができますようWebサービスの呼び出しを行っています。 私はCamelを適切に利用していません。
Webサービス呼び出しを行う適切な方法は何でしょうか。

私は、ルートAuthorizationRouteを作成しようとしましたが、私はこのルートがどのように呼び出されるのか、そしてどこでリクエストをビルドすればいいのか分かりません。

+0

??? UndertowでCamelを実行しています。 Exchangeに設定されているプロパティをuserIdとします。次に、soapリクエストでuserIdを期待する操作validateUserIdのためにWebサービスを呼び出す必要があります。 – noMad17

+0

ラクダを実行していRESTやSOAPを展開しようとしているWebサービスのどのような種類

from(<URI>).routeId("UpdateRoute") .to("cxf:http://address/service?serviceClass=com.MyClass") .process("ValidateProcessor") // process the resoponse here .choice() .when(matches(cond1)).to("cond1Processor") .when(matches(cond2)).to("cond2UpdateProcessor") .otherwise().to("invalidconditionProcessor"); 

答えて

0

Camelには、Webサービスコール(RESTまたはSOAP)を作成できるコンポーネントがいくつかあります。最も人気のあるものの一つは、(あなたがそれを推測camel-cxf、である、WS呼び出しを行うためにはApache CXFを使用しています

あり、利用可能なオプションの無数のですが、それは含めつまるところ

:。

<dependency> 
    <groupId>org.apache.camel</groupId> 
    <artifactId>camel-cxf</artifactId> 
    <version>x.x.x</version> 
    <!-- use the same version as your Camel core version --> 
</dependency> 

をとその後、あなたのルートで:

あなたは、私が構築し、SOAPメッセージを送信したいあなたは、スタンドアロンとして、またはApache-karaf状の容器内
+0

私はこの解決策が私が交換で持っている要求団体を送るために働くと思います。私は新しいリクエストを作成し、フィールドから私は交換してwebserviceに送信する必要があります。 –

関連する問題