的CXF生成客戶端發送以下SOAP請求不從他們身邊返回記錄的命名空間:CXF-CODEGEN生成的客戶端需要在SOAP信封
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PersonSearch xmlns="http://tlo.com/">
<genericSearchInput>
....
</genericSearchInput>
</PersonSearch>
</soap:Body>
</soap:Envelope>
soapUI的請求如下所示,並沒有返回記錄:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tlo="http://tlo.com/">
<soapenv:Header/>
<soapenv:Body>
<tlo:PersonSearch>
<!--Optional:-->
<tlo:genericSearchInput>
...
</tlo:genericSearchInput>
</tlo:PersonSearch>
</soapenv:Body>
</soapenv:Envelope>
我看到的唯一區別是,而不是在SOAP信封的命名空間聲明和使用命名空間前綴的默認命名空間聲明。我嘗試了幾種不同的方法來讓CXF生成的客戶端創建相同類型的soap請求。任何人都可以提供一些指針,或者我需要使用其他的東西嗎?
我使用org.apache.cxf:CXF-CODEGEN-插件:2.5.2在JDK 6
兩者都是正確的方式做SOAP消息,但一些服務顯然解釋很奇怪的方式SOAP標準。他們顯然似乎想要通過純粹的字符串操作去除信封,而這種操作是非常錯誤的。什麼服務框架在做服務器端綁定? – 2012-04-17 14:09:38