0

Basiaclly 我有要发送的 XML-d 对象,感谢 JIBX,我有 WSDL 端点。我只是想把东西送到那个端点。这对我来说非常困难。

我想使用 POJO 模式,因为它看起来比其他模式简单得多,不涉及弄乱 SOAP-Headers 等等

POJO 模式似乎默认调用 JAXB,但我想使用 JIBX - 因为我正在与之交互的项目已经 JIBX 注释并且

我想用我的 JIBX 交换 POJO 自动 JAXB,或者让我自己进行编组(我可以成功)并传递我的 xml 消息

from( "A" )
  .marshall().jibx() // works fine, and gives byte[] of marshalled object in In.body
  .process() {
      exchange.getIn().setHeader( CxfConstants.OPERATION_NAME, OPERATION);    
   }
   .to("cxf://SERVICE"
     + "?serviceClass=SERVICE_CLASS"
     + "&wsdlURL=SERVICE?wsdl"
     + "&dataFormat=POJO" );

然后它尝试在消息体上调用 Jaxb 并死掉。

我尝试将字节 [] 包装为字符串,并包装在列表中并使用 dataformat=MESSAGE 发送,但我似乎无法得到我想要做的事情

4

1 回答 1

0

用户1958722,

我建议您查看 JiBX 网站和我的博客blog.tourgeek.com上的一些示例

JiBX 具有包含在 CXF 中的数据连接器。这意味着您所要做的就是在 spring bean.xml 文件中指定 jibx 数据连接器,然后 JiBX 会自动执行编组/解组。

尽管 CXF 对于 SOAP 服务器来说是一个很好的工具,但我发现它对于 SOAP 客户端有点难以使用。您可以使用 JiBX 客户端库为自己节省大量时间。它非常轻量级,因为它使用 javax.xml.ws.soap 包将您的消息打包到一个 SOAP 容器中。

我建议阅读我关于创建 SOAP 客户端的文章并查看我们存储库中的一些示例客户端代码

JiBX 模式库有一些很棒的Web服务客户端服务器示例

如果您正在处理公共消息集,请考虑将您的绑定捐赠给 JiBX 模式库。

我希望这有帮助!

大学教师

于 2013-02-06T14:49:31.817 回答