問題タブ [orchestration]
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.
transactions - SOAでのトランザクション管理
SOAサービスは自己完結型のサービスである必要がありますが、実際には、ビジネス/プロセスを実行するためにこれらのサービスを調整する必要があります。
ここで、プロセスとデータの一貫性を保つには、すべてのサービスが実行されるか、何も実行されないようにする必要があります。
実装する1つの方法は、各サービスに「補正」ロジックを実装し、プロセス/前のサービスで問題が発生した場合にそれを呼び出すことです。
トランザクションコンテキストを取り出して2フェーズコミットのようなものを実装するなど、同じことを行うためのより良い方法や標準はありますか?
web-services - からのメッセージを集約するラバの流れ
これまでの話
応答(たとえばResponse_A)を<all>フローに送信するSOAPサービスがあります。フロー内には、Response_Aから入力を受け取る3つのSOAPサービス(B、C、Dなど)があります。Response_Aからフィールドを取得し、XSLTを使用して、B、C、およびDの要求を作成できます。
簡単な質問:メッセージを並列処理するために<all>内の<async>ブロックを使用しています。内部で<all>タグと<processor-chain>タグを使用する場合、処理は並列ではありませんでした。なぜ何かアイデアはありますか?
ロードマップ
3つのB、C、およびDのすべてからの応答を読み取り、それらを1つの応答に結合して(おそらくXSLTを再度使用して)、Eに送信します。
障害物
<all>フローから出た後、MuleMessageCollectionを取得します。それを読み、メッセージを1つのメッセージに結合する方法は?
私の試み
相関IDに基づいてメッセージを集約しようとしましたが、相関IDが存在するのは、Aからのメッセージが<all>タグによって分割され、B、C、およびDに送信された場合のみであることに気付きました。相関IDは、enableMuleSoapHeadersをtrueに設定した場合でも、これらのサービスからの応答として提供されるSOAPエンベロープ。サービスを変更できません。したがって、SOAP応答に相関IDを表示するにはどうすればよいですか(メッセージをマージする場合に相関IDが絶対に必要な場合)
メッセージを集約するためのグループサイズも必要になると思います。
メッセージプロパティトランスフォーマーを使用して相関IDを追加しようとしましたが、そのようには機能しませんでした。私はMessageCollectionで立ち往生していて、その中に相関IDを持つメッセージがあったとしても、それを読み取る方法がわかりませんでした。
つまり、1つの質問に要約されます。MessageCollectionからのメッセージをマージする方法は何ですか?
Javaでカスタムトランスフォーマーを作成せずに、xmlでこれを実行したいと思います。出来ますか?私のアプローチはどうあるべきですか?
注:B、C、およびDからの応答メッセージのDOM構造は異なります。作成したいマージされたメッセージは、A、B、C、およびDのすべての応答および要求とは異なるDOを持っています。
それが役に立ったら、私はここで説明されているのと同様の状況で作業しようとしています:http ://ricston.com/blog/?p=640唯一の違いは、フローとallタグを使用していることです。
biztalk - 文字列変数によるオーケストレーションのポートの参照
動的ポートを構成するための一般的な BizTalk アプリケーションを開発しようとしています。ポートごとにすべての構成設定を取得するオーケストレーションがあり、これらの設定をループしてポートを構成したいと考えています。設定は MSSQL に保持され、たとえば、2 つのプロパティは PortName と Address です。したがって、オーケストレーション内から、ポートを文字列変数 PortName で参照したいと思います。オーケストレーション内のすべてのポートのコレクションを取得する方法や、文字列変数を介してポートを参照する方法はありますかPort['MyPortName'](Microsoft.XLANGs.BaseTypes.Address) = "file://c:\test\out\%MessageId%.xml"
?
esb - WSO2 ESB サービス オーケストレーション
こんにちは WSO2 コミュニティ、こんにちは Stackoverflow です。
ESB から開始する SOA スイートのテストは順調に進んでいます。ESB は外部サービスを認識し、正しい結果を返す正しいプロキシを作成します。
解決した
それについては、2 つの問題があります。1 つ目は、「試してみる」機能で例外が発生することです。
[tagOpened]/soapenv:Text[tagClosed]"
プロキシされたWebサービスのモックサービス用に作成されたSOAPエンベロープを送信しようとすると.
とにかく、(Netbeans で作成された) 外部クライアントからプロキシ サービスを試すと、うまく機能します。
答え
最初の部分については、ブラウザから Java スクリプト スタブを介してメッセージを送信しているため、おそらくクロス ドメインの問題が原因です。リクエストが同じドメインを通過するため、サービス自体が ESB 自体でホストされている場合、これはうまく機能することがわかります。これが、通常のクライアント呼び出しでは完全に機能しますが、試してみると機能しない理由です。
2 つ目の問題は、2 つのサービスを調整できないことです。私の目的は、最初のサービスの入力を 2 番目のサービスに送信し、次にユーザーに送信することです。
私は、Tharindu Mathew が提案したチュートリアルに取り組んでいます。XSLT 変換という 1 つの点を除いて、すべてが理解できるようになりました。
チュートリアルで作成するように提案されているアウト シーケンスは次のとおりです。
ここで、スイッチの最初のケースの XSLT ノードに注目すると、金額プロパティの get だけがあることがわかります。そのため、ID を示すシーケンスからの XML があると思います。これは amount プロパティを取得します (それが何をするのかはわかりません)。
チュートリアルでは、次のことを提案しています。
この CrediService へのリクエストを作成するには、XSLT メディエーターで次の XSLT を使用します。この XSLT に保存した ORG_ID を XSLT パラメータとして使用し、XSLT メディエータも使用していることに注意してください。
チュートリアルで示した XSLT は次のとおりです。
同様のファイルを WSO2 ESB の resources ディレクトリに配置するように求められましたが、このファイルはチュートリアルでは使用されません。
サンプル zip 内の personToCredit.xslt を WSO2 ESB の resources ディレクトリにコピーします。
----------小括弧-----------
次のように記述された後も、WSDL ファイルは使用されませんでした。
サンプル zip 内の CreditProxy.wsdl を WSO2 ESB の resources ディレクトリにコピーします。
Configuration/Governance Registry に WSDL ファイルが見つからず、対処方法がわからないため、代わりにインラインで指定することにしました。
---------小括弧の終わり-----------
この文の後に、XSLT ファイルのテキストが続きます。私の主な質問は次のとおりです。
この XSLT はどこに配置すればよいですか? XSLT メディエーターをどこに配置すればよいか、ビルド方法もわかりません。レジストリに依存する必要がありますか?
完璧な答えは、out シーケンスのコードであり、XSLT メディエーターとの指定された接続が示唆されている可能性があります。
オーバーザビットステア
xpath - BizTalk オーケストレーションで xpath が null を返す
メッセージがあります (MsgPortConfig):
以下を使用して xpath 経由で値にアクセスしようとすると、常に null が返されます。
XPathBuilderのようなアプリケーションを使用して構文をチェックすると、問題なく動作しますが、BizTalk では動作しません。私は何が欠けていますか?ありがとう。
oop - MyObject.DoSomething()とMyService.DoSomething(MyObject)
一方はもう一方よりも優れていますか?
それも有効な質問ですか?
私は最近、MyObject.DoSomething()
かなり古いものであり、それを行うためのサービス方法が好まれているとアドバイスされました。そうですか?
例:
vs
それを行うサービス方法が使用されている場合-オブジェクトは任意の機能に責任があるのでしょうか、それとも単に馬鹿げているべきでしょうか?
orchestration - オーケストレーションの方法論
私が興味を持っている求人は、「オーケストレーション方法論の完全な知識」を求めています。
そのような方法論の認識されたリストはありますか? それとも、同期/非同期、トランザクション、長期実行などの特定のオーケストレーション アルゴリズムまたはプロパティの別名ですか?
wso2 - wso2 esb シーケンス DB 更新
構文エラーを出力する DBreport メディエーターに問題がありますが、SQL ステートメントにエラーが表示されません。
最初の DB ルックアップは正常に機能しますが、DBreport の 2 番目の SQL ステートメントは値を更新できません。
私のテーブルは次のとおりです。
消費 (int id、varchar ユーザー名、int id_api、int use) ユーザー (int id、varchar ユーザー名、varchar パスワード)
どうもありがとう
編集Mysql DBに書き込むときにDBREPORTおよびDBLOOKUPメディエーターに大きな問題があると思います。読み取りは問題ありませんが、更新と挿入は機能しません...間違っているかどうか教えてください