JDK 1.6.0_31-b05 で JDeveloper 11g R2(11.1.2.3.0) を使用して、JAX WS (2.1) Web サービスを含むアプリケーションを実行しようとしています。エラーは、クラスに存在する @WebService アノテーションから発生しています。
アプリケーションを実行していると、以下のエラーが発生します。
java.lang.IllegalArgumentException: Argument(s) "type" can't be null. at com.sun.xml.bind.api.TypeReference.<init>(TypeReference.java:89) at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:758) at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:678) at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:428) at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:277) at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:363) at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:202) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:496) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:539) at weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint(JAXWSDeployedServlet.java:183)
組み込みの Web Logic は、JDK から提供されるライブラリではなく、内部ライブラリを使用しているようです。クラスRuntimeModeler
またはTypeReference
JDK rt.jar に存在するものは、パッケージ com.sun.xml.ws.internal で始まります。Weblogic はこれらのクラスを glassfish.jaxb_1.0.0.0_2-1-12.jar および glassfish.jaxws.rt_1.2.0.0_2-1-5.jar から選択していますが、これらの jar はアプリケーションの一部ではありません。
以下のタグで weblogic.xml を既に使用しています。
<prefer-web-inf-classes>true</prefer-web-inf-classes>
DefaultDomain/lib ディレクトリに jaxws-api.jar と jws-api.jar を追加しようとしましたが、うまくいきませんでした
この例外を解決する方法、または weblogic に jdk ランタイム クラスを使用させる方法の手がかりはありますか? 同じアプリケーションがスタンドアロンの weblogic で適切に動作します。