既存のツールを使用せずに、クライアントがそのように送信する必要がないように、Web サービスの動作方法を変更することを意味する場合。これは、XML がコード関数にマップされる方法に関係しています。
あなたの関数がコード ビハインドでどのように見えるか正確にはわかりませんが、XML から、次のように見えると推測できます (戻り値を推測します)。
[WebMethod]
private bool DisplayNames(Name[] Names)
{
...
}
この特定のサービスは、名前の配列だけを取ります。<Names>
タグは、その 1 つの入力パラメーターを指定しました。ランタイムはこれを予期される名前パラメーターとして認識し、解析することができます。あなたが考えていることは、すべての Web サービスが 1 つの配列パラメーターのみを受け取る場合に機能する可能性があります。
それが理にかなっているのかどうかはわかりませんが、例として、この Web サービスも「IgnoreErrors」という名前のブール値を取るとします。
[WebMethod]
private bool DisplayNames(Name[] Names, bool IgnoreErrors)
{
...
}
XML は次のようになります。
<soap:Body>
<DisplayNames xmlns="http://tempuri.org/">
<Names>
<Name>
<FirstName>string</FirstName>
<LastName>string</LastName>
</Name>
<Name>
<FirstName>string</FirstName>
<LastName>string</LastName>
</Name>
</Names>
<ShowErrors>
<value>false</value>
</ShowErrors>
</DisplayNames>
求めていることを実行する場合、タグを削除すると、次のようになります。
<soap:Body>
<DisplayNames xmlns="http://tempuri.org/">
<Name>
<FirstName>string</FirstName>
<LastName>string</LastName>
</Name>
<Name>
<FirstName>string</FirstName>
<LastName>string</LastName>
</Name>
</Names>
<ShowErrors>
<value>false</value>
</ShowErrors>
</soap:Body>
それを見て、コード ビハインドで Function シグネチャがどのように見えるかを想像してみてください。1 つの配列と 1 つのブール値の代わりに、これは 2 つの辞書と 1 つのブール値のように見えます。
繰り返しますが、<Name>
タグはコード ビハインド関数の Name パラメーターを識別します。