因此,我正在爲已存在的應用程序編寫一個Spring Web服務來與之通話。我有服務工作到它將接收請求並回應它的地方,但事情是,應用程序期望響應是普通舊XML(POX)。我的回答是目前連接到它,像這樣的SOAP頭:使用Plain Old XML(POX)創建Spring Web服務
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我需要什麼返回是這樣的:
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
從我發現,春天是做這個的非常多能幹我認爲它與DomPoxMessageFactory
有關,但我發現的所有例子都使用Spring WS的舊版本,比如v1.5。即使是Spring發行版中的POX樣本也是在3年前編寫的。謝謝你的幫助!
編輯:我也使用spring-ws v2.1.2。到目前爲止我的代碼非常相似,你會發現這裏是什麼:http://static.springsource.org/spring-ws/sites/2.0/reference/html/tutorial.html
只有在request.xml中指定名稱空間時,此修改纔有效。對於您提供的鏈接中指定的情況,命名空間被省略。因此,您需要爲CountryEndpount(檢查PayloadRoot批註)設置空名稱空間,或者擴展DomPoxMessage.createWebServiceMessage()方法以更新文檔節點名稱空間。 – 2016-10-20 19:19:34
@loshadvtapkah謝謝你的評論!除非你想自己添加它作爲答案,否則我會將其添加到我的答案中? – eis 2016-10-21 08:12:17
請做。我沒有看到添加相同但更新的答案的理由。如果你需要,我可以提供一個工作代碼。 – 2016-10-22 10:23:38