4

オーケストレーションから Web サービスまたは wcf メソッドを呼び出したい場合は、プロジェクトにサービス参照を追加するか、生成されたアイテムを追加することで実行できます。どちらのアプローチにも利点はありますか? ベスト プラクティスはありますか?

4

1 に答える 1

5

Steef -Jan Wiggers が同様の質問にここで回答

TL;DR - 常にGenerated Items wizard.

My 10c - Add Service によってインポートされた .xsd ファイルはスキーマとして追加され、BtsCompile に設定されますが、次のようないくつかの制限があります。

  • [サービス参照の追加] はクライアント プロキシを追加しますが、これは BizTalk プロジェクトでは必要ありません (また、カスタム アセンブリからこのプロキシを使用するなど、開発者が愚かなことをするように「誘惑」する可能性があります)。
  • サービス参照は、複雑な WSDL のインポートを混乱させます (ジェネリックや他のスキーマへの依存関係など) 。Web サービスを使用する際の考慮事項を参照してください。

ウィザードを使用すると、Add Generated Items追加の作業が行われます。

  • サービスにアクセスするためのポート タイプを追加します。これは、正しいメッセージ タイプ用に事前設定されています。ただし、Port タイプをダミーの .odx に追加することに注意してください。つまり、Port タイプを別の場所に移動するまで、odx を削除しないでください。
  • 送信ポートのバインドを同時に作成できます。

ウィザードで推奨することの 1 つは、WCF 参照用のフォルダーを作成し、常にすべてのアーティファクトをフォルダーにインポートすることです (つまり、スキーマをポートから分離する通常の方法を実行せず、ダミーの .odx もそこに残します)。 . このように、アイテムを再生成する必要がある場合は、フォルダー内のすべてを削除してからやり直してください (残念ながら、ウィザードにはUpdate Service Reference同等の機能がありません。

また、生成されたスキーマとポートの種類を別のアセンブリに移動する場合は、型修飾子のアクセスを変更する必要があることに注意してくださいPublic(既定では内部です) 。

于 2012-10-17T12:26:01.697 に答える