1

Biztalkオーケストレーション内からSOAPWebサービスを呼び出そうとすると、この問題が発生します。WebサービスはSAPによってSOAPWebサービスとして公開されているabapiであり、呼び出したいWebメソッドの署名は次のようになります。

Operation(param1 as System.String, param2 as System.String, param3 ArrayOfSomeClass)

生成されたスキーマを見ると、「ArrayOfSomeClass」と「SomeClass」のみが生成されていることに気付きました。しかし、リクエスト全体を表すスキーマは表示されません。また、Webポートタイプが生成され、要求メッセージがマルチパートメッセージとして表されていることにも気づきました。このメッセージの一部には、すべてのスカラーパラメーター(param1、param2)と配列が含まれています。

割り当て図形を使用してメッセージをコードで入力できることはわかっていますが、別のメッセージをWebサービス要求にマップしたいので、これは私が望むものではありません。

これは可能ですか?誰かが同様の問題を抱えていましたか?

前もって感謝します!

4

1 に答える 1

2

あなたの観察は正しいです、スキーマは単純なタイプのために生成されません、そしてそれはここに明確に文書化されて、あなたがそのようなタイプでどのように働くべきかを説明します。

http://msdn.microsoft.com/en-us/library/aa561724(BTS.20).aspx

XSDには単純なパラメータータイプのノードが含まれませんWeb参照を追加し、Webメソッドに単純なタイプのパラメーターがある場合、生成されたXSDにはそのパラメーターのノードが含まれません。代わりに、生成されるマルチパートメッセージには、単純タイプのパートが含まれます。オーケストレーションは、このメッセージ部分を適切に処理する必要があります。Webサービスへのリクエストの一部である場合は、メッセージ割り当ての形を使用して、その部分に手動で値を割り当てます。Webサービスからの応答の一部である場合は、式の形でその部分に手動でアクセスして、値を確認します。

私はあなたの2番目のポイントを取得できませんでした

別のメッセージをWebサービスリクエストにマッピングしたいと思います。

于 2010-03-04T17:13:44.397 に答える