2012-10-01 14 views
1

在 上部署了我的Spring WS 2 Web服務(使用JDOM2元素作爲參數)後,一個Weblogic 10.3.5服務器,根元素的子元素 - wich是我的端點功能的主要參數 - 從不包含TEXT內容。Weblogic 10.3.5上的SpringWS2和JDOM2 Web服務 - 請求元素文本沒有綁定

例子:

請求XML(如發送)

<root foo="bar"> 
    <doo>dat</doo> 
</root> 

請求JDOM2元素結構(如功能介紹)

<root foo="bar"> 
    <doo/> 
</root> 

這工作在JUnit罰款和GlassFish服務器上。 目前還沒有針對weblogic的特殊配置。

我懷疑某些weblogic庫可能會覆蓋JDOM2實現 ,但如果您有類似的體驗,我將非常感激一些輸入。

更新

在調試到jdom2實現我發現,那 文本進入DOMBuilder爲 「weblogic.xml.saaj.TextImpl」。 JDom無法提取文本。

也許有人有一個提示如何防止weblogic庫 搞亂了應用程序......?

使用Maven的依賴:

<dependency> 
    <groupId>com.sun.xml.messaging.saaj</groupId> 
    <artifactId>saaj-impl</artifactId> 
    <version>1.3.3</version><!-- or higher --> 
</dependency> 

添加到Spring配置文件

(感謝您的評論太)

+1

我檢查並掃描了JDOM2代碼,並且可以確認它t JDOM 2.x序列化應該工作正常。我知道這並不能幫助解決問題,但它應該有助於將注意力集中在問題更可能出現的位置。請在您解決問題時更新此問題。 – rolfl

回答

2

我用SAAJ消息出廠設置爲Sun實現解決了這個問題:

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> 
    <property name="messageFactory"> 
    <bean class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1_Impl"/> 
    </property> 
</bean> 
+1

感謝您的更新 – rolfl