サード パーティ ベンダーから、呼び出すことができると思われるサービスの wsdl が提供されました。リバース エンジニアリングを試みることなく、既存のサービス コントラクトとスキーマに基づいて BizTalk で WCF エンドポイントを公開することは可能ですか?
質問する
5695 次
1 に答える
2
これは次のように行うことができます。
Visual Studio で開始:
- スキーマをインポートするプロジェクトで、右クリックして [生成されたアイテムの追加] を選択します。
- [WCF サービスを使用する] を選択します
- BizTalk 消費ウィザードを選択
Metadata Files (WSDL and XSD)
し、WSDL / XSD ファイルを追加して、成果物に名前空間を与えます。 - (.odx ファイルにはポート タイプが含まれているため、削除しないでください)
- 次に、適切な応答タイプの応答を返す受信メッセージを処理する Orch を作成します (たとえば、ベンダー提供の要求スキーマと応答スキーマをそれぞれ入力と出力として使用する、 ExposeWebService Biztalk サンプルを参照してください)。インポートされたポート タイプを使用して、要求と応答にスキーマを見つけて割り当てる時間を節約します。ポートには、ベンダーが期待する操作名も含まれます。
- プロジェクトをビルドして BTS にデプロイする必要があります。
- 次に、BizTalk WCF 発行ウィザードを使用して、ローカル IIS などで Web サービスを発行できます。メッセージ ボックス経由でダイレクト バインドを使用している場合、WCF 受信ポートが既にある場合は、新しい受信ポートを作成する必要はありません。仮想ディレクトリの名前を指定できますが、BizTalk は .svc の任意の名前を生成することに注意してください。
- BizTalk WCF 受信用のアプリ プールがまだない場合は、BizTalk 分離ホストと同じ資格情報を使用して作成する必要があります。
- 上記のウィザードで作成した仮想ディレクトリをアプリ プールに割り当てます。
- BizTalk の受信場所が実行されていることを確認します
これで、orch が公開されている仮想ルートに移動し、サービス参照を追加し、orch をテストできるようになります。
統合ベンダーは既に WSDL を持っているため、IIS を使用したくない場合は、公開を完全にスキップして (手順 7 ~ 9)、代わりに Biztalk で受信ポートを手動で直接作成してポート 80 でリッスンすることもできます。 WCF カスタム。これを許可するには、netsh を使用する必要がある場合があります (BizTalk が管理者アクセスなどで実行されている場合を除きますが、これはお勧めできません)。
于 2012-08-31T12:51:38.097 に答える