camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <>
Subject Re: Web service provider
Date Tue, 30 Sep 2008 14:15:13 GMT

My comments are in the mail.
wänä wrote:
> Hello Willem,
> thank you for that, at least the bus now starts. But then, I am still
> completely lost. Having received the message through CXF, it now arrives in
> the component which should prepare the SOAP call. I am able to change the
> element in the MessageContentsList, but from the error I receive now, and
> the things I see in the debugger, I am certain that this is not sufficient,
> because the stack trace tells me something like
> java.lang.ClassCastException: providerpackage.ProviderRequestObject cannot
> be cast to consumerpackage.ConsumerRequestObject
Can you show me the transform code?
> I am perfectly ok with that, this is not possible, but I do not see why the
> request object for the provider should be cast into the request object from
> the consumer.
> CXF Entry into Bus -> ConsumerRequestObject -> My transform ->
> ProviderRequestObject -> Http callout to external web service
If you want to turn a ProviderRequestObject into a Http request, you 
need to use CxfProducer for marshaling ProviderRequestObject.
> I guess I am still far away from what I want to do. So a pointer to an
> example, where one either transforms an incoming web service request into an
> outgoing request, or where one builds a completely new web service request
> from scratch would help me a lot.
CXFExample[1] shows how to turn a soap over http request into a soap 
over jms request.
CxfProducerTest[2] is the test to show how to prepare the a new web 
service request from scratch.

> Thank you for any help!
> Best regards, Werner

> willem.jiang wrote:
>> Hi ,
>> Did you put the camel-http jar into your class path?
>> It looks like the camel context can resolve the http endpoint .
>> Willem
>> wänä wrote:
>>> Hello,
>>> I have a problem to figure out, how to call a web service provider (web
>>> service external to camel) from within a camel route:
>>>   <camel:camelContext id="xyz-context">
>>>     <camel:route>
>>>       <camel:from uri="cxf:bean:get-file-list"/>
>>>       <camel:interceptor ref="foo-service">
>>>         <camel:interceptor ref="bar-service">
>>>           <camel:to uri="http://a-host:a-port/a-path"/>
>>>         </camel:interceptor>
>>>       </camel:interceptor>
>>>     </camel:route>
>>>   </camel:camelContext>
>>> This gives me an error during startup:
>>> No endpoint could be found for: http://a-host:a-port/a-path
>>> I understand, that I didn't configure an endpoint at
>>> http://a-host:8080/a-path, but I have no idea how to do that.
>>> The camel manual only shows how to directly use an http URL in the DSL
>>> way.
>>> To give some context, the situation is as follows:
>>> - A web service consumer into camel (camel should offer a wsdl
>>> interface),
>>> this works and is the cxf:bean thing above in the from element
>>> - Some pojos massaging the content, which works also
>>> - A web service provider, which needs to be adapted, which doesn't work
>>> for
>>> me at the moment
>>> I first thought, I could use the cxf component to stand for the consumer
>>> and
>>> the provider (different wsdls), but this didn't work either, because as
>>> far
>>> as I understand, it only works as a consumer.
>>> Any help is appreciated, possibly with concrete links or examples.
>>> Thank you!
>>> Best regards, Werner

View raw message