【发布时间】:2014-05-14 13:48:06
【问题描述】:
这是我在 Websphere 上运行代码时遇到的错误。
NoSuchMethodError: javax/ws/rs/core/Response.readEntity(Ljava/lang/Class;)Ljava/lang/Object;
在 Tomcat 上运行时没有出现同样的错误
代码是(抛出异常的最后一行)
WebClient client = WebClient.create("http://x.x.x.:8080/webp/services/RS/webp/pt/" );
client.accept(APPLICATION_XML);
Response r = client.post(request);
WebPTResponse resp = r.readEntity(WebPTResponse.class);
现在,呼叫是从一个 Web 服务器到另一个。 如果我用我的 Tomcat 调用目标,它可以工作,如果我从 Websphere 调用它,则会出错。
Response 对象的实例是一个
wsjar:file:/opt/was/profiles/WTUKCWASESI01_NODE01/installedApps/BS_Cell/ESIPTService.ear/ESIPTService.war/WEB-INF/lib/cxf-rt-frontend-jaxrs-2.7.7.jar!/org/apache/cxf/jaxrs/impl/ResponseImpl.class
Websphere 中的类加载设置为 Parent Last。
我不知道下一步该尝试什么。
如果我调试并尝试进入对 readEntity 的调用,它会在此时出错。
任何人都可以提出一个原因或其他我可以测试的东西吗?
全栈。
java.lang.NoSuchMethodError: javax/ws/rs/core/Response.readEntity(Ljava/lang/Class;)Ljava/lang/Object; 在 com.ptservice.impl.internal.PtServiceInternalImpl.sendRequest(PtServiceInternalImpl.java:191) 在 com.ptservice.impl.internal.PtServiceInternalImpl.processPt(PtServiceInternalImpl.java:126) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 在 java.lang.reflect.Method.invoke(Method.java:611)
远程调试显示...
r.getClass().getDeclaredMethods()[31]
(java.lang.reflect.Method) 公共 java.lang.Object org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(java.lang.Class) 投掷 javax.ws.rs.MessageProcessingException,java.lang.IllegalStateException
【问题讨论】:
-
你能分享完整的堆栈跟踪吗?
-
您好,您能解决这个问题吗?我也面临类似的问题。请参考stackoverflow.com/questions/24139097/…
标签: java jaxb websphere tomcat7 cxf