問題タブ [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.
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アプリケーションを使用します。
exception-handling - WSO2 ESB キャッチ トランスポート例外 (MessageBuilder)
WSO2 ESB プロキシを使用してメッセージを読み取る場合、特定のデータ型を定義する必要があり、これにより特定の MessageBuilder (axis2.xml で定義) が適用されます。
しかし、MessageBuilder が失敗すると (つまり、XMLBuilder でテキスト ファイルを読み込もうとすると)、コンソールに例外が表示されますが、"faultSequence" は呼び出されません。ただし、読み取りの問題が発生した場合に備えて、特定のエラー処理を行う必要があります。
プロキシでトランスポート層 (MessageBuilder) から例外をキャッチするにはどうすればよいですか?
wso2 - WSO2 Esb タスクの開始および停止イベント
現在、wso2 esb 内にカスタム タスクを実装しています。これは、サーバー上のいくつかのプロセスをチェックし、プロセスが起動していない場合はそれらを開始します。ただし、サーバー上の wso2 carbon インスタンスが停止した場合は、これらのプロセスも停止する必要があります。Apache シナプス タスク インターフェイスには execute メソッドしかありません。Apache シナプスまたは wso2 カーボンには、start や stop などのメソッドを提供するインターフェイスがありますか?それとも、シナプス スケジューラ タスクを osgi バンドルに変換できますか?
ありがとう
xml - 複雑なサービスに関する WSO2 esb アドバイス - 現在のアプローチの検証
誰でもこのアプローチを検証できますか? 私は ESB に非常に慣れていないため、非常に複雑なフローのように見える最適なアプローチに苦労しています。WSO2 ESB (Apache Synapse) を使用しています。
使用事例:
- シンプルな 2 列の cvs ファイルを読み込みます。
- 行ごとに値の 1 つを取得し、ルックアップ サービス (ldap) に渡して、さらにデータを取得します。
- 取得したデータから (行ごとに) 値の 1 つを取得し、別の Web サービスを検索します。
- すべての行を 1 つのメッセージに結合し、結果のメッセージを外部 Web サービスに送信します
これまでの考えは、1) vfs と smooks を使用して csv を解析することです。これは簡単なようで、反復メディエーター内で個別の xml メッセージを作成して各行を処理できるようになりました。次に、2) 各行をカスタム メディエーターに渡して LDAP ルックアップを行います。3) その結果を取得し、要素の 1 つを使用してコールアウト メディエーターに渡します。コールアウト メディエーターは値を返します (基本的には列挙型ルックアップを実行します)。その後、4) そこまで到達していないことがわかりません。
これまでのところ、3 の解は非常に複雑に見えます。コールアウト メディエーターは、行 xml の外観とはまったく異なる、完全な Web サービス メッセージであるメッセージを予期しています。xslt を使用して Web サービスへの正しい入力に変換できますが、結果は完全な ws 応答になります。プロパティ メディエーターを使用して関心のある値を取得できますが、それをメッセージに挿入する方法がわかりません。
全体として、これは esb にはあまり適していないように見えますが、直感的には、私が行うべき方法のように思えます。もちろん、これをすべて Java で書くこともできますが、多くのビットは esb にあるようです。
それで、何かアドバイスはありますか?詳細について作業を続けることができて本当にうれしいですが、それが間違っている場合はそうではありません.
ありがとうコンラッド
wso2 - サブコードによる WSO2 ESB SOAP 1.2 障害
スキーマに対して検証を実行し、検証が失敗した場合にエラーをスローするプロキシ サービス スタックがあります。
これは正常に機能し、リクエストは期待どおりに検証されます。
問題は、SOAP 1.2 障害である障害にサブコードを追加して、以下のようなものを取得することは可能ですか?
前もって感謝します。ウラジミール。
comparison - WSO2 ESB メディエーション シーケンスとプロキシ サービス
WSO2 ESB には、EAI パターンを実装するためのメディエーション シーケンスとプロキシ サービスがあります。私は現在初心者であり、メディエーション シーケンスまたはプロキシ サービスをいつ使用するかを区別できませんでした。どちらもほとんどのユースケースでうまく機能するようです。それぞれをいつ使用する必要がありますか?
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を実行したかのようです:すべてのパスとパラメーターが消え、構成されたものに置き換えられました。ねえ、それがうまくいくはずですよね!
問題:
- これは URL に何かを追加するのではなく、URL の接尾辞を設定します。つまり、既存のパラメーターが消えます (上記の例ではblab=blib ) 。
- 有効な値になるには「/」で始まる必要があるため、 &secret=pass を追加することはできません(もちろん、問題 1 のため、これはとにかく役に立たないでしょう)。
したがって、基本的にこれでは、最後の&secret=passを追加できません。
2 番目に試したこと: URL メディエーターを書き換える
私はこのメディエーターを見つけました。おそらくうまくいかないかもしれませんが、良いリードです: secret=fooで呼び出すだけで、メディエーターにそれをsecret=passに置き換えることができます。
これを設定ファイルに入れました:
これはうまくいきません。最初は、アクション パラメータが正しくないと思いました。しかし、エラーメッセージは次のとおりです。
奇形?例外スタック トレースに詳細があります。
つまり、メディエーター (ログまたはリライト) は、"To:"フィールドがプロトコルのない URL を指しているメッセージを受信します。
もちろん、私はグーグルで検索してきましたが、他の人がlogMediator: To: /blabla を持っていることを発見した場合や、 logMediator: To: http ://blabla を持っている他の (ほとんどの) ケースがあります。何が違いを引き起こしているのか、私にはよくわかりません。:-(
だから、これは私が立ち往生しているところです!! :-(
試すオプション
おそらくうまくいくはずのハンマーソリューションがあることを私は知っています:
- プロパティを使用して、完全なパスとすべてのパラメーターを保存します
- これらのパラメーターを変更するために、独自のメディエーターを (Java などで) 実装します。
- プロパティ REST_URL_POSTFIXを使用して、変更された接尾辞を呼び出しに配置します
ただし、この問題にはもっと簡単な解決策が必要だと思います。
私が見つけていない単純なリソース (メディエーター、サンプル、構文エラーなど) を誰かが教えてくれることを期待しています。楽観主義... :-)
読んでくれてありがとう。何か案は?
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
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 が正しい結果を取得する理由を理解できません。
ありがとう
ルカ
apache - Axis2 なしで Synapse を使用して、おそらく CXF や Jersey を使用して ReST および SOAP 呼び出しを行うことは可能ですか?
私は、Axis2 なしで Synapse ESB を使用する方法を考え出すことを任されています。基本的には、Web サービスへの ReST および SOAP 呼び出しを行うためです。
たとえば、CXF のサポートはありますか。
私はたくさん検索しましたが、ReSTful 呼び出しのために Axis2 を使用しない適切な例を見つけることができませんでした。CXFまたはJerseyのいずれかを使用する方法を見つけることができれば素晴らしい..
誰かアイデアはありますか?助けてください..