2015-09-04 34 views
1

我正在使用Camel Spring-WS將我的端點公開爲Web服務。有時當我使用SoapUI測試Web服務時,出現這個奇怪的錯誤,「無法轉換類型爲javax.xml.transform.stax.staxsource的源」。但是,當我重新啓動我的Jboss服務器(我的項目部署位置)時,它會消失,我會得到正確的響應。目前,我正在使用服務器重新啓動作爲解決方法。有沒有辦法永久擺脫這個問題。我不想在生產中遇到這些問題。任何建議,非常感謝。如何在使用Spring-WS時修復Java中stax源錯誤的問題?

回答

1

由於沒有明顯的原因而開始引發JAXP異常,並且在服務器重新啓動後奇蹟般地消失,這通常表示某些在應用程序服務器上運行的代碼會修改JAXP使用的系統屬性之一,以便使用的工廠JAXP的變化。

對於您的情況,這可能是由更改javax.xml.transform.TransformerFactory系統屬性的代碼引起的,並且這樣做會配置不支持StAXSource的新XSLT實現。

請注意,在JavaEE環境中,應用程序代碼決不應嘗試更改系統屬性,因爲它們具有JVM範圍寬的範圍。

爲了確認這是問題的根本原因,您可以嘗試使用JMX連接到服務器,以便在運行時檢查系統屬性,或者您可以將一些代碼添加到應用程序中,以記錄相關係統財產的價值。

相關問題