Java 动态生成WSDL

Java 动态生成WSDL,java,web-services,soap,wsdl,Java,Web Services,Soap,Wsdl,我有可以用来描述数百个新web服务的元数据,并且希望从我自己的Java类中动态创建WSDL文件。当您有想要公开为web服务的Java方法时,我看到了许多实现这一点的方法。不幸的是,这种方法不适合我,因为我只有一个运行时方法,可以为许多不同的操作和服务提供服务。它是动态的,因此没有可以通过map.xml绑定的静态类。我的计划是生成WSDL文件,允许通过HTTP POST接收传入的SOAP信封,并由我现有的方法进行识别、转换和处理 这是为了允许web服务访问一个有20年历史的专有动态可调用后端。我确

我有可以用来描述数百个新web服务的元数据,并且希望从我自己的Java类中动态创建WSDL文件。当您有想要公开为web服务的Java方法时,我看到了许多实现这一点的方法。不幸的是,这种方法不适合我,因为我只有一个运行时方法,可以为许多不同的操作和服务提供服务。它是动态的,因此没有可以通过map.xml绑定的静态类。我的计划是生成WSDL文件,允许通过HTTP POST接收传入的SOAP信封,并由我现有的方法进行识别、转换和处理

这是为了允许web服务访问一个有20年历史的专有动态可调用后端。我确信,每个服务的元数据都可以作为web服务和操作轻松地呈现给外部世界

我总是可以通过向StringBuilder添加文本来编写自定义生成器,但这是最不可取的选择。如果我可以使用一个API来接收基本项和属性,并在完成时验证和呈现一个格式正确的WSDL文件,那么它将更加可靠


< P>我希望这是通用的,而不需要其他的专有附加类,如WebSphere中可能发现的。

< p>在这种情况下,我会考虑使用Web服务(JAX-WS的标准部分)。

< P>最后,我们使用.NET 4 Syp.XML.Script和Standard .Web.Services。描述命名空间构建了一个WSDL生成器。生成的WSDL在Java和.NET中都用于构建客户机和服务器接口类。虽然花了一段时间,但我们已经启动并运行了大部分服务,它们完全不依赖于平台。

我更喜欢使用SpringWeb服务。它可以使用具有合理默认值的XSD并将其转换为WSDL

请参见中的
sws:dynamicwsdl