Philipp,
>From what I see in the logging, I think you might be mixing up the
Camel NMR component (http://camel.apache.org/nmr.html) with the Camel
JBI component (http://camel.apache.org/jbi.html). It looks like your
sender route use a to("nmr:...") while the receiver route starts with
from("jbi:..."). We use the NMR internally to build our JBI
compatibility layer in ServiceMix 4.x, but the JBI specification is
bit more strict and detailed so not every NMR exchange will make a
suitable JBI exchange.
Could you ensure that both ends are using the same Camel component
(preferably the NMR component unless you're really using JBI for some
reason)? Also, the NMR allows for using simpler endpoint names, so
you don't need to use those lengthy full-qualified names if you switch
to the NMR. Something like .to("nmr:FaultService") and
.from("nmr:FaultService") should work as well.
Regards,
Gert Vanthienen
------------------------
FuseSource
Web: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/
On Tue, Feb 8, 2011 at 10:39 PM, prossman
<[email protected]> wrote:
>
> Hi,
>
> My setup is as follows:
> I have an onException clause which creates a SOAP fault for returning it to
> the user and uses a ProducerTemplate for forwarding the same Fault embedded
> in a different structure to another endpoint (the idea is to have a service
> collecting all errors for later processing).
>
> The exchange arrives at the receiving end, _but_ without the message body,
> as can be seen in the trace below.
>
> Any idea what this may be related to?
>
> Thanks,
> Ciao, Philipp
>
>>>
> ...
> 22:33:31,218 | DEBUG | rovider-thread-1 | NMR |
> .servicemix.nmr.core.ChannelImpl 198 | 84 - org.apache.servicemix.nmr.core
> - 1.3.0.fuse-02-00 | Channel
> org.apache.servicemix.nmr.core.ChannelImpl@33d6f1 delivering exchange: [
> id: f6d4b284-dec6-44f0-abbb-61a2b39db764
> mep: InOnly
> status: Active
> role: Consumer
> target:
> PropertyMatchingReference[{NAME={http://setools.t-systems.es/tsisb/TSB/FaultManagementService/V1}FaultManagementService:FaultManagementServicePortTsfEsProvTEP}]
> properties: [
> CamelToEndpoint =
> nmr://{http://setools.t-systems.es/tsisb/TSB/FaultManagementService/V1}FaultManagementService:FaultManagementServicePortTsfEsProvTEP?synchronous=true
> ]
> In: [
> content: <?xml version="1.0" encoding="UTF-8"
> standalone="yes"?><ns2:SendFaults
> xmlns:ns2="http://setools.t-systems.es/tsisb/TSB/FaultManagementService/V1"
> xmlns="http://setools.t-systems.es/tsisb/BUO/Commons/V1"><ns2:SendFault><Fault><FaultIdentifier><FaultUID>urn:uuid:5d5e19f6-c407-4f1c-b0f8-3a4a4b24e4f2</FaultUID><DataReference>urn:uuid:943f7916-734e-4dc9-be39-1a4ec2b16596</DataReference><FaultSystem>tsb:UNKNOWN.SYSTEM</FaultSystem><FaultCode>CAM.0002</FaultCode></FaultIdentifier><FaultClass>System</FaultClass><Criticality>ERROR</Criticality><FaultInstant>2011-02-08T22:33:31.187+01:00</FaultInstant><FaultTrace>es.gedasgrp.framework.services.FwkServicesRuntimeException
> at
> es.gedasgrp.framework.services.FwkServicesExceptionUtil.getFwkServicesException(FwkServicesExceptionUtil.java:31)
> at
> es.gedasgrp.framework.services.FwkServicesExceptionUtil.getFwkServicesException(FwkServicesExceptionUtil.java:114)
> at
> es.gedasgrp.framework.services.FwkServicesExceptionUtil.getFwkServicesRuntimeException(FwkServicesExceptionUtil.java:55)
> at
> es.gedasgrp.framework.tsisb.common.camel.FwkServicesExceptionProcessor.process(FwkServicesExceptionProcessor.java:69)
> at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> at org.apache.camel....
> ]
> ]
>
>
> 22:33:31,218 | DEBUG | rovider-thread-2 | OsgiCamelJbiComponent |
> icemix.common.AsyncBaseLifeCycle 586 | 94 - servicemix-common -
> 2010.02.0.fuse-02-00 | Received exchange: status: Active, role: provider
>
> 22:33:31,218 | DEBUG | rovider-thread-2 | OsgiCamelJbiComponent |
> icemix.common.AsyncBaseLifeCycle 647 | 94 - servicemix-common -
> 2010.02.0.fuse-02-00 | Retrieved correlation id: null
>
> 22:33:31,218 | DEBUG | rovider-thread-2 | OsgiCamelJbiComponent |
> emix.camel.CamelProviderEndpoint 101 | 94 - servicemix-common -
> 2010.02.0.fuse-02-00 | Received exchange:
> org.apache.servicemix.jbi.runtime.impl.InOnlyImpl@b37561
>
> 22:33:31,234 | DEBUG | rovider-thread-2 | JbiBinding |
> ache.servicemix.camel.JbiBinding 112 | 153 - servicemix-camel -
> 2010.02.0.fuse-02-00 | Set the thread context classloader
> BundleDelegatingClassLoader for [Connector :: TSISB FaultManagementService
> :: RoutingOSGi (tsb-conn-es-faultmanagement-prov-route)]
>
> 22:33:31,234 | DEBUG | rovider-thread-2 | es |
> rg.apache.camel.processor.Logger 197 | 72 - org.apache.camel.camel-core -
> 2.4.0.fuse-02-00 | Processing in FaultManagement
> 33b70e11-f658-4f10-a3d4-0b35d2bce7c5!
>
> 22:33:31,234 | DEBUG | rovider-thread-2 | es |
> rg.apache.camel.processor.Logger 197 | 72 - org.apache.camel.camel-core -
> 2.4.0.fuse-02-00 | Processing in FaultManagement
> 33b70e11-f658-4f10-a3d4-0b35d2bce7c5!
>
> 22:33:31,234 | DEBUG | rovider-thread-2 | SendProcessor |
> .camel.processor.SendProcessor$2 102 | 72 - org.apache.camel.camel-core -
> 2.4.0.fuse-02-00 | >>>>
> Endpoint[log://tsisb.conn.tsb.faultmanagement.prov.es?showAll=true]
> Exchange[Message: [Body is null]]
>
> 22:33:31,234 | INFO | rovider-thread-2 | es |
> rg.apache.camel.processor.Logger 88 | 72 - org.apache.camel.camel-core -
> 2.4.0.fuse-02-00 | Exchange[Id:c28beba1-8e75-4611-93f5-c22ca45a1391,
> ExchangePattern:InOnly,
> Properties:{CamelToEndpoint=log://tsisb.conn.tsb.faultmanagement.prov.es?showAll=true,
> JbiMessageExchange=org.apache.servicemix.jbi.runtime.impl.InOnlyImpl@b37561},
> Headers:{}, BodyType:null, Body:null, Out: null]
>
> 22:33:31,234 | INFO | rovider-thread-2 | es |
> rg.apache.camel.processor.Logger 88 | 72 - org.apache.camel.camel-core -
> 2.4.0.fuse-02-00 | Exchange[Id:c28beba1-8e75-4611-93f5-c22ca45a1391,
> ExchangePattern:InOnly,
> Properties:{CamelToEndpoint=log://tsisb.conn.tsb.faultmanagement.prov.es?showAll=true,
> JbiMessageExchange=org.apache.servicemix.jbi.runtime.impl.InOnlyImpl@b37561},
> Headers:{}, BodyType:null, Body:null, Out: null]
> ...
> <<
> --
> View this message in context:
> http://servicemix.396122.n5.nabble.com/Losing-message-body-while-sending-via-NMR-tp3376674p3376674.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>