我很幸运能够使用我选择的工具(ServiceStack)启动一个新项目。架构非常稳固,产品在 web api 出现之前就已经面世了。话虽如此,如果我还可以重新创建一些遗留 SOAP 端点并通过此服务进行路由,而不是同时运行两个 api,那将是一个很大的优势。有没有首选的方法来做这样的事情?
谢谢你,斯蒂芬
我很幸运能够使用我选择的工具(ServiceStack)启动一个新项目。架构非常稳固,产品在 web api 出现之前就已经面世了。话虽如此,如果我还可以重新创建一些遗留 SOAP 端点并通过此服务进行路由,而不是同时运行两个 api,那将是一个很大的优势。有没有首选的方法来做这样的事情?
谢谢你,斯蒂芬
不确定将遗留 SOAP 端点迁移到 ServiceStack 需要什么。
但是 ServiceStack 的SOAP 支持与所有其他 REST、Web 和 MQ 端点以及 Content-Type 一样工作,它会自动公开围绕您的服务请求和响应 DTO 的 SOAP 端点,从而允许通过 SOAP 1.1/1.2 调用它。
SOAP 的固有限制意味着只有支持 POST(即 Post() 或 Any())的服务才能被 SOAP 调用。对于使用任何其他 HTTP/REST 动词的服务,它将在元数据页面中被禁用,如SocialBootstrap API元数据页面所示。有关您应该厌倦的其他事情,请参阅SOAP 限制。
元数据页面还包含指向您的服务 WSDL 和 XSD 的链接,例如:
如果您想在同一个应用程序中托管旧的 .asmx SOAP 服务,那么您应该在 /custompath 上托管 ServiceStack,这样您就可以将它与任何其他 ASP.NET Web、MVC 或其他 Web 服务框架一起使用。