Hi I have created a ticket to avoid printing the jms message details https://issues.apache.org/jira/browse/CAMEL-4642
On Mon, Nov 7, 2011 at 5:10 PM, Pointless <pointless2...@yahoo.com> wrote: > Hello, > > We have an issue with Camel JMS component when after receiving a timeout > (org.apache.camel.ExchangeTimedOutException) the exception's getMessage() > always contains the whole Exchange.toString() method's content, which means > it always exposes all sensitive headers that were set before sending the > message to the queue. Also, the exception's stacktrace also has > Exchange.toString() content and exposes those headers. > > How can we solve this? Is there a fix planned for Camel? There should be > some boolean property which would specify that the exchange content not to > be included when constructing exceptions. > > Constructor in CamelExchangeException.java uses > super(ExchangeHelper.createExceptionMessage(message, exchange, null)); where > the exception message is produced. > > ReplyManagerSupport.java: > if (timeout) { > // no response, so lets set a timed out exception > exchange.setException(new > ExchangeTimedOutException(exchange, holder.getRequestTimeout())); > } else {...} > > ============= > <endpoint id="queue_esb" > uri="ibmmq:ESB.REQ?replyTo=ESB.RPL&requestTimeout=30000&useMessageIDAsCorrelationID=true"/> > > <setHeader headerName="ServiceUser"> > <simple>${properties:esb.user}</simple> > </setHeader> > <setHeader headerName="ServiceUserCredentials"> > <simple>${properties:esb.user.credentials}</simple> > </setHeader> > <to ref="queue_esb" pattern="InOut" /> > > Exception originalException = > exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class); > LOGGER.info("Original Exception stacktrace: " + > getStackTrace(originalException)); > > public static String getStackTrace(Throwable aThrowable) { > final Writer result = new StringWriter(); > final PrintWriter printWriter = new PrintWriter(result); > aThrowable.printStackTrace(printWriter); > return result.toString(); > } > ========== > > 2011-11-07 17:07:52,833 | INFO | accountreportingrequestv02.UtilitiesBean | > *Original Exception stacktrace:* org.apache.camel.ExchangeTimedOutException: > The OUT message was not received within: 30000 millis. Exchange[JmsMessage: > JMS Message class: jms_bytes > JMSType: null > JMSDeliveryMode: 2 > JMSExpiration: 0 > JMSPriority: 4 > JMSMessageID: ID:414d512056494c3130375544202020204e9d7a71203f731c > JMSTimestamp: 1320678442590 > JMSCorrelationID:test > JMSDestination: queue:///... > JMSReplyTo: queue:///... > JMSRedelivered: false > JMS_IBM_Character_Set:UTF8 > JMSXAppID:WebSphere MQ Client for Java > JMS_IBM_Format: > Content_HYPHEN_Length:1340 > JMS_IBM_PutApplType:28 > JMS_IBM_PutDate:20111107 > CamelHttpCharacterEncoding:UTF-8 > MQReplyTo:queue > *ServiceUser: user* > *ServiceUserCredentials: pass* > SOAPAction:"" > CamelHttpPath:/mq_path > MQ:queue > JMS_IBM_MsgType:1 > CamelHttpMethod:POST > JMS_IBM_Encoding:273 > JMSXDeliveryCount:1 > JMS_IBM_PutTime:15051041 > Host:10.180.235.212 > JMSXUserID:mqm > User_HYPHEN_Agent:Jakarta Commons-HttpClient/3.1 > Content_HYPHEN_Type:text/xml;charset=UTF-8 > CamelHttpUrl:http://10.180.235.212/mq_path > CamelHttpUri:/mq_path > SOAPJMS_soapAction:urn:aaa > Integer encoding: 1, Floating point encoding 256 > 3c736f6170656e763a456e76656c6f706520786d6c6e733a736f6170656e763d22687474703a2f2f > 736368656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e > 733a75726e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a6361 > 6d742e3036302e3030312e30325f74657374223e0a2020203c736f6170656e763a426f64793e0a20 > 20202020203c75726e3a446f63756d656e743e0a2020202020202020203c75726e3a416363745270 > 74675265713e0a2020202020202020202020203c75726e3a4772704864723e0a2020202020202020 > 202020202020203c75726e3a4d736749643e746573745f65655f736f61705f3132303c2f75726e3a > 4d736749643e0a2020202020202020202020202020203c75726e3a4372654474546d3e323031312d > 31302d32305431323a35303a30392e3235343c2f75726e3a4372654474546d3e0a20202020202020 > 20202020203c2f75726e3a4772704864723e0a2020202020202020202020203c212d2d31206f7220 > ... > ] > at > org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply(ReplyManagerSupport.java:121) > at > org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTimeout(TemporaryQueueReplyHandler.java:59) > at > org.apache.camel.component.jms.reply.PersistentQueueReplyHandler.onTimeout(PersistentQueueReplyHandler.java:54) > at > org.apache.camel.component.jms.reply.CorrelationMap.onEviction(CorrelationMap.java:34) > at > org.apache.camel.component.jms.reply.CorrelationMap.onEviction(CorrelationMap.java:26) > at > org.apache.camel.util.DefaultTimeoutMap.purge(DefaultTimeoutMap.java:206) > at > org.apache.camel.util.DefaultTimeoutMap.run(DefaultTimeoutMap.java:158) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > > > Igor > > -- > View this message in context: > http://camel.465427.n5.nabble.com/ExchangeTimedOutException-not-properly-constructed-by-Camel-2-7-1-exposing-exchange-data-tp4971556p4971556.html > Sent from the Camel - Users mailing list archive at Nabble.com. > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/