問題タブ [synapse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2637 参照

wso2 - inSequenceからoutSequenceにプロパティを渡します

プロキシを使用してメッセージをHL7TCP/ IPポートに送信し、outSequenceで応答を取得しています。しかし、私の問題は、inSequenceで設定されたすべてのプロパティが使用できなくなったことです。それらはすべてnullです。さまざまなスコープ(transport、axis2、axis2-client)をすべて使用してテストしましたが、いずれも機能しませんでした。

私はこの投稿でそれが可能であるべきだと見ました。HL7送信者はプロパティを破棄していますか? outSequenceのinSequenceのプロパティをどのように使用できますか?

プロキシの例(ActiveMQ JMSからメッセージを取得し、HL7ポート4000に送信します):


WSO2 ESB 4.0.3を使用していて、HL7機能をインストールしています。受信者として、私は7editアプリケーションを使用します。

0 投票する
2 に答える
943 参照

exception-handling - WSO2 ESB キャッチ トランスポート例外 (MessageBuilder)

WSO2 ESB プロキシを使用してメッセージを読み取る場合、特定のデータ型を定義する必要があり、これにより特定の MessageBuilder (axis2.xml で定義) が適用されます。

しかし、MessageBuilder が失敗すると (つまり、XMLBuilder でテキスト ファイルを読み込もうとすると)、コンソールに例外が表示されますが、"faultSequence" は呼び出されません。ただし、読み取りの問題が発生した場合に備えて、特定のエラー処理を行う必要があります。

プロキシでトランスポート層 (MessageBuilder) から例外をキャッチするにはどうすればよいですか?

0 投票する
1 に答える
466 参照

wso2 - WSO2 Esb タスクの開始および停止イベント

現在、wso2 esb 内にカスタム タスクを実装しています。これは、サーバー上のいくつかのプロセスをチェックし、プロセスが起動していない場合はそれらを開始します。ただし、サーバー上の wso2 carbon インスタンスが停止した場合は、これらのプロセスも停止する必要があります。Apache シナプス タスク インターフェイスには execute メソッドしかありません。Apache シナプスまたは wso2 カーボンには、start や stop などのメソッドを提供するインターフェイスがありますか?それとも、シナプス スケジューラ タスクを osgi バンドルに変換できますか?

ありがとう

0 投票する
1 に答える
280 参照

xml - 複雑なサービスに関する WSO2 esb アドバイス - 現在のアプローチの検証

誰でもこのアプローチを検証できますか? 私は ESB に非常に慣れていないため、非常に複雑なフローのように見える最適なアプローチに苦労しています。WSO2 ESB (Apache Synapse) を使用しています。

使用事例:

  1. シンプルな 2 列の cvs ファイルを読み込みます。
  2. 行ごとに値の 1 つを取得し、ルックアップ サービス (ldap) に渡して、さらにデータを取得します。
  3. 取得したデータから (行ごとに) 値の 1 つを取得し、別の Web サービスを検索します。
  4. すべての行を 1 つのメッセージに結合し、結果のメッセージを外部 Web サービスに送信します

これまでの考えは、1) vfs と smooks を使用して csv を解析することです。これは簡単なようで、反復メディエーター内で個別の xml メッセージを作成して各行を処理できるようになりました。次に、2) 各行をカスタム メディエーターに渡して LDAP ルックアップを行います。3) その結果を取得し、要素の 1 つを使用してコールアウト メディエーターに渡します。コールアウト メディエーターは値を返します (基本的には列挙型ルックアップを実行します)。その後、4) そこまで到達していないことがわかりません。

これまでのところ、3 の解は非常に複雑に見えます。コールアウト メディエーターは、行 xml の外観とはまったく異なる、完全な Web サービス メッセージであるメッセージを予期しています。xslt を使用して Web サービスへの正しい入力に変換できますが、結果は完全な ws 応答になります。プロパティ メディエーターを使用して関心のある値を取得できますが、それをメッセージに挿入する方法がわかりません。

全体として、これは esb にはあまり適していないように見えますが、直感的には、私が行うべき方法のように思えます。もちろん、これをすべて Java で書くこともできますが、多くのビットは esb にあるようです。

それで、何かアドバイスはありますか?詳細について作業を続けることができて本当にうれしいですが、それが間違っている場合はそうではありません.

ありがとうコンラッド

0 投票する
1 に答える
905 参照

wso2 - サブコードによる WSO2 ESB SOAP 1.2 障害

スキーマに対して検証を実行し、検証が失敗した場合にエラーをスローするプロキシ サービス スタックがあります。

これは正常に機能し、リクエストは期待どおりに検証されます。

問題は、SOAP 1.2 障害である障害にサブコードを追加して、以下のようなものを取得することは可能ですか?

前もって感謝します。ウラジミール。

0 投票する
2 に答える
1638 参照

comparison - WSO2 ESB メディエーション シーケンスとプロキシ サービス

WSO2 ESB には、EAI パターンを実装するためのメディエーション シーケンスとプロキシ サービスがあります。私は現在初心者であり、メディエーション シーケンスまたはプロキシ サービスをいつ使用するかを区別できませんでした。どちらもほとんどのユースケースでうまく機能するようです。それぞれをいつ使用する必要がありますか?

0 投票する
3 に答える
5829 参照

rest - WSO2 Synapse: URL パラメータの設定

簡単に思えることをやろうとしていますが、うまくいきません。基本的には、WSO2 API マネージャーに URL パラメーターを REST 呼び出しに追加してもらいたいと考えています。

セットアップと問題

