我有元数据,可用于描述数百个新的Web服务,并希望从我自己的Java类中动态创建WSDL文件。当您希望将Web方法公开为Web服务时,我会看到许多方法。不幸的是,这种方法对我不起作用,因为我有一个可以为许多不同的操作和服务提供服务的运行时方法。它是动态的,因此没有可以通过map.xml绑定的静态类。我的计划是生成WSDL文件,允许通过HTTP POST接收传入的SOAP信封,通过现有方法识别,转换和处理。
这是为了允许Web服务访问是一个具有20年历史的专有动态可调用后端。我确信每个服务的元数据可以很容易地作为Web服务和操作呈现给外部世界。
我总是可以通过将文本附加到StringBuilder来编写自定义构建器,但这是最不可取的选择。如果有一个我可以使用的API可以接受必要的项目和属性,并且在完成时,验证并呈现正确形成的WSDL文件,那将更加可靠。
我希望这是通用的,不要求像我在WebSphere中那样在其他类上添加类。
答案 0 :(得分:0)
在这种情况下,我会考虑使用Provider API(JAX-WS的标准部分)实现Web服务。
答案 1 :(得分:0)
最后,我们使用.NET 4 System.Xml.Schema和System.Web.Services.Description命名空间构建了一个WSDL生成器。生成的WSDL在Java和.NET中都用于构建客户端和服务器接口类。花了一段时间,但我们已经启动并运行了大部分服务,并且它们完全与平台无关。
答案 2 :(得分:0)
我更喜欢使用Spring Web Services。它可以采用具有合理默认值的XSD并将其转换为WSDL。
请参阅http://docs.spring.io/spring-ws/site/reference/html/server.html#server-automatic-wsdl-exposure
中的sws:dynamic-wsdl