Apache Camel:构建CXF使用者并调用该服务

时间:2014-03-20 19:02:54

标签: java web-services cxf apache-camel

我对用于创建消费者端点的不同选项感到困惑 尝试使用http://{ip}:{port}/webservices/name1发布的网络服务。典型端点如下所示:

<cxf:cxfEndpoint id="consume1"
                   serviceClass=""
                   address=""
                   endpointName=""
                   serviceName=""
                   wsdlURL=""
                   />

典型路线可能如下所示:

<route>
  <from uri="cxf:bean:consume1?dataFormat=MESSAGE"/>
  <to uri="log:output"/>
</route>

以下是我的疑惑:

  1. 这里服务类的价值是多少?如何通过查看wsdl来了解服务类?
  2. 地址是否代表服务网址提到了?我确实发现同样看着几个exmaples
  3. 我如何调用特定操作并从java类传递输入?

2 个答案:

答案 0 :(得分:2)

看看https://camel.apache.org/cxf。在这里,您应该找到所需的所有信息。特别关注Spring配置here

在您引用的链接(https://camel.apache.org/cxf-proxy-example.html)中,仅描述了将Camel用作Web服务代理时所需的配置。

答案 1 :(得分:1)

Q1: 服务类是从WSDL生成的服务端点接口的类名。如果您使用MESSAGE或PAYLOAD数据格式,则无需指定服务类。

Q2 地址是服务的访问点,它可以覆盖WSDL中的地址信息。

Q3 如果要将请求从camel路由到其他Web服务端点,则需要设置这样的路由。

<route>
  <from uri="direct:start" />
  <to uri="cxf:bean:service"/>
</route>

您可以设置操作名称的消息头,并将调用参数设置到消息体中。