WSO2 API マネージャーがインストールされています。また、 someservletと呼ばれる偽のサーブレットで実行されている Tomcat もあります。サーブレットをマネージャーに API として追加したので、サーブレットを直接呼び出すか、WSO2 API マネージャーを介して呼び出すことができます。

走れる

サーブレットは正常に動作し、パス/totoとパラメーターblobおよびsecretを受信したことがわかります。

走れる

そして、それはまったく同じことをします。ここまでは順調ですね。

私が欲しいのは実行することです:

(シークレットパラメータを削除したことに注意してください)

...それでも同じ結果が得られます。

したがって、基本的には API マネージャーに URL パラメーターsecret=passを追加してもらいたいと考えています。

最初に試したこと:プロパティメディエーター

プロパティ REST_URL_POSTFIXで Synapse XML構成を使用します。

API構成ファイルを編集し、追加しました

今私が走れば

someservlet/1.0/blob?toto=titiを実行したかのようです:すべてのパスとパラメーターが消え、構成されたものに置き換えられました。ねえ、それがうまくいくはずですよね!

問題:

  1. これは URL に何かを追加するのではなく、URL の接尾辞を設定します。つまり、既存のパラメーターが消えます (上記の例ではblab=blib ) 。
  2. 有効な値になるには「/」で始まる必要があるため、 &secret=pass を追加することはできません(もちろん、問題 1 のため、これはとにかく役に立たないでしょう)。

したがって、基本的にこれでは、最後の&secret=passを追加できません。

2 番目に試したこと: URL メディエーターを書き換える

私はこのメディエーターを見つけました。おそらくうまくいかないかもしれませんが、良いリードです: secret=fooで呼び出すだけで、メディエーターにそれをsecret=passに置き換えることができます。

これを設定ファイルに入れました:

これはうまくいきません。最初は、アクション パラメータが正しくないと思いました。しかし、エラーメッセージは次のとおりです。

奇形?例外スタック トレースに詳細があります。

つまり、メディエーター (ログまたはリライト) は、"To:"フィールドがプロトコルのない URL を指しているメッセージを受信します。

もちろん、私はグーグルで検索してきましたが、他の人がlogMediator: To: /blabla を持っていることを発見した場合や、 logMediator: To: http ://blabla を持っている他の (ほとんどの) ケースがあります。何が違いを引き起こしているのか、私にはよくわかりません。:-(

だから、これは私が立ち往生しているところです!! :-(

試すオプション

おそらくうまくいくはずのハンマーソリューションがあることを私は知っています:

  1. プロパティを使用して、完全なパスとすべてのパラメーターを保存します
  2. これらのパラメーターを変更するために、独自のメディエーターを (Java などで) 実装します。
  3. プロパティ REST_URL_POSTFIXを使用して、変更された接尾辞を呼び出しに配置します

ただし、この問題にはもっと簡単な解決策が必要だと思います。

私が見つけていない単純なリソース (メディエーター、サンプル、構文エラーなど) を誰かが教えてくれることを期待しています。楽観主義... :-)

読んでくれてありがとう。何か案は?

0 投票する
1 に答える
231 参照

xpath - XPath拡張機能を備えたWSO2DeveloperStudio

追加のXPath変数を使用して、WSO2ESB4.5.1のApacheSynapseを拡張しました。synapse.propertiesで、新しいXPathクラスを指定します:synapse.xpath.var.extensions = com.avintis.esb.xpath.CountXpathVariableResolver、com.avintis.esb.xpath.UUIDXpathVariableResolver

wso2server.batから始めてください。 すべて正常に機能し、上記の拡張機能は問題なく機能しています。

しかし、EclipseのDeveloper Studioから始めると、サーバーは正常に起動して機能しますが、XPath拡張機能が認識されず、機能しません

サーバーの開始引数には、クラスを含むライブラリと、宣言を含む正しいsynapse.propertiesが含まれていることを確認しました。では、Eclipseから始めて、ここで何が間違っているのでしょうか?

環境:WSO2-ESB 4.5.1、Developer Studio 2.1.0

0 投票する
0 に答える
896 参照

apache - curl が 200 を取得すると、WSO2 API マネージャー Synapse-HttpComponents-NIO が 404 を取得します。

公開された API を使用して、API マネージャーの同じホストにある PHP API を呼び出しています。クライアント アプリケーションは SoapUI または curl です。

呼び出しを発行すると、返される httpd サーバーに渡されます。

明らかに最初は、WSO2 が独自の公開 URL で公開する最終的な API への呼び出しであるため、結果の呼び出しは Synapse-HttpComponents-NIO によって行われます: curl は API-Manager を呼び出し、Synapse-HttpComponents-NIO を使用して PHP API を呼び出します。
2 つ目は、curl から PHP API に直接発行された同じ呼び出しです。
ログは HTTPD からのものです。

httpd がコールを受信したことは明らかです。Synapse-HttpComponents-NIO クライアントが 404 を取得する一方で、curl が正しい結果を取得する理由を理解できません。
ありがとう
ルカ

0 投票する
1 に答える
192 参照

apache - Axis2 なしで Synapse を使用して、おそらく CXF や Jersey を使用して ReST および SOAP 呼び出しを行うことは可能ですか?

私は、Axis2 なしで Synapse ESB を使用する方法を考え出すことを任されています。基本的には、Web サービスへの ReST および SOAP 呼び出しを行うためです。

たとえば、CXF のサポートはありますか。

私はたくさん検索しましたが、ReSTful 呼び出しのために Axis2 を使用しない適切な例を見つけることができませんでした。CXFまたはJerseyのいずれかを使用する方法を見つけることができれば素晴らしい..

誰かアイデアはありますか?助けてください..