Ahm*_*ENE 5 spring weblogic jdeveloper jax-ws
我正在尝试使用JDK 1.6.0_31-b05中的JDeveloper 11g R2(11.1.2.3.0)运行包含JAX WS(2.1)Webservice的应用程序.该错误来自该类中存在的@WebService注释.
当我运行应用程序时,我收到以下错误,
Run Code Online (Sandbox Code Playgroud)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提供的库.JDK rt.jar中的类RuntimeModeler或TypeReference存在以包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>
Run Code Online (Sandbox Code Playgroud)我尝试在DefaultDomain/lib目录中添加jaxws-api.jar和jws-api.jar,但这不起作用
任何线索如何解决此异常或如何强制weblogic使用jdk运行时类?相同的应用程序在独立的weblogic上正常工作.
您是否尝试过在清单 class-path: 属性中列出正确的 jar?您还可以将 jdk 类放入应用程序中,并尝试使用 FilteringClassLoader 来指定要从应用程序而不是系统类加载器使用哪些类。
http://docs.oracle.com/cd/E15051_01/wls/docs103/programming/classloading.html#wp1097263
| 归档时间: |
|
| 查看次数: |
2139 次 |
| 最近记录: |