到來時,我有從CXF web服務,其中defaultElementForm =「不合格」,託管在Wildfly 8,採用最新的Java 7,當我的Java客戶端連接,它們做工精細,如果從CXF產生的,因爲他們的SOAP消息的內容是這樣的:Wildfly Web服務JAXB解組錯誤從.NET客戶端
<ns:MyCall1 xmlns:ns="http://example.com/">
<MyCall2>
...
的.NET客戶端,是完全一樣的消息,只有一個區別,這不起作用:
<MyCall1 xmlns="http://example.com/">
<MyCall2 xmlns="">
。 ..
不幸的是,失敗的原因,是它看起來像JAXB是忽略的xmlns =「」完全,所以它認爲命名空間仍然http://example.com/,這不符合「」不合格得到你。如果我將它更改爲xmlns =「a」,那麼它會得到一個錯誤,說明a與預期的命名空間「」不匹配,但如果我將其保留爲「」,則表示http://example.com/與預期的「」不匹配。所以它忽略了清除默認命名空間所需的xmlns =「」。
必須有一些設置,或者一些方法,使通過JAXB Java Web服務解釋是正確的。請幫忙!
,將工作和.NET提供互操作性,如果你能夠改變的模式,以勝任元件(以及想這樣),但它使XML消息相當長的時間,需要改變的WSDL。 另一種解決方案,只是做一個SOAP處理程序,如有必要,.NET風格轉換SOAP消息給我們的格式 - 極差不過,我希望有一個更好的,你會覺得這是一個常見的問題,似乎像jaxb/wildfly沿線的奇怪問題。 – 2015-01-12 18:28:07