0

こんにちは、最初の応答の ServiceGroupID ノードに埋め込まれている SOAP セッションに基づいて、Apache キャメルでスティッキー負荷分散を実行したいと思います。

次のように小さなルートを書きました:

from(uri)
.loadBalance().sticky(xpath(query).namespaces(env).namespaces(wsa).namespaces(ax))
.to(BE1,BE2);

ここで、URI は要求が渡される文字列で、BE1 と BE2 は 2 つのバックエンド サーバーです。

そして私の質問は

String query = "/soapenv:Envelope/soapenv:Header/wsa:ReplyTo/wsa:ReferenceParameters/axis2:ServiceGroupId/text()";

私が間違っていなければ、このクエリは SOAP ヘッダーから servicegroupID を抽出します。

しかし、バランシングを実行しようとすると、なんらかの理由で、リクエストが同じバックエンド サーバーに渡されません。

私のenv、wsa、およびaxは名前空間であり、次のとおりです。

Namespaces env = new Namespaces("soapenv", "http://schemas.xmlsoap.org/soap/envelope/");
Namespaces wsa = new Namespaces("wsa", "http://www.w3.org/2005/08/addressing");
Namespaces ax = new Namespaces("axis2", "http://ws.apache.org/namespaces/axis2");

ここで何か間違ったことをしていますか?もしそうなら何?助けていただければ幸いです。

4

1 に答える 1

0

また、メーリング リスト http://camel.465427.n5.nabble.com/Performing-Sticky-load-balancing-in-Camel-tp5719170.htmlで議論されています。

同時に複数の場所で同じトピックを開始しないでください。もしそうなら、少なくとも私たちに教えてください。そうすれば、私たちはこれを知ることができます.

別の場所ですでに回答されているのに、あなたを助けるために時間を費やすと、人々は動揺します!

于 2012-09-12T15:32:51.613 に答える