如何从WSDL动态自动生成Java Beans?

6
我想开发一个测试Web服务的应用程序,它将使用提供的WSDL参数自动生成JSF表单。用户提供WSDL URL,但在解析之前,我不知道操作的名称。我希望应用程序通过解析操作及其参数,并自动生成适当的Java Beans,用于生成JSF表单。我已经测试了CXF和JAX-WS,但我认为它们需要在生成Java Beans之前知道操作名称。如何透明地为任何WSDL生成Java Beans?手动运行wsdl2java不是解决方案。

你有没有考虑在程序内部运行wsdl2java? - Thorbjørn Ravn Andersen
1
据我所知, wsdl2java 生成具有操作名称的 *.java 文件,我必须动态编译并以某种方式导入这些文件。在创建 bean 之前,我该如何做到这一点而不知道它们的名称呢? - niutech
2个回答

5

我使用了CXF DynamicClient,它运行得非常好:`JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();Client c = dcf.createClient(url);Endpoint e = c.getEndpoint();ServiceInfo si = endpoint.getService().getServiceInfos().get(0);BindingInfo bi = si.getBindings().get(0);BindingOperationInfo boi : bi.getOperations().get(0);` - niutech
我尝试了上面给出的代码,但它没有起作用。它抱怨BindingInfo和BindingOperationInfo的.get(0)。请问您能否在这里放置可运行的代码呢?谢谢。 - Motilal

-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接