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.
>
>

Reply via email to