我希望向现有服务器应用程序添加 Web 服务接口(interface)。要公开的服务集在编译时未知,并且可以在服务器的运行时生命周期中发生变化。
从技术角度来看,所有服务器/Web 服务端点都将位于 Windows 上。
在我们的服务器应用程序中,用户可以选择将工作流程注册为“可调用的 Web 服务”。这将创建定义此特定工作流服务的 WSDL。
对于调用端点,我正在考虑一个 HttpModule,它接受入站 Web 服务请求,解包请求并将 XML 数据类型转换为我们的服务器应用程序“域”,调用服务器并最终将服务器输出转换回用于通过 http 连接返回的 XML。
这有意义吗?
欢迎批评。
最佳答案
实际上是在编写您自己的 WS 引擎。显然是可行的,但从头开始需要做很多工作。我想如果您找到一些开源实现,那么对其进行调整应该是可能的。
一个相当肮脏的替代方案,但我见过在其他上下文中应用过的一个方案,就是选择一个简单的 WS 接口(interface)
String call( String workkFlowName, String payload)
有效负载和响应都是包含任何 XML 的字符串。因此调用者需要理解这些 XML 的架构。从客户的角度来看,编码工作量并没有太大不同。我认为您的编码工作量将大大减少。
关于web-services - 网络服务接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1437226/