単一の Web メソッドを持つ Web サービスがあります。
[WebMethod]
public string SendInt([XmlElement(IsNullable=false)] int someInt)
{
return "Hello World";
}
この Web メソッドによって生成される WSDL には、次の行が含まれます。
<s:element name="SendInt">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="someInt" type="s:int"/>
</s:sequence>
</s:complexType>
</s:element>
WSDL は、要求パラメーターが minOccurs=1 の値型 (int) であることを明確に示していますが、SoapUI を使用して次の要求を送信している場合:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:SendInt>
</tem:SendInt>
</soapenv:Body>
</soapenv:Envelope>
someIntパラメーターが欠落していることを示すエラーではなく、サーバーから有効な応答を取得しています。
サーバーでは、 someIntパラメータに 0 の値が割り当てられていることがわかります。
これは正常な動作ですか?
その場合、ユーザーが値 0 を送信したのか、単にこのパラメーターを送信するのを忘れたのか、Web メソッドでどのように知ることができますか?
通常の動作ではない場合、どうすれば修正できますか?