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
>

Reply via email to