我有一个webservice,请求有效负载如下
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:poc="http://www.poc.mbo.demo.com">
<soapenv:Header/>
<soapenv:Body>
<poc:doTransaction>
<!--Optional:-->
<dealerid>1</dealerid>
<!--Optional:-->
<partid>1</partid>
<!--Optional:-->
<quantity>2</quantity>
<!--Optional:-->
<orderdate>12-DEC-2012</orderdate>
</poc:doTransaction>
</soapenv:Body>
</soapenv:Envelope>
但是,如果我尝试这样做,它没有给出任何回应。可能是什么问题
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:poc="http://www.poc.mbo.demo.com">
<soapenv:Header/>
<soapenv:Body>
<poc:doTransaction>
<!--Optional:-->
<poc:dealerid>1</poc:dealerid>
<!--Optional:-->
<poc:partid>1</poc:partid>
<!--Optional:-->
<quantity>2</quantity>
<!--Optional:-->
<poc:orderdate>12-DEC-2012</poc:orderdate>
</poc:doTransaction>
</soapenv:Body>
</soapenv:Envelope>
答案 0 :(得分:0)
第一个示例中的doTransaction
元素不在http://www.poc.mbo.demo.com
命名空间中。
您的请求未通过验证(假设已启用验证)或服务器忽略无效元素并将请求视为等效于:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:poc="http://www.poc.mbo.demo.com">
<soapenv:Header/>
<soapenv:Body>
<poc:doTransaction />
</soapenv:Body>
</soapenv:Envelope>
答案 1 :(得分:0)
根据ur服务的WSDL,元素将与命名空间(XSD)相关联,但其他元素可能是另一个命名空间(XSD)的一部分,
要理解这一点,只需检查WSDL的类型部分和操作,检查哪个类型(元素)与哪个XSD相关联..你可以很容易地理解它是否失败..
将名称空间视为导入类并键入,因为它是状态之一(:)只是为了便于理解)