今天把webServices已经全部开发完成,当然单元测试也全都通过,当再把所有代码部暑至测试服务器上,再进行测试
时,客户端调用接口时却报了如下异常:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: Error invoking 'com.xxx.xxx.getxx(xxxx)'. Nested exception is java.lang.reflect.InvocationTargetException: null
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:Error invoking 'com.xxx.xxx.getxx(xxxx)'. Nested exception is java.lang.reflect.InvocationTargetException: null
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 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.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.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)
.......
心想,在本机做单元测试时都没问题啊,怎么一部暑到服务器上就出问题了,肯定是少拷或拷错了文件导致服务器上接口方法与本机不一样,后面上服务器上一看,果然是一个类文件拷了老版本的了(由于接口内部实现更改了,引用了一个新的类,而拷的老版本还是以前的,所以客户端在调用时,才出现此异常),换上最新的文件,问题解决。
个人感觉出现这种问题应该都是接口内部实现时,没有找到所需要的对象、参数或者是所传入的请求参数类型不符、不存在所导致的,从这几方面出发应该可以找到错误。