camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <willem.ji...@gmail.com>
Subject Re: camel-cxf endpoint in CXF Dispatch mode
Date Sat, 12 Mar 2011 01:34:53 GMT
I just have a quick look at the patch and has few comments for it.

1. Just a quick question of the Dispatch mode, this dispatch is not like 
what we use the JAXWS Dispatch API. What the difference between this 
Dispatch and JAXWS Dispatch API ?
We need to write some document to clarify this in case the user confuse 
with JAXWS Dispatch.

2. As there is no specific configuration bind to the CxfSprintEndpoint, 
we could support the Dispatch mode in CxfEndpoint also. Which means we 
can setup the camel-cxf producer to the Dispatch module also.


3. As we are doing the Camel 2.7.0 release now, I suppose we apply this 
patch after the Camel 2.7.0 released to give us some time for testing 
this new feature.

Willem

On 3/11/11 10:23 PM, William Tam wrote:
> Thanks Aki. I'll take a closer look at the problem and commit it as
> appropriate over the weekend.
>
> On 03/11/2011 04:09 AM, Aki Yoshida wrote:
>> Hi William,
>> Yes. I initialy tried out that approach. And in fact, as you saw, I am
>> using this dummy class internally and programatically adding its
>> operations to the endpoint. I needed to add the operations because
>> DummyImpl does not specifiy any information and if there is no
>> operaiton associated for the endpoint, CxfProducer gets problems at
>> its process method as it looks for the operaiton:
>>
>> BindingOperationInfo boi =
>> prepareBindingOperation(camelExchange, cxfExchange);
>>
>> We could handle this special case per call within this process method,
>> but it was more reasonable to handle this case at the client/endpoint
>> setup and keep the rest of the processing to run transparently.
>>
>> This was the reason why I embedded this coding at the endpoint setup.
>> Another reason for this setup was to hide this ugly DummyImpl name
>> from the spring configuraiton and make the configuraiton look simpler.
>>
>> Thanks.
>>
>> Regards, Aki
>>
>> 2011/3/11 William Tam<email.wtam@gmail.com>:
>>> Hi Aki,
>>>
>>> I recalled my suggestion was to try passing a dummy class in the
>>> cxfEndpoint
>>> config. It should allow you to send arbitrary payload. I guess that
>>> didn't work? It looks like your patch is doing just that am I missing
>>> something.
>>>
>>> I.e.
>>>
>>> <cxf:cxfEndpoint id="serviceEndpoint"
>>> address="http://localhost:9000/SoapContext/MyPort"
>>> endpointName="s:MyPort"
>>> serviceName="s:MyService"
>>> serviceClass="org.apache.cxf.jaxws.support.DummyImpl">
>>> <cxf:properties>
>>> <entry key="dataFormat" value="PAYLOAD"/>
>>> </cxf:properties>
>>> </cxf:cxfEndpoint>
>>>
>>> Also, could you elaborate on the purpose of addInvokeOperation()?
>>>
>>> Thanks,
>>> William
>>>
>>> On 03/10/2011 01:19 PM, Aki Yoshida wrote:
>>>> Hi,
>>>> I added the CXF dispatch mode to the Camel CXF endpoint so that I can
>>>> ran SOAP intermediary/gateway scenarios over a single CXF endpoint
>>>> with some CXF features enabled.
>>>>
>>>> I attached the patch file and unit test files to CAMEL-3778.
>>>>
>>>> In short, you can configure your endpoint like
>>>>
>>>> <cxf:cxfEndpoint id="serviceEndpoint"
>>>> address="http://localhost:9000/SoapContext/MyPort"
>>>> endpointName="s:MyPort"
>>>> serviceName="s:MyService"
>>>> bus="#bus">
>>>> <cxf:properties>
>>>> <entry key="dataFormat" value="PAYLOAD"/>
>>>> </cxf:properties>
>>>> </cxf:cxfEndpoint>
>>>>
>>>> and send arbitrary SOAP messages over this endpoint while you CXF bus
>>>> configuraiton can add some features to your processing.
>>>>
>>>> I would appreciate if you can give me your feedback.
>>>>
>>>> Thanks.
>>>>
>>>> Regards, aki
>>>>
>


-- 
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
          http://jnn.javaeye.com (Chinese)
Twitter: willemjiang

Mime
View raw message