Java 运行时从WSDL动态调用Web服务

Java 运行时从WSDL动态调用Web服务,java,web-services,jakarta-ee,jax-ws,jax-rpc,Java,Web Services,Jakarta Ee,Jax Ws,Jax Rpc,我正在寻找一个动态web服务客户端的解决方案,比如JAX-RPC中的DII 我需要从WSDL生成一个客户机。 但是WSDL只在运行时才知道(所以我没有任何可用的接口) 我查看了JbossESB、JbossWS、JaxWS、JaxRPC,但找不到任何符合此要求的内容 谢谢你的帮助。为你的问题找到现成的解决方案并不容易。至少一个也不存在。由于与操作的请求和响应相关联的支持模式类型固有的未知复杂性,不可能有这样的解决方案 然而,通过组合正确的工具,或者使用一些开源框架/库/工具,您可能能够实现类似的功

我正在寻找一个动态web服务客户端的解决方案,比如JAX-RPC中的DII

我需要从WSDL生成一个客户机。 但是WSDL只在运行时才知道(所以我没有任何可用的接口)

我查看了JbossESB、JbossWS、JaxWS、JaxRPC,但找不到任何符合此要求的内容

谢谢你的帮助。

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

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


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

这似乎可以通过CXF和一些java反射实现

我个人正在寻找一个解决方案,这+一个动态服务器模型以及


祝你好运。

请注意,WSIF可以做到这一点,但它需要JDK1.3使用旧方法。我需要将其集成到JDK 5中。这意味着我假设在部署应用程序之后。如果是这样,假设您已经生成了客户端,您将如何使用它?