axis客户端出现.ConfigurationException: java.io.IOException: Stream closed

lcwben 2018-03-03 09:17:14
使用axis客户端发送xml消息,出现org.apache.axis.ConfigurationException: java.io.IOException: Stream closed.
代码如下:

HttpUrlWebClient.sendMobilMessage方法

public String sendMobilMessage(List<Boolean> flagList){

if(!isSendMessage(flagList)){
return null;
}
String sentSOAPMsg = null;
try {
String xmlInfo = messageServiceInfo.getXmlInfo();
xmlInfo = xmlInfo.replace("#1", "one");
String flag = System.currentTimeMillis()+"";
flag = flag.substring(flag.length()-8);
xmlInfo = xmlInfo.replace("#2", flag);
xmlInfo = xmlInfo.replace("#3", "调用:["+httpUrlStatusInfo.getUrl()+"]异常!");
logger.warn("服务调用异常信息:"+xmlInfo);
logger.warn("开始调用短信服务进行通知.... ");
InnerAdapterImpl innerAdapterImpl = SmsService.getInnerAdapterImpl(messageServiceInfo);
sentSOAPMsg = innerAdapterImpl.process("SMS_SEND_MESSAGE_REMEDY", "POMS", xmlInfo);
logger.warn("短信服务调用结束:"+sentSOAPMsg);
return sentSOAPMsg;
} catch (Exception e) {
logger.error("短信服务发送异常:"+e.getMessage());
e.printStackTrace();
}
return null;

}


此处为axis生成的代码

/**
* InnerAdapterImpl.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/



public interface InnerAdapterImpl extends java.rmi.Remote {
public java.lang.String process(java.lang.String operation, java.lang.String systemName, java.lang.String xmlData) throws java.rmi.RemoteException;
}



SoapUtil类的相关代码

public class SoapUtil {

public static Call addSoapHandle(Call call){
String sid = UUID.randomUUID().toString();
SoapRepHandle rep = new SoapRepHandle(sid);
SoapReqHandle req = new SoapReqHandle(sid , call.getTargetEndpointAddress());
call.setClientHandlers(req, rep);
//System.out.println("已添加handle");
return call;
}



报错信息如下:

2018-03-03 18:00:47 WARN HttpUrlWebClient:188 [pool-6-thread-6] - 服务调用异常信息:<sms><user>13719029281</user><smsid>71247544</smsid><content>调用:[http://192.168.4.25:8063/addrServer]异常!</content></sms>
2018-03-03 18:00:47 WARN HttpUrlWebClient:189 [pool-6-thread-6] - 开始调用短信服务进行通知....
2018-03-03 18:00:47 FATAL InternalException:88 [pool-6-thread-6] - Exception:
org.apache.axis.ConfigurationException: java.io.IOException: Stream closed
java.io.IOException: Stream closed
at java.util.zip.InflaterInputStream.ensureOpen(InflaterInputStream.java:67)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:121)
at java.io.FilterInputStream.read(FilterInputStream.java:83)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:2889)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:670)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:388)
at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Call.setSOAPService(Call.java:2910)
at org.apache.axis.client.Call.setClientHandlers(Call.java:2924)
at com.gpdi.common.util.SoapUtil.addSoapHandle(SoapUtil.java:34)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.createCall(InnerAdapterSoapBindingStub.java:113)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.process(InnerAdapterSoapBindingStub.java:127)
at com.gpdi.gx.HttpUrlWebClient.sendMobilMessage(HttpUrlWebClient.java:191)
at com.gpdi.gx.HttpUrlWebClient.check(HttpUrlWebClient.java:48)
at com.gpdi.gx.HttpUrlStatusMonitor$1.run(HttpUrlStatusMonitor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

org.apache.axis.ConfigurationException: java.io.IOException: Stream closed
java.io.IOException: Stream closed
at java.util.zip.InflaterInputStream.ensureOpen(InflaterInputStream.java:67)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:121)
at java.io.FilterInputStream.read(FilterInputStream.java:83)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:2889)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:670)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)
at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:388)
at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Call.setSOAPService(Call.java:2910)
at org.apache.axis.client.Call.setClientHandlers(Call.java:2924)
at com.gpdi.common.util.SoapUtil.addSoapHandle(SoapUtil.java:34)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.createCall(InnerAdapterSoapBindingStub.java:113)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.process(InnerAdapterSoapBindingStub.java:127)
at com.gpdi.gx.HttpUrlWebClient.sendMobilMessage(HttpUrlWebClient.java:191)
at com.gpdi.gx.HttpUrlWebClient.check(HttpUrlWebClient.java:48)
at com.gpdi.gx.HttpUrlStatusMonitor$1.run(HttpUrlStatusMonitor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:188)
at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Call.setSOAPService(Call.java:2910)
at org.apache.axis.client.Call.setClientHandlers(Call.java:2924)
at com.gpdi.common.util.SoapUtil.addSoapHandle(SoapUtil.java:34)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.createCall(InnerAdapterSoapBindingStub.java:113)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.process(InnerAdapterSoapBindingStub.java:127)
at com.gpdi.gx.HttpUrlWebClient.sendMobilMessage(HttpUrlWebClient.java:191)
at com.gpdi.gx.HttpUrlWebClient.check(HttpUrlWebClient.java:48)
at com.gpdi.gx.HttpUrlStatusMonitor$1.run(HttpUrlStatusMonitor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:188)
at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Call.setSOAPService(Call.java:2910)
at org.apache.axis.client.Call.setClientHandlers(Call.java:2924)
at com.gpdi.common.util.SoapUtil.addSoapHandle(SoapUtil.java:34)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.createCall(InnerAdapterSoapBindingStub.java:113)
at com.gpdi.gx.adapter.InnerAdapterSoapBindingStub.process(InnerAdapterSoapBindingStub.java:127)
at com.gpdi.gx.HttpUrlWebClient.sendMobilMessage(HttpUrlWebClient.java:191)
at com.gpdi.gx.HttpUrlWebClient.check(HttpUrlWebClient.java:48)
at com.gpdi.gx.HttpUrlStatusMonitor$1.run(HttpUrlStatusMonitor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
2018-03-03 18:00:47 ERROR HttpUrlWebClient:195 [pool-6-thread-6] - 短信服务发送异常:Failure trying to get the Call object; nested exception is:
org.apache.axis.InternalException: org.apache.axis.ConfigurationException: java.io.IOException: Stream closed
java.io.IOException: Stream closed


貌似并不是自己编写的代码方面的问题,google百度过,相关的问答不多,有说多线程运行导致的,最接近的就是有个问答用cxf客户端也出现了类似我这个问题,链接如下:http://bbs.csdn.net/topics/390750221 但我用的不是cxf。请问各位大神有否遇上过类似的问题,解决方法是怎样的?在此先行感谢。
...全文
773 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