axis2生成的webservice类,出现错误无法重新处理
现象:
类为axis2生成的存根类。
多线程频繁循环调用某个方法获取状态,一个线程报异常后无法循环重新读取状态值,显示异常见后;另外一个线程仍然可以正常调用此方法获取状态。请问大家遇到过这一的情况吗?有什么解决的方法。
org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:122)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:66)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:347)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:414)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
at com.kcsm.pms.wcs.bis.atis4axis2kczn.AMWHCIWebServiceCLStub.getContainerByID(AMWHCIWebServiceCLStub.java:3561)
at com.kcsm.pms.wcs.bis.imp.Atis4Bis.getContainerById(Atis4Bis.java:246)
at com.kcsm.pms.wcs.service.imp.Atis4ServiceImp.executeJobToCheckPointStart(Atis4ServiceImp.java:244)
at com.kcsm.pms.wcs.service.imp.JobExecutingService.executeJobBeforeStartAtis4(JobExecutingService.java:738)
at com.kcsm.pms.wcs.service.imp.JobExecutingService.jobExecuting(JobExecutingService.java:186)
at com.kcsm.pms.wcs.service.imp.JobExecutingService.jobExecuting(JobExecutingService.java:120)
at com.kcsm.pms.wcs.service.imp.JobExecutingRunner.run(JobExecutingRunner.java:47)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
at org.apache.axiom.om.impl.common.factory.AbstractOMMetaFactory.createXMLStreamReader(AbstractOMMetaFactory.java:142)
at org.apache.axiom.om.impl.common.factory.AbstractOMMetaFactory.createSOAPModelBuilder(AbstractOMMetaFactory.java:228)
at org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLBuilderFactory.java:542)
at org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLBuilderFactory.java:521)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:51)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:203)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:144)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:107)
... 15 more
Caused by: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:585)
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:610)
at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:316)
at org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
at org.apache.axiom.util.stax.wrapper.WrappingXMLInputFactory.createXMLStreamReader(WrappingXMLInputFactory.java:116)
at org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
at org.apache.axiom.util.stax.wrapper.WrappingXMLInputFactory.createXMLStreamReader(WrappingXMLInputFactory.java:116)
at org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:192)
at org.apache.axiom.om.impl.common.factory.AbstractOMMetaFactory.createXMLStreamReader(AbstractOMMetaFactory.java:113)
... 22 more
Caused by: java.io.IOException: Attempted read on closed stream.
at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:183)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:107)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.axiom.om.util.DetachableInputStream.read(DetachableInputStream.java:147)
at org.apache.axiom.om.impl.common.factory.DetachableInputStream.read(DetachableInputStream.java:48)
at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:531)
... 32 more