Hi

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

[1] http://activemq.apache.org/camel/cxf-example.html
[2] https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java

Willem
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





Reply via email to