Hi, just for the records, specifying the MEP inside the Camel RouteBuilder seems to work.
I just changed my route from "jbi:endpoint:urn:corp::connector:inbound:file:endpoint" to "jbi:endpoint:urn:corp::connector:inbound:file:endpoint?mep=in-only" Note that you have to specify "?mep=in-only" as "?mep=in" doesn't seem to be sufficient. Kind regards, Benoît On Thu, Jun 4, 2009 at 5:26 PM, Jean-Baptiste Onofré<[email protected]> wrote: > Correct, processInOut method in ProviderEndpoint only raise the exception. > > From my point of view, it makes sense to support InOut MEP at least in the > sender endpoint. > > Maybe you can raise a JIRA to add this MEP support. > > Nevertheless, using Camel, you can define the Camel endpoint MEP, for > example, in a route like this: > > from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint").to("jbi:endpoint:http://foo.bar.org/MyService/OtherEndpoint?mep=in"); > > I have never do this, but you can try :) > > Regards > JB > > Benoît Clouet wrote: >> >> Thanks, >> >> in case it is needed here's the full stacktrace : >> java.lang.UnsupportedOperationException: Unsupported MEP: >> http://www.w3.org/2004/08/wsdl/in-out >> at >> org.apache.servicemix.common.endpoints.ProviderEndpoint.processInOut(ProviderEndpoint.java:134) >> at >> org.apache.servicemix.file.FileSenderEndpoint.processInOut(FileSenderEndpoint.java:105) >> at >> org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109) >> at >> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) >> at >> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) >> at >> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >> at >> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) >> at >> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) >> at >> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) >> at >> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) >> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >> Source) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >> Source) >> at java.lang.Thread.run(Unknown Source) >> >> I also discovered in the source code of ProviderEndpoint that the >> method simply throws the exception. >> >> Now the questions becomes : How can I transform an InOut MEP issued by >> the CXF-bc into an InOnly message ? Is there a way to do this cleanly >> with, let's say Camel (I'm really reluctant to write a bean for this) >> ? >> >> Kind regards, >> >> Benoît >> >> On Thu, Jun 4, 2009 at 4:21 PM, Jean-Baptiste Onofré <[email protected]> >> wrote: >>> >>> Hi Benoît, >>> >>> I have checked into the servicemix-file component. Regarding the >>> FileSenderEndpoint, it supports InOnly and InOut MEP: it contains >>> processInOnly() and processInOut() methods. >>> Nevertheless the processInOut() method simply calls the super class >>> processInOut() method aka the ProviderEndpoint class. >>> >>> Let me try. >>> >>> Regards >>> JB >>> >>> Benoît Clouet wrote: >>>> >>>> Hi, >>>> >>>> I'm currently trying to implement a cxf-bc consumer to file-bc sender >>>> exchange. A WSDL defines the messages (IN and OUT) and is referenced by >>>> the >>>> cxf-bc. The client of the cxf web service expects some ack as a response >>>> to >>>> the webservice call. >>>> >>>> An XML to csv transformation is done at file marshaller level. >>>> >>>> My first try results in an unsupported MEP error. I guess it is because >>>> the file-bc only supports in-only MEP. >>>> >>>> I know I could achieve this by using a bean-se, but I really would like >>>> to >>>> leverage the file component functionalities. Is there a way to work >>>> this >>>> around either at the cxf level or by using some other component like the >>>> camel-se ? Should I consider another approach ? >>>> >>>> Benoît >
