使用RPC /编码的Web服务的最佳方式是什么?

Taa*_*ves 32 java cxf jax-ws jax-rpc

我需要为后端使用旧式RPC /编码的WSDL Web服务.起初我尝试使用Apache CXF和JAX-WS,但JAX-WS wsimport工具不使用rpc/enoded WSDL.

[错误] JAXWS 2.0不支持rpc/encoded wsdls.

我也对使用JAX-RPC做这项工作有疑问,因为它已经过时了.Axis 1.4是5年的工具.

目前我看到这三个选项:

  1. 使用JAX-WS javax.xml.ws.Dispatch来发送和接收SOAP和某种方式解析它,一个例子
  2. 使用JAX-RPC并获得使用过时技术的恶劣业力,
  3. 手动完成所有操作,以后再讨厌自己.

这些都听起来不太好,所以如果你能提供一些好的线索,想要做什么以及如何解决它,我将不胜感激.

Taa*_*ves 17

UPDATE

我的案例通过手动编辑WSDL从编码文字解决(基本上在操作输入和输出use="literal"是唯一的替代)然后我可以用Apache CXF生成存根.可以这样做,因为端点没有完全解析RPC /编码,并且无法针对WSDL验证RPC /编码规范XML).

虽然Axis 1.4可能对你有用,但使用Apache CXF和那个小的WSDL hack可能是更好的方法.


[老答案]

作为参考 - 我这次选择使用JAX-RPC和Axis 1.4.我生成了客户端代码,希望在服务升级时可以用JAX-WS实现替换它.

  • 我确实下载了轴1.4,但无法生成存根.你知道wsdl2java的文档在哪里吗?我试过apache网站,但没有发现任何有趣的东西. (2认同)