我正在尋找使用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