如何为使用ServiceStack的应用程序编写实现?

时间:2018-02-19 23:52:31

标签: servicestack

我的任务是将现有应用程序与另一个使用ServiceStack的应用程序集成,以将其API暴露给外部世界。

我可以访问元数据页面(at / metadata),它会讨论可以从端点接收的响应。凉。

问题是,如何生成可以查询此端点并返回结果的服务?我知道我可以自己主动查询端点,然后将响应反序列化为基于ServiceStack提供的XSD的对象。但我觉得我正在重新发明轮子。

通过一些猜测,如果我转到/ metadata / soap12,我会得到一个包含这些绑定的WSDL:

<wsdl:binding name="WSHttpBinding_ISyncReply" type="svc:ISyncReply">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
</wsdl:binding>
<wsdl:binding name="WSHttpBinding_IOneWay" type="svc:IOneWay">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
</wsdl:binding>
<wsdl:service name="SyncReply">
<wsdl:port name="WSHttpBinding_ISyncReply" binding="svc:WSHttpBinding_ISyncReply">
<soap:address location="https://xxx.xxx.xxx.xxx/Services/soap12"/>
</wsdl:port>
</wsdl:service>
<wsdl:service name="AsyncOneWay">
<wsdl:port name="WSHttpBinding_IOneWay" binding="svc:WSHttpBinding_IOneWay">
<soap:address location="https://xxx.xxx.xxx.xxx/Services/soap12"/>
</wsdl:port>
</wsdl:service>

显然我会期待更多。应用程序问题在其API文档(在/ metadata)中公开了一个搜索路由,所以我希望看到一个WSDL服务利用该操作并返回一个结果。

有没有办法从ServiceStack应用程序获取一组生成的POCO,还有一组我可以调用的服务?我知道在WCF中,如果我将svcutil.exe指向WSDL,我可以这样做。

很抱歉,如果这个问题形成不好或读得很奇怪 - 我是新手使用ServiceStack。

1 个答案:

答案 0 :(得分:1)

由于这是一个C#应用程序,因此强烈建议使用更快更干净的ServiceStack Add C# Service Reference支持,而不是使用SOAP/WSDL生成类型。

这将生成您可以与ServiceStack's .NET Service Clients一起使用的Typed DTO。