私は、既存のサードパーティのWebサービスの代わりにServiceStack Webサービスを使用したいと考えています。サードパーティのサービスで使用されているDTOと一致しました。しかし、クライアントは次のように、「NotificationServiceClient」という名前のプロキシクラスを期待している:ServiceStack SyncReplyクライアントの名前を変更
var client = new NotificationService.NotificationServiceClient();
var response = client.SendNotification(message);
私は、クライアントアプリケーションのソースコードを変更することができませんので、私はクライアントのためにNotificationServiceを使用するようにServiceStackを設定したいと思いますSyncReplyの代わりにプロキシを使用します。これを行う方法はありますか?
UPDATE - 私が探しているのは、wsdl:serviceタグのname属性に異なる値を生成するようにServiceStackを構成する方法です。 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