服务堆栈(REST)SOAP和WSDL无法正常工作

我实现了ServiceStack Hello World ,除了一件重要的事情外,每件事都没问题。 它的SOAP11和SOAP12以及WSDL也无法正常工作。 当访问URL http:// localhost:8082 / SOAP11 / for SOAP11或SOAP12时,它说:

{ "ResponseStatus":{ "ErrorCode":"NotImplementedException", "Message":"The method or operation is not implemented.", "StackTrace":" at ServiceStack.WebHost.Endpoints.Support.EndpointHandlerBase.ProcessRequest(IHttpRequest httpReq, IHttpResponse httpRes, String operationName) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\Support\\EndpointHandlerBase.cs:line 52\n at ServiceStack.WebHost.Endpoints.AppHostHttpListenerBase.ProcessRequest(HttpListenerContext context) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\AppHostHttpListenerBase.cs:line 57\n at ServiceStack.WebHost.Endpoints.Support.HttpListenerBase.ListenerCallback(IAsyncResult asyncResult) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\Support\\HttpListenerBase.cs:line 197" } } 

我是通过控制台主机实现的。 我的控制台主机类:

  public class AppHost : AppHostHttpListenerBase { public AppHost() //Tell ServiceStack the name and where to find your web services : base("ServiceStack Examples", typeof(InventoryREST.Hello).Assembly) { } public override void Configure(Funq.Container container) { } } 

当我想通过WSDL访问它时,它什么都没显示,只是空白页面和cpu工作…

托管在HttpListener主机上时(即在独立控制台中),SOAP端点不可用。

您需要在ASP.NET主机中托管它以查看XSD和WSDL。

Hello World Example项目实际上托管在/servicestack/所以正确的URL将是:

元数据页面: http:// localhost:8082 / servicestack / metadata

SOAP 1.1 WSDL: http:// localhost:8082 / servicestack / soap11

SOAP 1.2 WSDL: http:// localhost:8082 / servicestack / soap12

注意:上面的WSDL端点也是SOAP Web服务的端点,即您的SOAP客户端会将SOAP消息发送到上述端点。

如果您喜欢它们不是托管在自定义路径上,则需要更改Web.config以设置监听根/路径的 servicestack。