4

可変量の変数を渡す予定の Web サービスを作成しようとしています。

これはできますか?

基本的に、すべての可能なパラメーターを渡す代わりに、設定された値のみを渡し、Web サービスで設定されたデフォルトを使用したいと考えています。

送信しようとしている XML の例を次に示します。必要な戻り値に応じて、不明な量の関数を送信します。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <WebMethod xmlns="http://tempuri.org/">
      <domains>
        <function1>
        <title>Some Title</title>
        <type>25</type>
        </function1>
    <function2 />
    <function3>
        <param>13</param>
    </function3>
      </domains>
    </WebMethod>
  </soap:Body>
</soap:Envelope>

これは機能しますか、それとも別の方法で行う必要がありますか?

4

4 に答える 4

5

このために concreate 関数を実行する代わりに、xml ドキュメントを渡します。

あなたの例のWebサービスは漏れやすいです.消費者は、このインターフェースと内部のWebサービスの実装についてあまりにも多くのことを知る必要があります.

XML ドキュメントを作成し、それを XSD と結び付けます。そうすれば、Web サービスへの入力を事前に検証できます。

これらを見てください

IBM 開発者 ASP.NET フォーラム

これを Web サービスとその無料 の WSStudioのテストにも使用することをお勧めします。

于 2008-08-29T08:02:00.543 に答える
0

可変長配列をパラメーターとして渡すだけです。

于 2008-08-29T07:41:54.693 に答える
0

配列のアイデアが気に入らない場合 (これは Konrad の答えを特定するものではありません - 異なるパラメーター タイプがある可能性があります)、複雑なオブジェクト (つまり、自分で作成したオブジェクト) を渡すことができます。欠点は、ASMX を使用してテストできないことです。ただし、コードですべてを行う必要があります (これは、特に慣れている場合は特に悪いことではありません)。

于 2008-08-29T07:46:13.857 に答える
0

私はlittlegeekに同意します。Web サービスを難しい方法にしないでください。メッセージを受信する受信エンドポイントにします。特に、コマンド メッセージ。

http://www.eaipatterns.com/CommandMessage.html

于 2008-08-29T09:15:32.583 に答える