2

私は次の旅程を持っています: 試験日程

  • 一方向の受信場所は、内部メッセージが抽出されるオーケストレーションにメッセージを渡します (マップではこれを行うことができません)。

  • 次に、オーケストレーションから返されたメッセージがマップされ、そのマップの結果が再度マップされます。Microsoft.Practices.ESB.Services.Transform サービスを使用します。

  • これは、Microsoft.Practices.ESB.Services.Routing サービスを介して Web サービスに渡されます。このサービスは正常に起動しますが、ファイルに書き込みたい期待される応答を受け取りません。ファイルに書き込まれるメッセージは、予期される応答ではなく、Web サービスに渡されるメッセージです。より単純な旅程、つまりオーケストレーション エクステンダーを使用しない旅程を使用して Web サービスをテストすると、Web サービスが期待どおりに動作することが示されます。

  • OffRamp は、GlobalBank.ESB サンプル アプリケーションからのものです。

Web サービスから必要な応答を取得するにはどうすればよいですか?

4

1 に答える 1

2

最終的に、私はこの男に完全な信用を与えなければならないこれに対する解決策を見つけることができました

問題は、Microsoft.Practices.ESB.Services.Routing Service が一方向の操作しか提供しないため、リゾルバーを双方向のメッセージ交換パターンでマークしても機能しないことです。

BizTalk 管理コンソールで Microsoft.Practices.ESB アプリケーションを確認すると、一方向の動的送信ポート Microsoft.Practices.ESB.Agents_2.1.0.0_Microsoft.Practices.ESB.Agents.Delivery_DeliveryPort_31bf3856ad364e35 があり、オーケストレーション Microsoft.Practices にバインドされています。 ESB.Agents.Delivery. オーケストレーション エクステンダーを使用し、Microsoft.Practices.ESB.Services.Routing サービスを使用する場合、このポートは呼び出しの送信に使用されますが、これは一方向のポートであるため、応答が得られません。

callwebservice シェイプで双方向オーケストレーションを使用する必要があります。双方向オーケストレーションのサンプルは、MultipleWebServices ESB サンプルにあります。そのオーケストレーションをデプロイし、旅程サービスとして登録し、callwebservice 形式で使用すると機能します。

多かれ少なかれそうでした:) オーケストレーションをデプロイし、 itineraryServices ノード間の esb 構成にエントリを追加して、旅程サービスとして ESB に登録します。

          <itineraryService id="04BD6120-06E4-43D3-A56F-2FF061D59862" name="ESB.MultipleWebServices.Orchestrations.TwoWayRouting" type="ESB.MultipleWebServices.Orchestrations.TwoWayRouting, Biztalk.EsbGeneric.Orchestrations, Version=1.0.0.0, Culture=neutral, PublicKeyToken=140bc5dcbb9afcea" scope="Orchestration" stage="None"/>

guidgen を使用して ID を作成します。タイプは、Admin Console のオーケストレーションの名前とアセンブリ (カンマ区切り) で構成され、デプロイ先のアプリケーションによって異なります。スコープとステージは上記のとおりです。

最初は、送信ポート Biztalk.HoopleEsbGeneric.Orchestrations_1.0.0.0_ESB.MultipleWebServices.Orchestrations.TwoWayRouting_RoutingPort_140bc5dcbb9afcea でエラーが発生しましたが、送信パイプラインと受信パイプラインをそれぞれ PassThruTransmit と PassThruReceive に変更すると、これが解決されました。

于 2013-04-08T14:21:10.780 に答える