求助: axis调用webservice出错 异常:recv failed
客户端循环调用服务端的webservice时,有成功,有的会出现如下错误,服务端的程序是别的公司提供的,具体是用什么开发的我不清楚。
客户端代码是用java写的,最初使用的是axis1.2 + jdk1.5.0,我查此配置的日志是没有如下这种报错的,但是调用的速度很慢,可能要7,8秒,后来调整了机器的java环境,使用了jdk1.4.2 + axis1.2 速度上来了只要2秒就可以完成一次交互。但有时候会有如下的报错,后来我又调整了使用了jdk1.4.2 + axis1.4 还是有的连接会报如下的错误。
(axis1.4的包中我把log4j1.2.8换成了log4j1.2.14)
客户端的调用代码我是根据对方提供的WSDL文件,使用axis的wsdl2java来生成。
--------------------------------
报错如下:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.SocketException: Software caused connection abort: recv failed
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.apache.crimson.parser.XmlReader$Utf8Reader.read(XmlReader.java:645)
at org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1068)
at org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
at org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1183)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:653)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
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:424)
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:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at com.lugerman.stub.SMSInterfaceSoapBindingStub.SMSInterface(SMSInterfaceSoapBindingStub.java:122)
at com.lugerman.engine.ServiceConnector.send(ServiceConnector.java:38)
at com.lugerman.engine.Engine.dealSubscriber(Engine.java:261)
at com.lugerman.tfca.engine.TFCAEngine.run(TFCAEngine.java:150)
{http://xml.apache.org/axis/}hostname:nyboss-ca
java.net.SocketException: Software caused connection abort: recv failed
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
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:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at com.lugerman.stub.SMSInterfaceSoapBindingStub.SMSInterface(SMSInterfaceSoapBindingStub.java:122)
at com.lugerman.engine.ServiceConnector.send(ServiceConnector.java:38)
at com.lugerman.engine.Engine.dealSubscriber(Engine.java:261)
at com.netcast.tfca.engine.TFCAEngine.run(TFCAEngine.java:150)
Caused by: java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.apache.crimson.parser.XmlReader$Utf8Reader.read(XmlReader.java:645)
at org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1068)
at org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
at org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1183)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:653)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
... 16 more