从Apache CXF调用Apache Axis 1 Web服务

时间:2010-09-27 17:48:49

标签: java web-services axis cxf

我正在尝试使用CXF从客户端调用Apache Axis 1 Web服务,但遇到此问题:

java: Rpc/encoded wsdls are not supported in JAXWS 2.0

现在虽然切换客户端可以解决这个问题,但我的客户端在Osgi内运行并且axis1运行不好。

我的想法是在CXF或Axis2中编写Web服务 - 所以我可以从我的客户端调用它 - 然后将其用作代理来调用Axis1 Web服务。

有没有人像以前一样做过这件事?或者任何人都可以建议任何其他方法?

由于

1 个答案:

答案 0 :(得分:1)

您当然可以使用您建议使用Axis2 / CXF的方法 - > Axis 1.x,但可能有一个更简单的方法。您是否“拥有”Axis 1.x Web服务? Axis 1.x经常使用RPC编码的WSDL公开服务。但是,您可以通过Axis使用的配置文件在Axis 1.2转发中覆盖它。

以下是Axis 1.2服务配置规范的文档:http://ws.apache.org/axis/java/user-guide.html#ServiceStylesRPCDocumentWrappedAndMessage

我建议将现有服务保留为RPC编码服务,以便保留任何现有集成,并通过文档文字服务配置简单地公开其他服务,然后您可以从大多数地方轻松地使用该服务。