Hi again, unfortunately nobody seems to have a solution for this problem.
It seems the occurrence of the problem can be reduced by setting the MTOM="enabled" in the Axis-Client. Setting this option somehow leads to smaller packets beeing send to the http-consumer (chunked). So the issue seems to be related to large concurrent xml requests. Brgds Jens 2009/9/18 Jens Willhardt <[email protected]> > Hi everybody, > > I'm encountering a very strange error. > We are using: > servicemix 3.2.3 > servicemix-bean > servicemix-jsr181 > servicemix-http (new soap consumer) > > Application Flow > AxisClient > SoapMessage -> servicemix-http -> servicemix-jsr181 > AxisClient > SoapMessage -> servicemix-http -> servicemix-brean > > I have a application were servicemix-http component is used to publish the > services (bean/jsr181 services). > > Randomly the following error is thrown (see stacktrace below). > I traced the http request from the Axis client to see if the message causes > the problem, but the messages are exactly the same. > Sometimes the problem occurs and sometimes it works. Again message sent > from client are exactly the same! > > I tried to enable/disable chunked encoding, used http1.0 /1.1 but nothing > solved the problem. > > Unfortunately I wasn't able to trace the incoming http content. Maybe it > would help to see what the servicemix-http (jetty) component receives. > It would be very helpful if someone can tell me how to configure log4j.xml > to trace incoming http content. For now I only managed to get http headers > logged. > > The Problem isn't caused by the jsr181 component as the problem occurs also > with a servicemix-bean. > > Although the error message says, that the xml doesn't seem to be correct - > It is defently sent correct by the client. > > First I thought this is a problem of logging the seda flow - as the > StreamSource gets transformed into a DomSource and maybe some timing issue > is causing the Stream to be sent to the JSR181/Bean before it is > transformed. So I disabled logging of the seda flow. Now all incoming > messages are of Type (StreamSource), but the problem still occurs. > > > 08:42:29,496 | ERROR | pool-flow.seda.servicemix-jsr181-thread-11 | > Jsr181Component | ervicemix.common.BaseLifeCycle | Error processing exchange > InOut[ > id: ID:80.77.211.123-123cc3ca57d-3:29 > status: Active > role: provider > service: {http:// > <http://service.pricing.myidtravel.lhsystems.com/>test.service}Service > > endpoint: ServiceSOAP11port > operation: > {http://test.service<http://service.pricing.myidtravel.lhsystems.com/>}doSomething > > in: Unable to display: javax.xml.transform.TransformerException: > com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </soapenv:Body>; > expected </bos:AirEquipType>. > at [row,col {unknown-source}]: [1,4014] > ] > javax.xml.transform.TransformerException: > com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </bo>; expected > </bos:AirEquipType>. > at [row,col {unknown-source}]: [1,4000] > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:673) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:300) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:125) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:103) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toString(SourceTransformer.java:140) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSourceFromSAX(SourceTransformer.java:226) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSource(SourceTransformer.java:210) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toReaderFromSource(SourceTransformer.java:248) > > at > org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.getXMLStreamReader(Jsr181ExchangeProcessor.java:171) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:98) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) > > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) > > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620) > > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > > at java.lang.Thread.run(Thread.java:595) > Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag > </bo>; expected </bos:AirEquipType>. > at [row,col {unknown-source}]: [1,4000] > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:119) > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:226) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:607) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:661) > > ... 20 more > --------- > com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </bo>; expected > </bos:AirEquipType>. > at [row,col {unknown-source}]: [1,4000] > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:119) > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:226) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:607) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:661) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:300) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:125) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:103) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toString(SourceTransformer.java:140) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSourceFromSAX(SourceTransformer.java:226) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSource(SourceTransformer.java:210) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toReaderFromSource(SourceTransformer.java:248) > > at > org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.getXMLStreamReader(Jsr181ExchangeProcessor.java:171) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:98) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) > > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) > > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620) > > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > > at java.lang.Thread.run(Thread.java:595) > --------- > com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </bo>; expected > </bos:AirEquipType>. > at [row,col {unknown-source}]: [1,4000] > at > com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:605) > at > com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461) > at > com.ctc.wstx.sr.BasicStreamReader.reportWrongEndPrefix(BasicStreamReader.java:3239) > > at > com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3162) > at > com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2830) > at > com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) > at > javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:59) > > at > org.apache.servicemix.soap.util.stax.ExtendedXMLStreamReader.next(ExtendedXMLStreamReader.java:61) > > at > org.apache.servicemix.soap.util.stax.FragmentStreamReader.next(FragmentStreamReader.java:68) > > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:115) > at > org.apache.servicemix.soap.util.stax.StaxSource.parse(StaxSource.java:226) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:607) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:661) > > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:300) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:125) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:103) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toString(SourceTransformer.java:140) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSourceFromSAX(SourceTransformer.java:226) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toStreamSource(SourceTransformer.java:210) > > at > org.apache.servicemix.jbi.jaxp.SourceTransformer.toReaderFromSource(SourceTransformer.java:248) > > at > org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.getXMLStreamReader(Jsr181ExchangeProcessor.java:171) > > at > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:98) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) > > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) > > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) > > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620) > > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) > > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > > at java.lang.Thread.run(Thread.java:595) > > > Thanks for your help in advance & brgds > Jens >
