我想开发一个测试Web服务的应用程序,它将使用提供的WSDL中的参数自动生成JSF表单。
WSDL URL由用户提供,在解析之前我不知道操作的名称。我希望应用程序完成解析后的操作及其参数,并自动生成相应的Java Bean,我将使用它来生成JSF表单。
我测试了CXF和JAX-WS,但我认为他们需要在生成Java bean之前知道操作名称。如何透明地为任何WSDL生成Java Bean?手动运行wsdl2java
不是解决方案。
答案 0 :(得分:4)
CXF确实有一个“DynamicClient”(参见:http://cxf.apache.org/javadoc/latest-2.6.x/org/apache/cxf/jaxws/endpoint/dynamic/JaxWsDynamicClientFactory.html),可用于此目的。它解析wsdl,生成JAXB对象并编译它们,并返回一个客户端,可用于获取操作和类型以及与之关联的类型。
答案 1 :(得分:-1)
如果您正在使用Maven(并且您应该使用),则可以使用CXF codegen插件从WSDL生成类。我的博客上有一个例子;
http://qwerky-qwerky.blogspot.co.uk/2011/12/programming-without-programming-1.html