我正在寻找使用ServiceStack Web服务来代替现有的第三方Web服务。我已经匹配了第三方服务使用的DTO。然而,客户期待名为“NotificationServiceClient”代理类,就像这样:ServiceStack重命名SyncReply客户端
var client = new NotificationService.NotificationServiceClient();
var response = client.SendNotification(message);
我无法改变的客户端应用程序的源代码,所以我想ServiceStack配置为使用NotificationService客户端代理,而不是SyncReply。有没有办法做到这一点?
UPDATE - 看来我正在寻找的是一种配置ServiceStack的方法,以便它为wsdl:service标签的name属性生成一个不同的值;从SyncReply到NotificationServiceClient。我可以保存当前的WSDL,手动操作它,并使用不需要的客户端验证代理类名称。
我没有对生产实际的客户端的控制,所以我在寻找一种方法来控制WSDL中的名称。 – KrimblKrum
@Jason如果你只是想修改ServiceStack返回的WSDL,你可以重写[AppHost中的GenerateWsdl()](https://github.com/ServiceStack/ServiceStack/blob/574a82d58a3099d3b819659008b42b7dccc67bb3/src/ServiceStack/ServiceStackHost.cs# L935),它将允许您修改ServiceStack返回的WSDL XML。 – mythz
这完全是我在找的!我会根据这个建议提交完整的答案。谢谢。 – KrimblKrum