java - 当我尝试运行 Web 服务客户端时,Eclipse 与 tomcat : java. lang.reflect.InitationTargetException

标签 java eclipse web-services tomcat7 axis

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

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

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

我更改了代码几次,并用虚拟内容替换了方法体(例如,返回1或直接返回true,没有任何逻辑处理)。 stub 工作得很好。

从这个意义上说,我注意到的一件事是,只有当我在 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)

最佳答案

hibernate JAR 尚未包含在 Web 项目 (WEB-INF/lib) 中,仅包含在 Eclipse 项目中

谢谢狮子座。

关于java - 当我尝试运行 Web 服务客户端时,Eclipse 与 tomcat : java. lang.reflect.InitationTargetException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461745/

相关文章:

java - 什么更好 : a single class with some attributes unfilled or multiple classes with attributes filled?

java - JTextField 不响应 JButtons

android - 无法在 AVD Manager 中更改目标 API

java - SOAP 服务客户端不发送用于基本身份验证的 Mime header

java - jax-ws:设置请求的内容类型

java - 混淆字符串

java - 将 Hibernate 集成到 Spring 3 项目中

java - 类型 Dynamic Web Module 3.0 需要 Java 1.6 或更新版本,java 插件错误

java - 获取 java.lang.ClassNotFoundException : SessionFactory when I try to deploy the war

java - JAX-RS 中方法类型的最佳实践