首页 > 解决方案 > 如何使用 apache-camel 调用肥皂网络服务

问题描述

我有一个运行一些服务器的肥皂网络服务。

<wsdl:operation name="lookup">
<wsdl:input message="tns:LookupRequest" name="LookupRequest"> </wsdl:input>
<wsdl:output message="tns:LookupResponse" name="LookupResponse"> 
</wsdl:output>
</wsdl:operation>

它具有作为 Web 服务的查找,并且此 Web 服务将 LookupRequest 对象作为输入。

所以我的问题是如何使用 apache camel 调用此查找 Web 服务,以及如何向此 Web 服务提供输入,即:查找对象。

还有我怎么能确定我们的wheather它是一个jax-ws,因为我只有wsdl文件,我想使用apache-camel为那个web服务创建客户端。

LookupRequest 类如下所示:-

public class LookupRequest {

        @XmlElement(name = "EntityReference")
        protected List<EntityReference> references;
        @XmlElement(name = "AttachmentReference")
        protected List<AttachmentLookupReference> attachmentReferences;
        @XmlAttribute(name = "countryCode")
        protected String countryCode;
        @XmlAttribute(name = "languageCode")
        protected String languageCode;
}

我是否需要创建 lookupRequest 对象并将其发送到服务器,或者我也可以发送 String?

标签: wsdlapache-camelsoap-client

解决方案


首先,您需要借助 CXF wsdl2java从 WSDL 生成客户端。然后,您可以利用 camel-cxf 组件将请求发送到您要调用服务器的服务,这是您可以查看的示例。


推荐阅读