Edell Nolan wrote:
> 
> Have you tried Gert's suggestion below ?
> 
> On Fri, Aug 22, 2008 at 7:08 AM, Gert Vanthienen
> <[EMAIL PROTECTED]>wrote:
> 
>> L.S.,
>>
>> The most likely explanation is that you the incoming MessageExchange uses
>> streaming for the message body (e.g. with a StreamSource, StaxSource or
>> the
>> like).  However, the stream is being read when you call the new
>> SourceTransformer()).toString(content);  At that moment, the String
>> variable
>> contains the message body, but the original stream itself has been
>> closed.
>>
>> Later on in your code, you copy the message content from 'in' to 'out',
>> but
>> the in (and out) message content is the closed stream now, causing
>> problems
>> when you try to read this thing again.  The best way to solve this is by
>> calling setContent() on the out message and passing in a new Source
>> object
>> (e.g. a new StringSource(body)) to make sure you have a re-readable
>> message.
>> Could you give that a try?
>>
>> Regards,
>>
>> Gert
>>
>>
>>
>> FreshAir wrote:
>>
>>>
>>> Edell Nolan wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> I have tried this and for me to get it to go through and work I needed
>>>> to
>>>> define a target namespace.
>>>>
>>>> e.g
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/";
>>>> xmlns="http://schemas.xmlsoap.org/soap/envelope/";>
>>>>  <e:Body>
>>>>   <test id="1">ok
>>>>   </test>
>>>>  </e:Body>
>>>> </e:Envelope>
>>>>
>>>> Can you give this a try ?
>>>>
>>>> thanks, Edell.
>>>>
>>>> On Thu, Aug 21, 2008 at 2:35 AM, FreshAir <[EMAIL PROTECTED]>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>>
>>>>> Edell Nolan wrote:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have tested this out and it works for me.
>>>>>>
>>>>>> I am just wondering how you send the actual message.
>>>>>>
>>>>>> I sent the request as follows from an onMessageExchange of a Service
>>>>>>
>>>>>>        QName cbrServiceName = new QName(SERVICE_NAMESPACE,
>>>>>> "contentEnricher");
>>>>>>        ServiceEndpoint se = getContext().getEndpoint(cbrServiceName,
>>>>>> "enricherEndpoint");
>>>>>>
>>>>>>        InOnly eipInOnly =
>>>>>> channel.createExchangeFactory().createInOnlyExchange();
>>>>>>
>>>>>>        eipInOnly.setEndpoint(se);
>>>>>>        NormalizedMessage msg = eipInOnly.createMessage();
>>>>>>        msg.setContent(setMessageContent());
>>>>>>
>>>>>>        eipInOnly.setMessage(msg, "in");
>>>>>>        eipInOnly.setService(cbrServiceName);
>>>>>>        channel.sendSync(eipInOnly);
>>>>>>
>>>>>>
>>>>>>
>>>>>> then setMessageContent is
>>>>>>
>>>>>>  private StringSource setupMsg() {
>>>>>>      StringBuffer buf = new StringBuffer();
>>>>>>      buf.append("<test id=\"1\">ok</test>");
>>>>>>      return new StringSource(buf.toString());
>>>>>>    }
>>>>>>
>>>>>> and it then goes through the additionalInformationExtracter and
>>>>>> another
>>>>>> service that I setup as the target and I do get the message content
>>>>>>
>>>>>>
>>>>> from
>>>>>
>>>>>
>>>>>> it.
>>>>>>
>>>>>> Edell.
>>>>>>
>>>>>>
>>>>>> On Wed, Aug 20, 2008 at 8:27 AM, FreshAir <[EMAIL PROTECTED]>
>>>>>>
>>>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>> I tested the servicemix-eip, and its content-enricher part appears
>>>>>>>
>>>>>>>
>>>>>> rather
>>>>>
>>>>>
>>>>>> confusing.
>>>>>>> The following is my xbean.xml using content-enricher:
>>>>>>> <eip:content-enricher service="test:contentEnricher"
>>>>>>>
>>>>>>>
>>>>>> endpoint="endpoint">
>>>>>
>>>>>
>>>>>>  <eip:enricherTarget>
>>>>>>>   <eip:exchange-target
>>>>>>>
>>>>>>>
>>>>>> service="test:additionalInformationExtracter"/>
>>>>>
>>>>>
>>>>>>  </eip:enricherTarget>
>>>>>>>  <eip:target>
>>>>>>>   <eip:exchange-target service="test:trace3" />
>>>>>>>  </eip:target>
>>>>>>> </eip:content-enricher>
>>>>>>>
>>>>>>> the exchange-target of enricherTarget is simply a servicemix-bea,
>>>>>>> the
>>>>>>> onMessageExchange method of which is as follows:
>>>>>>>
>>>>>>>  public void onMessageExchange(MessageExchange exchange) throws
>>>>>>> MessagingException {
>>>>>>>       if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>>>>>>>
>>>>>>>               NormalizedMessage message = exchange.getMessage("in");
>>>>>>>                       Source content = message.getContent();
>>>>>>>                       //process content according to your logic
>>>>>>>                       //e.g. to access the message body as a String
>>>>>>>
>>>>>>>
>>>>>> use
>>>>>
>>>>>
>>>>>>                       try{
>>>>>>>                       String body = (new
>>>>>>> SourceTransformer()).toString(content);
>>>>>>>
>>>>>>>
>>>>>> message.setContent(content);
>>>>>
>>>>>
>>>>>>                       System.out.println("Routed to Enricher!");
>>>>>>>                       System.out.println("received: " + body);
>>>>>>>
>>>>>>>                       exchange.setMessage(message, "out");
>>>>>>>                       channel.send(exchange);
>>>>>>>                       }catch(Exception e) {
>>>>>>>                               e.printStackTrace();
>>>>>>>                       }
>>>>>>>       }
>>>>>>>   }
>>>>>>> As you see, it can not be simpler which just echo the message.
>>>>>>> The target part is similar and equally simple. I used a http bc to
>>>>>>>
>>>>>>>
>>>>>> post
>>>>> a
>>>>>
>>>>>
>>>>>> soap message to the content-enricher like this:
>>>>>>>
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/";>
>>>>>>>  <e:Body>
>>>>>>>  <test id="1">ok
>>>>>>>  </test>
>>>>>>>  </e:Body>
>>>>>>> </e:Envelope>
>>>>>>>
>>>>>>> But it gave me the following error:
>>>>>>>
>>>>>>> Routed to Enricher!
>>>>>>> received: <?xml version="1.0" encoding="UTF-8"?><test
>>>>>>> xmlns:e="http://schemas.xm
>>>>>>> lsoap.org/soap/envelope/" id="1">ok
>>>>>>>  </test>
>>>>>>> ERROR - EIPComponent                   - Error processing exchange
>>>>>>> InOnly[
>>>>>>>  id: ID:172.16.253.122-11bdeb9b38c-12:8
>>>>>>>  status: Active
>>>>>>>  role: provider
>>>>>>>  service: {http://test}contentEnricher
>>>>>>>  endpoint: endpoint
>>>>>>>  operation: test
>>>>>>>  in: <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> ]
>>>>>>> java.lang.NullPointerException
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.combineToDOMDoc
>>>>>>> ument(ContentEnricher.java:208)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.process(Content
>>>>>>> Enricher.java:156)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.doProcess(AsyncBas
>>>>>>> eLifeCycle.java:526)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.processExchange(As
>>>>>>> yncBaseLifeCycle.java:478)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.BaseLifeCycle.onMessageExchange(BaseL
>>>>>>> ifeCycle.java:34)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.messaging.DeliveryChannelImpl.processInB
>>>>>>> ound(DeliveryChannelImpl.java:598)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.AbstractFlow.doRouting(Abstract
>>>>>>> Flow.java:158)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlo
>>>>>>> w.java:155)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.
>>>>>>> java:122)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
>>>>>>> utor.java:886)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
>>>>>>> .java:908)
>>>>>>>       at java.lang.Thread.run(Thread.java:619)
>>>>>>> WARN  - jetty                          - Nested in
>>>>>>> javax.servlet.ServletExceptio
>>>>>>> n: Failed to process request: java.lang.Exception:
>>>>>>> java.lang.NullPointerExceptio
>>>>>>> n:
>>>>>>> java.lang.Exception: java.lang.NullPointerException
>>>>>>>       at
>>>>>>> com.intervision.interesb.http.processors.ConsumerProcessor.process(Co
>>>>>>> nsumerProcessor.java:182)
>>>>>>>       at
>>>>>>> com.intervision.interesb.http.HttpBridgeServlet.doPost(HttpBridgeServ
>>>>>>> let.java:59)
>>>>>>>       at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>       at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487
>>>>>>> )
>>>>>>>       at
>>>>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
>>>>>>> 62)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
>>>>>>> 12)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
>>>>>>> lerCollection.java:211)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
>>>>>>> java:114)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
>>>>>>> 39)
>>>>>>>       at org.mortbay.jetty.Server.handle(Server.java:313)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50
>>>>>>> 6)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
>>>>>>>       at
>>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
>>>>>>> va:396)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(Se
>>>>>>> lectChannelConnector.java:511)
>>>>>>>       at
>>>>>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
>>>>>>> .java:442)
>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.combineToDOMDoc
>>>>>>> ument(ContentEnricher.java:208)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.process(Content
>>>>>>> Enricher.java:156)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.doProcess(AsyncBas
>>>>>>> eLifeCycle.java:526)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.processExchange(As
>>>>>>> yncBaseLifeCycle.java:478)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.BaseLifeCycle.onMessageExchange(BaseL
>>>>>>> ifeCycle.java:34)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.messaging.DeliveryChannelImpl.processInB
>>>>>>> ound(DeliveryChannelImpl.java:598)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.AbstractFlow.doRouting(Abstract
>>>>>>> Flow.java:158)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlo
>>>>>>> w.java:155)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.
>>>>>>> java:122)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
>>>>>>> utor.java:886)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
>>>>>>> .java:908)
>>>>>>>       at java.lang.Thread.run(Thread.java:619)
>>>>>>> WARN  - jetty                          - /eip-enricher/
>>>>>>> java.lang.Exception: java.lang.NullPointerException
>>>>>>>       at
>>>>>>> com.intervision.interesb.http.processors.ConsumerProcessor.process(Co
>>>>>>> nsumerProcessor.java:182)
>>>>>>>       at
>>>>>>> com.intervision.interesb.http.HttpBridgeServlet.doPost(HttpBridgeServ
>>>>>>> let.java:59)
>>>>>>>       at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>       at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487
>>>>>>> )
>>>>>>>       at
>>>>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
>>>>>>> 62)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
>>>>>>> 12)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
>>>>>>> lerCollection.java:211)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
>>>>>>> java:114)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
>>>>>>> 39)
>>>>>>>       at org.mortbay.jetty.Server.handle(Server.java:313)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50
>>>>>>> 6)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
>>>>>>>       at
>>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
>>>>>>> va:396)
>>>>>>>       at
>>>>>>> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(Se
>>>>>>> lectChannelConnector.java:511)
>>>>>>>       at
>>>>>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
>>>>>>> .java:442)
>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>>>>>> Source)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.combineToDOMDoc
>>>>>>> ument(ContentEnricher.java:208)
>>>>>>>       at
>>>>>>> com.intervision.interesb.eip.patterns.ContentEnricher.process(Content
>>>>>>> Enricher.java:156)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.doProcess(AsyncBas
>>>>>>> eLifeCycle.java:526)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.AsyncBaseLifeCycle.processExchange(As
>>>>>>> yncBaseLifeCycle.java:478)
>>>>>>>       at
>>>>>>> com.intervision.interesb.common.BaseLifeCycle.onMessageExchange(BaseL
>>>>>>> ifeCycle.java:34)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.messaging.DeliveryChannelImpl.processInB
>>>>>>> ound(DeliveryChannelImpl.java:598)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.AbstractFlow.doRouting(Abstract
>>>>>>> Flow.java:158)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlo
>>>>>>> w.java:155)
>>>>>>>       at
>>>>>>> com.intervision.interesb.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.
>>>>>>> java:122)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
>>>>>>> utor.java:886)
>>>>>>>       at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
>>>>>>> .java:908)
>>>>>>>       at java.lang.Thread.run(Thread.java:619)
>>>>>>>
>>>>>>> Obviously the enricher-target had recieved the message but when
>>>>>>> routed
>>>>>>>
>>>>>>>
>>>>>> to
>>>>>
>>>>>
>>>>>> the target, the "in" part of the message had mysteriously gone(that's
>>>>>>>
>>>>>>>
>>>>>> why
>>>>>
>>>>>
>>>>>> a
>>>>>>> NullpointerException was invited).
>>>>>>> Any suggestion would be greatly appreciated.
>>>>>>> Thanks in advance!
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>> http://www.nabble.com/Confused-about-the-EIPComponent-content-Enricher-tp19064169p19064169.html
>>>>>
>>>>>
>>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>> Hi,
>>>>> My http request part was like this,the xbean.xml which defines a http
>>>>> bc:
>>>>>  <http:endpoint service="test:http8"
>>>>>                endpoint="endpoint"
>>>>>                targetService="test:contentEnricher"
>>>>>                role="consumer"
>>>>>                locationURI="http://0.0.0.0:8192/eip-enricher/";
>>>>>                defaultMep="http://www.w3.org/2004/08/wsdl/in-only";
>>>>>                                soap="true"/>
>>>>>
>>>>> and I modified an example in servicemix3.2.1 distribution that is a
>>>>> client.html to post request(as I attached).would you please tell me if
>>>>> I
>>>>> missed something?
>>>>> Thanks! http://www.nabble.com/file/p19081101/client-enricher.html
>>>>> client-enricher.html
>>>>> --
>>>>> View this message in context:
>>>>>
>>>>> http://www.nabble.com/Confused-about-the-EIPComponent-content-Enricher-tp19064169p19081101.html
>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> Sir,
>>> I don't know how you got it through, for me it is still giving errors
>>> like
>>> there were no actual payload in the sent message by that http bc to the
>>> contentEnricher as follows(note the "in" part):
>>> Routed to Enricher!
>>> received: <?xml version="1.0" encoding="UTF-8"?><test
>>> xmlns="http://schemas.xmls
>>> oap.org/soap/envelope/" xmlns:e="
>>> http://schemas.xmlsoap.org/soap/envelope/";
>>> id="
>>> 1">ok
>>>   </test>
>>> ERROR - EIPComponent                   - Error processing exchange
>>> InOnly[
>>>  id: ID:172.16.253.122-11be8193dc7-9:6
>>>  status: Active
>>>  role: provider
>>>  service: {http://test}contentEnricher
>>>  endpoint: endpoint
>>>  operation:
>>> {http://schemas.xmlsoap.org/soap/envelope/}test<http://schemas.xmlsoap.org/soap/envelope/%7Dtest>
>>>  in: <?xml version="1.0" encoding="UTF-8"?>
>>> ]
>>> java.lang.NullPointerException
>>>        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>> Source)
>>>        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>> Source)
>>>        at
>>> com.intervision.interesb.eip.patterns.ContentEnricher.combineToDOMDoc
>>> ument(ContentEnricher.java:208)
>>>        at
>>> com.intervision.interesb.eip.patterns.ContentEnricher.process(Content
>>> Enricher.java:156)
>>> ...
>>>
>>> Is there any difference between defining a namespace and without one in
>>> the
>>> request xml?
>>> Anyway, I think it is http bc that causes problem, since when I produce
>>> a
>>> Inonly message in a servicemix-bean's onMessageExchangeListener and send
>>> it
>>> to that contentEnricher(defining QName), it works like:
>>> Routed to Enricher!
>>> received: <test id="1">ok</test>
>>> Received exchange: InOnly[
>>>  id: ID:172.16.253.122-11be8207141-13:2
>>>  status: Active
>>>  role: provider
>>>  service: {http://test}trace3
>>>  endpoint: endpoint
>>>  in: <?xml version="1.0" encoding="UTF-8"?><enricher><request><test
>>> id="1">ok</
>>> test></request><result><test id="1">ok</test></result></enricher>
>>> ]
>>> here I dont enrich any content so it remains the same.
>>> It is noticeable, however, that in the former the enricher bean recieved
>>> something like: <?xml version="1.0" encoding="UTF-8"?><test xmlns="
>>> http://schemas.xmls
>>> oap.org/soap/envelope/" xmlns:e="
>>> http://schemas.xmlsoap.org/soap/envelope/";
>>> id="
>>> 1">ok
>>>   </test>
>>> and for the latter:
>>> <test id="1">ok</test>
>>>
>>> The non-http request is written as you told me in the last reply.
>>> So I was indeed wondering what's wrong with my http-bc.
>>> Thanks.
>>>
>>>
>>
>>
> 
> 
Sir,
Sorry for the delay. 
I have tried Gert's suggesion and it still gives the error of that
NullPointerException.
I modified the code like this:
 NormalizedMessage message = exchange.getMessage("in");
                message = exchange.getMessage("in");
                        Source content = message.getContent();
                        //process content according to your logic
                        //e.g. to access the message body as a String use
                        try{
                        String body = (new 
SourceTransformer()).toString(content);
content = new StringSource(body);
                    message.setContent(content);
                        System.out.println("Routed to Enricher!");
                        System.out.println("received: " + body);
                        
                        exchange.setMessage(message, "out");
                        channel.send(exchange);

Do I correctly understand what's Gert's mean?
Thanks for your concern!
-- 
View this message in context: 
http://www.nabble.com/Confused-about-the-EIPComponent-content-Enricher-tp19064169p19140553.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to