【问题标题】:Eclipse with tomcat : java.lang.reflect.InvocationTargetException when I try running a web service client带有tomcat的Eclipse:当我尝试运行Web服务客户端时出现java.lang.reflect.InvocationTargetException
【发布时间】:2014-03-17 17:54:47
【问题描述】:

我正在使用 Axis2/Eclipse/Tomcat 开发 SOAP Web 服务,当我尝试运行 Web 服务客户端时,我点击了 java.lang.reflect.InvocationTargetException

我在 Eclipse 上有两个项目:MyWebService,其中包含实际的源代码以及我生成 wsdl 的位置;以及MyWebServiceClient,其中包含代理、服务定位器、soap绑定存根等(由Eclipse自动生成)

以后作为 SOAP 方法公开的 java 方法在作为 Java 应用程序运行时正常工作。

我更改了几次代码,并用虚拟内容替换了方法体(例如,直接返回 1 或返回真,没有任何逻辑处理)。存根运行良好。

从这个意义上说,我注意到的一件事是,只有当我在我的 JSP 文件(位于客户端项目上)上从“MyWebService”项目中实例化一个类时,才会出现问题。这让我想到了另一个想法:“MyWebServiceClient”中对“MyWebService”类的引用在哪里? (我找不到任何...)

客户端是自动生成的,所以我相信我在这里遗漏了一些东西...如果缺少对 WS 的引用,将它们添加到 MyWebServiceClient 中的正确方法是什么?

谢谢

-编辑- 这是堆栈跟踪:

java.lang.reflect.InvocationTargetException
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at net.phil.hello.HelloSoapBindingStub.poll(HelloSoapBindingStub.java:149)
    at net.phil.hello.HelloProxy.poll(HelloProxy.java:56)
    at org.apache.jsp.aa_jsp._jspService(aa_jsp.java:72)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
    at java.lang.Thread.run(Thread.java:777)

【问题讨论】:

  • 共享完整异常,应包含相关信息。也可以搜索服务器端的 tomcat 日志。
  • 我注意到的另一件事:只有在我使用 HIBERNATE 时它才会失败
  • 如果您使用了 CodeGen 插件,请检查this link。我认为轴与您的信息有问题。请检查 WSDL 和 XSD 目标命名空间的声明或分享您的信息。

标签: java eclipse web-services tomcat7 axis


【解决方案1】:

hibernate JAR 没有包含在 Web 项目 (WEB-INF/lib) 中,只包含在 Eclipse 项目中

感谢狮子座。

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2021-02-26
    • 2011-05-06
    相关资源
    最近更新 更多