You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2009/01/19 03:49:03 UTC

[jira] Commented: (CAMEL-1271) Can only interact with servicemix-http if logging is at DEBUG

    [ https://issues.apache.org/activemq/browse/CAMEL-1271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48788#action_48788 ] 

Willem Jiang commented on CAMEL-1271:
-------------------------------------

You need to cache the stream when routing the message in camel. Because Camel will cache the stream when it's logging level is set to be DEBUG. 
Here is the code snippet of enable the SteamCaching interceptor in your router.

{code}
 //Stream caching for a single route...
 from("direct:a").streamCaching().to("mock:a");

 //... or for all the following routes in this builder
 streamCaching();
 from("direct:b").to("mock:b");
{code}

> Can only interact with servicemix-http if logging is at DEBUG
> -------------------------------------------------------------
>
>                 Key: CAMEL-1271
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1271
>             Project: Apache Camel
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>            Reporter: Darren Davison
>            Assignee: Willem Jiang
>
> Given the following camel DSL:
> from("activemq:queue.testJms.in")                                              
>     .to("jbi:service:urn:oms:testHttp?mep=in-out")                           
>     .to("activemq:queue.testJms.out"); 
> and the following xbean.xml for the smx (3.3) SU:
> <http:endpoint                                                                            
>     service="oms:testHttp"                                                   
>     endpoint="testHttp"                                                       
>     role="provider"                                                                       
>     locationURI="http://localhost:8080/testP1">                                           
> </http:endpoint>   
> then Camel operates correctly (or at least as desired) only if DEBUG logging is enabled in the org.apache.servicemix.http package.  This seems to be because a DOMSource is returned (which Camel can convert).  If the log level is reduced (say to WARN) then a StreamSource object is returned instead which Camel appears unable to convert.  This results in stack traces such as:
> ERROR - DeadLetterChannel              - Failed delivery for exchangeId:                  
> ID-davisond-laptop/53380-1232099798317/0-0. On delivery attempt: 0                        
> caught: org.apache.camel.RuntimeCamelException:                                           
> javax.xml.transform.TransformerException: java.io.IOException: Attempted                  
> read on closed stream.                                                                    
> org.apache.camel.RuntimeCamelException:                                                   
> javax.xml.transform.TransformerException: java.io.IOException: Attempted                  
> read on closed stream.                                                                    
>         at                                                                                
> org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:441)                    
>         at                                                                                
> org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(InstanceMethodTypeCo
> +nverter.java:57) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.