Hi,

it seems that an endpoint already the message. When the JBI message source is read, the stream is closed.

Could you try:
1/ in your camel route, try to put the <convertBodyTo/> before the <to/>.
2/ I advice to use the new HTTP endpoints, such as <http:soap-consume/>, <http:soap-provider/>, etc 3/ In any case, a workaround is to fully use Camel for your implementation (with camel-cxf or camel-http depending of your requirements).
For instance, using Camel, you can do:

<from uri="http://localhost:9090/route"/>
<to uri="http://remote:/test/test"/>

Regards
JB

On 08/27/2011 06:04 PM, pchakinala wrote:
Hi,
  I am using servicemix 4.3 and my usecase flow is like below

http client -->  http consumer --->  camel -->http provider -->  Out Side HTTP
Service

Outside HTTP Service returns xml file

Configuration:

                <http:endpoint service="picf:httpManuTransmit"
                  endpoint="endpoint"
                  targetService="picf:routerChubbPDB"
                  role="consumer"
                  locationURI="http://0.0.0.0:8192/manuTransmit/";
                  defaultMep="http://www.w3.org/2004/08/wsdl/in-out";>
        </http:endpoint>
                
                <camel:route streamCache="true">
                <camel:from
uri="jbi:service:http://planetsoft.com/picf2/routerChubbPDB?mep=in-out"; />
                <camel:to
uri="jbi:endpoint:http://planetsoft.com/picf2/httpMEF/endpoint?mep=in-out";
/>
                <convertBodyTo type="java.lang.String"/>

        </camel:route>

                <http:endpoint service="picf:httpMEF" endpoint="endpoint"
            role="provider" soap="false"
                defaultMep="http://www.w3.org/2004/08/wsdl/in-out";
                 
locationURI="http://localhost:8080/jsp-examples/checkbox/tppStub.jsp";>    

Exception:
com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
        at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)[104:woodstox-core-asl:4.0.8]
        at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:585)[104:woodstox-core-asl:4.0.8]
        at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:641)[104:woodstox-core-asl:4.0.8]
        at
com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:323)[104:woodstox-core-asl:4.0.8]
        at
org.apache.servicemix.jbi.jaxp.StAXSourceTransformer.toXMLStreamReader(StAXSourceTransformer.java:86)[81:servicemix-utils:1.4.0]
        at
org.apache.servicemix.soap.marshalers.SoapWriter.writeContents(SoapWriter.java:218)[169:servicemix-soap:2011.01.0]
        at
org.apache.servicemix.soap.marshalers.SoapWriter.writeSimpleMessage(SoapWriter.java:127)[169:servicemix-soap:2011.01.0]
        at
org.apache.servicemix.soap.marshalers.SoapWriter.write(SoapWriter.java:92)[169:servicemix-soap:2011.01.0]
        at
org.apache.servicemix.http.processors.ProviderProcessor.writeMessage(ProviderProcessor.java:343)[170:servicemix-http:2011.01.0]
        at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:131)[170:servicemix-http:2011.01.0]
        at
org.apache.servicemix.soap.SoapEndpoint.process(SoapEndpoint.java:400)[169:servicemix-soap:2011.01.0]
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:651)[121:servicemix-common:2011.01.0]
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:606)[121:servicemix-common:2011.01.0]
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:501)[121:servicemix-common:2011.01.0]
        at
org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:370)[121:servicemix-common:2011.01.0]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_24]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_24]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_24]
Caused by: java.io.IOException: Attempted read on closed stream.
        at
org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:183)[168:org.apache.servicemix.bundles.commons-httpclient:3.1.0.5]
        at
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:107)[168:org.apache.servicemix.bundles.commons-httpclient:3.1.0.5]
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)[:1.6.0_24]
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)[:1.6.0_24]
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)[:1.6.0_24]
        at java.io.InputStreamReader.read(InputStreamReader.java:167)[:1.6.0_24]
        at
com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)[104:woodstox-core-asl:4.0.8]
        at
com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)[104:woodstox-core-asl:4.0.8]
        at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:531)[104:woodstox-core-asl:4.0.8]

I have used convertBody function to convert string. Why it is throwing
exception.I have seen same exception when converted to DOMSource also.

Please find attached files,log for your reference.

Please suggest me.

Regards,
Praveen Chakinala
http://servicemix.396122.n5.nabble.com/file/n4741541/servicemix.log
servicemix.log
http://servicemix.396122.n5.nabble.com/file/n4741541/camel-context.xml
camel-context.xml
http://servicemix.396122.n5.nabble.com/file/n4741541/xbean.xml xbean.xml



--
View this message in context: 
http://servicemix.396122.n5.nabble.com/com-ctc-wstx-exc-WstxIOException-Attempted-read-on-closed-stream-tp4741541p4741541.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to