我有一些服务器运行的soap Web服务。
<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服务输入输入,即:查找对象。
还有我怎么知道我们的小麦是一个jax-ws,因为我只有 wsdl文件,我想使用apache-为该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?
答案 0 :(得分:1)
首先,您需要借助CXF wsdl2java从WSDL生成客户机。然后,您可以利用camel-cxf组件将请求发送到要调用服务器的服务,这里是an example,您可以看看。
答案 1 :(得分:0)
您可以尝试发送xml请求:
首先设置两个标题 .setheader(“ operationNamespace”,tns是其别名的名称空间) .setheader(“ operationName”,“ lookup”)
,然后使用cfx组件 “ cxf:{{url}}?wsdlURL = someWsdlInclasspath.wsdl&dataFormat = payload”
然后您可以将请求发送为xml(正文)