在运行时从WSDL进行Web Service动态调用

时间:2010-11-12 09:22:47

标签: java web-services java-ee jax-ws jax-rpc

我正在寻找动态Web服务客户端的解决方案,例如来自JAX-RPC的DII。

我需要从WSDL生成客户端。 但是WSDL只在运行时才知道(因此我没有任何可用的接口)。

我看过JbossESB,JbossWS,JaxWS,JaxRPC,但我找不到符合这个要求的东西。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

看来这可以通过CXF和一些java反射来实现。

jax-ws-dynamic-dispatch-with-cxf

我个人也在寻找这个+动态服务器模型的解决方案。

祝你好运。

答案 1 :(得分:-1)

为您的问题找到现成的解决方案并不容易。至少没有AFAIK存在。由于与操作的请求和响应相关联的后备模式类型的固有的,未知的复杂性,不可能有这样的解决方案。

然而,将正确的工具组合在一起,或者使用一些开源框架/库/工具,您可能能够实现类似的功能。基本上你需要有一个WSDL4J实现,以及像XMLBeans这样的模式解析器来实现这个功能。

我想到的一个工具是SoapUI。它实现了类似的功能 - 用户在运行时加载WSDL,然后可以执行操作。 LGPL here下也可以修改此工具的来源。您需要剥离并挽救适合您需求的核心功能。或者最好,建立自己的一个:]