1

WSDL を介して他社の Web サービスと対話しようとしています。

サービス参照として VS2010 にインポートしましたが、問題なくリクエストできます。問題は、戻り値の型が (xml の) 文字列であることです。今、私は WSDL の取引にかなり慣れていませんが、私が読んだことによると、契約には戻り値の型があり、サービス参照は魔法のように自動的にクラスを生成してくれます。

これを解決するにはどうすればよいですか?

  • XMLの文字列をマッピングできると思いますが、もしそうなら、誰かが私に良い例を見せてもらえますか? 私が無駄に試したように。
  • 指定した戻り値の型を使用するよう Web サービスに指示できますか?
  • それとも、WSDL について間違った考えを持っているのでしょうか? もしそうなら、誰かが私の理解の矛盾を説明してもらえますか?
4

1 に答える 1

2

あなたの基本的な考え方は正しいです。サービス wsdlを使用して、サービス操作への戻りオブジェクトと入力オブジェクトを定義する必要があります。サービス プロバイダーは、単に文字列を返すだけの正当な理由がある場合もあれば、よくわかっていない場合もあります。

あなたにとって WSDL は最後のフロンティアです。ビジネス パートナーが新しいものを提供できない限り、サービス インターフェイスを変更することはできません。そのため、XML 文字列を処理する必要があります。

XMLDocumentを確認してください。文字列を受け入れる Load() メソッドが提供されています。失敗した場合は、XSD がないか、文字列内に有効な/整形式の xml ドキュメントが含まれていない可能性があります。どちらの場合も、エラーを修正するか、追加情報を提供する必要があるのは、ビジネス パートナーです。

于 2012-06-25T07:28:11.837 に答える