客户端调用web Service时抛出 java.lang.reflect.InvocationTargetException 异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端调用web Service时抛出 java.lang.reflect.InvocationTargetException 异常相关的知识,希望对你有一定的参考价值。

期待您的解答:我在client端调用web Service时抛出的异常,服务器用的是tomcat和axis。我定义了一个beanmapping,之前测试使用JavaBean作为参数返回字符串没有错误。但是当我使用JavaBean作参数插入到数据库中就抛出了异常,很奇怪和数据库有关的所有操作都会跑出异常。我想问这是什么原因?我搜了一下,网页又说是因为我的某些jar包没有加进来,可是我认为我已经加了所有的jar包。异常如下:
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
AxisFault
faultCode: http://schemas.xmlsoap.org/soap/envelope/Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
http://xml.apache.org/axis/hostname:buaa-bcb0204ac4

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 javax.xml.parsers.SAXParser.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.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
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 client.HelloWorldSoapBindingStub.addPerson(HelloWorldSoapBindingStub.java:293)
at TestHello.main(TestHello.java:37)
我的问题已经解决了!
原因是tomcat6.0\webapps\axis\WEB-INF\lib里面少了jar包。
我的异常是发生在调用数据库的函数那,我用的Hibernate映射,所以我把Hibernate用到的核心包都拷到了
tomcat6.0\webapps\axis\WEB-INF\lib里,就解决了。

参考技术A 你先保证客户端和服务端的jar包版本相同。
建议copy同一个副本分别在客户端和服务端。 比如说j2ee.jar,ojdbc14.jar之类的, 服务端, 最好放在$CATALINA_HOME/common/lib下面
参考技术B 是用Ecilipse里编的代码么?是不是在Xml解析工具那里你的jar包没导全啊。本回答被提问者采纳 参考技术C yhjuydty

以上是关于客户端调用web Service时抛出 java.lang.reflect.InvocationTargetException 异常的主要内容,如果未能解决你的问题,请参考以下文章

java写的excel导出时抛出的异常

调用 XMPPTCPConnection.login (Smack-4.1.0) 时抛出 SmackException$NoResponseException

搭建控制器时抛出的调用目标抛出异常

IBM MQ 在 SSL 握手时抛出 java.lang.UnsupportedOperationException

异常库

尝试从 servlet 调用 JDBC 时抛出 NullPointerException