1

サード パーティ ベンダーから、呼び出すことができると思われるサービスの wsdl が提供されました。リバース エンジニアリングを試みることなく、既存のサービス コントラクトとスキーマに基づいて BizTalk で WCF エンドポイントを公開することは可能ですか?

4

1 に答える 1

2

これは次のように行うことができます。

Visual Studio で開始:

  1. スキーマをインポートするプロジェクトで、右クリックして [生成されたアイテムの追加] を選択します。
  2. [WCF サービスを使用する] を選択します
  3. BizTalk 消費ウィザードを選択Metadata Files (WSDL and XSD)し、WSDL / XSD ファイルを追加して、成果物に名前空間を与えます。
  4. (.odx ファイルにはポート タイプが含まれているため、削除しないでください)
  5. 次に、適切な応答タイプの応答を返す受信メッセージを処理する Orch を作成します (たとえば、ベンダー提供の要求スキーマと応答スキーマをそれぞれ入力と出力として使用する、 ExposeWebService Biztalk サンプルを参照してください)。インポートされたポート タイプを使用して、要求と応答にスキーマを見つけて割り当てる時間を節約します。ポートには、ベンダーが期待する操作名も含まれます。
  6. プロジェクトをビルドして BTS にデプロイする必要があります。
  7. 次に、BizTalk WCF 発行ウィザードを使用して、ローカル IIS などで Web サービスを発行できます。メッセージ ボックス経由でダイレクト バインドを使用している場合、WCF 受信ポートが既にある場合は、新しい受信ポートを作成する必要はありません。仮想ディレクトリの名前を指定できますが、BizTalk は .svc の任意の名前を生成することに注意してください。
  8. BizTalk WCF 受信用のアプリ プールがまだない場合は、BizTalk 分離ホストと同じ資格情報を使用して作成する必要があります。
  9. 上記のウィザードで作成した仮想ディレクトリをアプリ プールに割り当てます。
  10. BizTalk の受信場所が実行されていることを確認します

これで、orch が公開されている仮想ルートに移動し、サービス参照を追加し、orch をテストできるようになります。

統合ベンダーは既に WSDL を持っているため、IIS を使用したくない場合は、公開を完全にスキップして (手順 7 ~ 9)、代わりに Biztalk で受信ポートを手動で直接作成してポート 80 でリッスンすることもできます。 WCF カスタム。これを許可するには、netsh を使用する必要がある場合があります (BizTalk が管理者アクセスなどで実行されている場合を除きますが、これはお勧めできません)。

于 2012-08-31T12:51:38.097 に答える