Weblogic 10.3.5 にデプロイされたテスト Web アプリケーションがあります。Web アプリケーションには、jax-ws を使用して同じ Weblogic にデプロイされた Web サービスを呼び出すサーブレットが含まれています。サーブレットにアクセスすると、次の例外がスローされます。
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
サーブレットのロジックを共通の 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>
誰でもこれについて私を助けることができ、このバグに数日を費やしましたが、まったく進歩しませんでした。事前にご返信いただきありがとうございます。
更新 1
Web アプリケーションでは、metro を使用したくありません。java.net からダウンロードした jax-ws を使用し、put jaxws-rt.jar、jaxws-api.jar、jaxb およびその他の関連 jar を ear/APP に配置します。 -INF/lib.
WebLogic クラスローダ分析ツール (wls-cat) は、いくつかのクラスの競合があることを通知し、weblogic-application.xml に優先アプリケーション パッケージを追加することを提案します。そのため、prefer-application-packages を追加して、weblogic jax-ws/metro 実装からではなく、アプリケーションからそれらをロードするよう weblogic に指示します。
しかし、まだ機能しません。