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方法的名稱,沒有參數元素 –