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