将Web服务使用者与Mule CE一起使用

时间:2016-01-07 16:56:26

标签: web-services http mule cxf

我正在迁移我的cxf jaxws客户端以使用新的HTTP连接器。骡子文档说这样做:

<cxf:jaxws-client
     clientClass="org.apache.hello_world_soap_http.SOAPService"
     port="SoapPort"
     wsdlLocation="classpath:/wsdl/hello_world.wsdl"
     operation="greetMe"/>
<outbound-endpoint address="http://localhost:63081/services/greeter"/>

但是这还没有使用旧的http实现吗?

接下来,我尝试将其转换为使用Web Service Consumer。我见过的所有例子都使用了DataMapper,但这不适用于Mule CE。

没有DataMapper,运行我的应用程序时出现以下错误:

为变换器“JAXBMarshallerTransformer”(org.mule.api.transformer.TransformerException)指定了无效的返回类型“interface javax.xml.stream.XMLStreamReader”     at org.mule.module.xml.transformer.jaxb.JAXBMarshallerTransformer.doTransform(JAXBMarshallerTransformer.java:125)

Web Service Consumer是否仅用于DataMapper?如何在没有DataMapper的情况下使用它?如果不是jaxb对象,我会发送什么类型的对象?

有没有办法将cxf jaxws-client与新的http request-config一起使用?

感谢。

1 个答案:

答案 0 :(得分:1)

将JAXB对象转换为字符串解决了错误。