java.lang.IllegalArgumentException异常

时间:2011-08-01 17:11:03

标签: java eclipse illegalargumentexception

我不是Java的初学者(我是.NET开发人员),但是我必须在通过代理类调用WebMethod时修复Java错误。 从.NET,我可以毫无问题地调用它,但在Java中,这就是发生的事情:

java.lang.IllegalArgumentException

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 weblogic.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1411)
    at weblogic.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1613)
    at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1174)
    at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:399)
    at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:1147)
    at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
    at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:147)
    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 com.verizon.vmw.csgw.ws.updateDOJob.v4_4.wsdl.UpdateDOJobServiceSoapBindingStub.updateDOJob(UpdateDOJobServiceSoapBindingStub.java:206)
    at com.verizon.vmw.csgw.ws.updateDOJob.v4_4.wsdl.UpdateDOJobServiceProxy.updateDOJob(UpdateDOJobServiceProxy.java:50)
    at rm.interfaces.wfadosnd.WfaDoSndWorker.updateDOJobComments(WfaDoSndWorker.java:1111)
    at rm.interfaces.wfadosnd.WfaDoSndWorker.checkEtaAsgn(WfaDoSndWorker.java:507)
    at rm.interfaces.wfadosnd.WfaDoSndWorker.resequenceDODispatches(WfaDoSndWorker.java:541)
    at rm.interfaces.wfadosnd.WfaDoSndWorker.processOutboundRows(WfaDoSndWorker.java:283)
    at rm.interfaces.wfadosnd.WfaDoSndWorker.run(WfaDoSndWorker.java:112)
    at rm.util.WorkerThread.run(ThreadPool.java:152)

有没有人知道可能导致此异常的原因?

4 个答案:

答案 0 :(得分:1)

使用Wireshark检查电汇是什么,并使用java请求区分.NET请求。

答案 1 :(得分:0)

您的网络应用程序看起来正在接收消息,其中一个字段无法验证它是正确的类型(或可接受的值)。

这是一个数据问题,还是编码问题严重依赖于未提供的数据,代码和意图。

答案 2 :(得分:0)

从堆栈跟踪中的类名称可以看出,在Web服务响应的反序列化期间抛出了异常。

异常本身非常通用,因此几乎没有有用的信息。

尝试查看通过线路发送的响应,或在eclipse中设置异常断点,以便您可以检查堆栈帧,抛出异常以获取其他上下文。 (为了简化对出错的解释,您可能希望获得Web服务堆栈的源代码。)

答案 3 :(得分:0)

在代码中查找为用户输入解析的内容

喜欢这个Integer i = Integer.parseInt("string");

并且“字符串”不包含有效数字