这是我的请求Envelope
,xsi:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
声明放在我的myRequestMethod
XML 标记中:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sd="http://www.foo.bar/ws"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soapenv:Header/>
<soapenv:Body >
<sd:myRequestMethod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<sd:name xsi:nil="true"/>
这有效(用 SoapUI 测试),但是当我的用户生成soap客户端时,xsi:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
声明会自动放在Envelope
这样的标签中(最外面的标签):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sd="http://www.foo.bar/ws"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body >
<sd:myRequestMethod>
<sd:name xsi:nil="true"/>
这给了他
The namespace associated with the prefix 'xsi' could not be resolved.
这是正常的行为吗,如果肥皂不在内部标签中,肥皂就无法理解它吗?或者我可以以某种方式配置我的 spring-ws 以允许它?用户自动生成客户端和请求,所以他不能改变他的立场。