这是我想做的:
我有一个 Java 网络应用程序,我可以在其中定义执行代码的服务(例如 JRuby),它还指定输入参数和输出参数。 所有这些信息都存储在数据库中。
今天,根据这些信息,我可以呈现一个网页,其中显示用于输入的表单字段。如果用户提交表单,我将解析输入请求参数并将它们传递给实际的 JRuby 代码并将输出返回到响应页面。
我现在想做的是做完全相同的事情,但不向用户显示 HTML 网站,而是显示 WSDL。 假设这个 WSDL 的消费者在他的一端创建了一个 SOAP 客户端并调用我的 web 服务,包括所需的输入参数,我想要一些 java 代码来解析传入的 SOAP 请求,根据动态生成的 WSDL 文件验证它,提取输入请求参数,将它们传递给 JRuby 代码并将结果作为另一个 SOAP 请求返回。
长话短说:
哪个基于 Java 的框架可以帮助我解决这个问题? 我无法创建 java 类来生成 WSDL 或使用任何注释,因为输入和输出的规范是来自数据库的动态。
我认为我可以真正手动生成 WSDL(连接字符串或一些例如 freemarker 模板)然后也手动解析 xml,但我想是否有更好的方法以编程方式执行此操作。
谢谢 克里斯托夫
最佳答案
您可以尝试查看 wsdl4j .我有一个类似的问题,我在寻找解决方案时偶然发现了 wsdl4j,我还没有完全测试它。有pdf文档here解释如何使用它(第 10 章“以编程方式创建定义”)希望它能有所帮助。
马克斯
关于java - 如何以编程方式动态创建 WSDL 并在没有生成代码或 Java stub 的情况下解析请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907994/