0
我有单个web方法的web服务自动分配0值:Web服务请求与丢失的int参数时的minOccurs = 1
<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明确指出,请求参数是一个值类型(INT)与的minOccurs = 1,但是当我使用了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参数丢失的错误,从服务器的有效响应。
在服务器我可以看到,0值被分配给someInt参数。
这是正常的行为呢?
如果是这样,我怎么能知道我的网络方法,如果用户发送0值或只是忘了发送这个参数?
如果这不是一个正常的行为,我该如何解决它?
很抱歉,但我不明白的东西 我省略了线 '一些整型值 TEM:someInt>' 如何在请求中的元素? 对不起,如果它是明显的,但你可以请扩大一点点? –
当然,在你的wsdl中,你有正确的元素SendInt,你在soapUI请求中使用它,你在那里有 tem:SendInt>元素。这意味着你确实在请求中指定了元素,但没有给它赋值。然后默认为0. –
Chino
但是在我的WSDL中,minOccurs = 1分配给** someInt **元素,而不是** SendInt **元素(这是web方法的名称)。据我了解,在我的请求中,我只发送web方法的名称,没有参数元素 –