关于java:Apache Camel:构建CXF消费者并调用服务

Apache Camel: Build a CXF consumer and call the service

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

1
2
3
4
5
6
7
<cxf:cxfEndpoint id="consume1"
                   serviceClass=""
                   address=""
                   endpointName=""
                   serviceName=""
                   wsdlURL=""
                   />

典型的路线可能如下所示:

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

这是我的疑问:

  • 这里的服务等级有什么价值?我如何通过查看 wsdl 来了解服务等级?
  • 地址是否代表上面提到的服务网址?看了几个例子,我发现它不一样
  • 我将如何调用特定操作并从 java 类传递输入?

  • 看看 https://camel.apache.org/cxf。在这里你应该找到你需要的所有信息。这里特别看一下Spring的配置。

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


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

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

    第三季度
    如果要将请求从骆驼路由到其他 Web 服务端点,则需要像这样设置路由。

    1
    2
    3
    4
    <route>
      <from uri="direct:start" />
      <to uri="cxf:bean:service"/>
    </route>

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