這是我的要求Envelope
,與xsi:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
聲明把我myRequestMethod
XML標籤:春WS與命名空間聲明麻煩模式實例
<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以允許它? 用戶自動生成客戶端和請求,所以他不能改變他的一面。
我沒有這些,我的方法是由XSD定義的,端點是在Java中。你能更精確些嗎?我的端點有類似的東西:@PayloadRoot(localPart =「myRequestMethod」,namespace =「http://www.foo.bar/ws」)'。 – Jaanus
雖然我們使用Apache CXF for SOAP來定義WebService,但上述方式適合使用nameSpace定義方法。 – VinayVeluri