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