2012-09-01 41 views
2

我們在Weblogic 10.3.5中部署了測試Web應用程序。 Web應用程序包含一個使用jax-ws調用部署在同一個weblogic中的Web服務的servlet。 訪問servlet引發以下例外:Weblogic 10.3.5中的jax-ws:IllegalAnnotationsException:2個IllegalAnnotationExceptions的計數

Two classes have the same XML type name "address". Use @XmlType.name and @XmlType.namespace to assign different names to them. 
this problem is related to the following location: 
    at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address 
    at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address com.sun.xml.ws.developer.MemberSubmissionEndpointReference.addr 
    at com.sun.xml.ws.developer.MemberSubmissionEndpointReference 
this problem is related to the following location: 
    at javax.xml.ws.wsaddressing.W3CEndpointReference$Address 
    at private javax.xml.ws.wsaddressing.W3CEndpointReference$Address javax.xml.ws.wsaddressing.W3CEndpointReference.address 
    at javax.xml.ws.wsaddressing.W3CEndpointReference 

我複製的servlet邏輯到共同的Java類,並運行它。測試成功。所以這個問題應該存在於Web應用程序中。

我已經嘗試了很多方法,修改weblogic-application.xml以添加像下面這樣的prefer-application-packages部分,但仍然不起作用。

<prefer-application-packages> 
    <package-name>javax.xml.ws.*</package-name> 
    <package-name>javax.xml.bind.*</package-name> 
    <package-name>javax.jws.*</package-name> 
    <package-name>javax.namespace.xml.*</package-name> 
    <package-name>javax.xml.soap.*</package-name> 
    <package-name>org.apache.xerces.*</package-name> 
    <package-name>org.apache.commons.*</package-name> 
    <package-name>com.sun.xml.*</package-name> 
</prefer-application-packages> 

任何人都可以幫助我在此,花在這個bug數天,毫無進展。 非常感謝您的回覆。

更新1

在Web應用程序中,我們不希望使用地鐵,只需使用從java.net下載JAXWS,並把放JAXWS-rt.jar中,JAXWS-API。 jar,jaxb和耳朵中的其他相關jar/APP-INF/lib。 WebLogic Classloader分析工具(wls-cat)告訴我們存在一些類衝突,並建議在weblogic-application.xml中添加prefer-application-packages。 因此,我們添加prefer-application-packages來告訴weblogic從我們的應用程序加載它們,而不是從weblogic jax-ws/metro implmentation加載它們。

但仍然無法正常工作。

回答

0

這個問題可能來自您希望在Weblogic中使用Metro JaxWs,該Weblogic具有名爲Oracle JaxWS(基於Metro)的自己的實現。

這裏是解釋如何使用Weblogic使用地鐵的鏈接: http://metro.java.net/guide/ch02.html#weblogic-10

如果你不;噸新城使用和依賴Oracle JAXWS你不必使用首選庫或任何特殊包裝。

+0

+ Cris,謝謝你的回覆。 –

+0

在Web應用程序中,我們不使用metro,只需從java.net使用jax-ws RI即可。我們將jaxws-rt.jar,jaxws-api.jar,jaxb和其他相關的jar放入ear/APP-INF/lib中。我們添加prefer-application-packages以確保weblogic從我們的應用程序加載它們,而不是從weblogic jax-ws/metro implmentation加載它們。我更新我的問題以添加更多信息。 –

+0

更改weblogic-application.xml後,此問題已得到解決 - 我會在找到它後發佈解決方案:) –

相關問題