我正在尝试使用CXF从客户端调用Apache Axis 1 Web服务,但遇到此问题:
java: Rpc/encoded wsdls are not supported in JAXWS 2.0
现在虽然切换客户端可以解决这个问题,但我的客户端在Osgi内运行并且axis1运行不好。
我的想法是在CXF或Axis2中编写Web服务 - 所以我可以从我的客户端调用它 - 然后将其用作代理来调用Axis1 Web服务。
有没有人像以前一样做过这件事?或者任何人都可以建议任何其他方法?
由于
答案 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编码服务,以便保留任何现有集成,并通过文档文字服务配置简单地公开其他服务,然后您可以从大多数地方轻松地使用该服务。