【问题标题】:Generating WSDL for a single ServiceStack service为单个 ServiceStack 服务生成 WSDL
【发布时间】:2018-02-07 05:46:59
【问题描述】:

有没有办法为单个 ServiceStack 服务获取 WSDL?例如,如果我重写 AppHost.Configure 方法并注册一个服务,像这样......

public override void Configure(Container container)
{
    this.RegisterService<MySoapService>("/MySoapService");
}

我可以将 ServiceStack 配置为只为 MySoapService 服务生成 WSDL 吗?比如……

https://mycompany.com/MySoapService?wsdl

我发现使用 [...]/soap11 获取 WSDL 为我提供了应用程序托管的所有服务的 WSDL。当仅 REST 服务不是 SOAP 投诉时,这是一个问题。

【问题讨论】:

    标签: c# wsdl servicestack


    【解决方案1】:

    不,/soap11/soap12 WSDL 端点返回所有 ServiceStack 服务。

    您可以隐藏与ServiceStack's SOAP Support 不兼容的服务,方法是使用[Exclude(Feature.Soap)] 属性标记它们,这将使它们对WSDL 隐藏。

    【讨论】:

    • 谢谢。这有助于我现在需要的东西。虽然,仅在一个 WSDL 中描述所有服务似乎有些过分。
    • @Jason 这就是 WSDL 所做的,描述 SOAP 端点上所有可用的服务。
    • 明白。我想我的问题会更好地问我如何在 ServiceStack 中设置不同的 SOAP 端点;允许为每个服务使用单独的 WSDL。类似于 WCF 项目如何允许每个服务端点使用不同的 WSDL(例如 .../separateService.svc?wsdl)。这将使我能够利用 ServiceStack 作为大量模块化服务的容器,同时减少 .NET 客户端仅为将要使用的服务生成的代码。
    • @Jason ServiceStack 不允许在同一个 AppHost 中使用多个 SOAP 端点,因此您的选择是创建多个 AppHost,每个都引用您希望可用于每个 AppHost/端点的服务,或者手动将 WSDL 拆分为多个更小的 WSDL。注意:它们可以只是“虚拟”AppHost,即仅用于生成不同的较小 WSDL,您仍然可以使用单个 AppHost 来托管所有服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多