Возник вопрос можно ли такое сделать и если можно то как?
Есть два WCF-сервиса. Оба реализуют почти одинаковый интерфейс. Почти означает, что может отличаться пространство имен, имя и наличие некоторых методов. Общие методы имеют одинаковую сигнатуру.
Есть клиент, которому нужно работать либо с одним, либо с другим сервисом. То есть, на клиенте есть интерфейс, содержащий все методы обоих сервисов. Но маппинг на клиенте настраивается в атрибутах. Например,
[System.ServiceModel.ServiceContractAttribute(Namespace="WcfService", ConfigurationName="IService1")]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(Action="WcfService/IService1/Payment", ReplyAction="WcfService/IService1/PaymentResponse")]
WcfService.Result Payment(string Customer, decimal Amount);
}
Метод Payment есть в обоих сервисах, но пространство имен и имя интерфейса будет различным.
Можно ли где-нибудь в конфигах настраивать такой маппинг методов клиента на методы сервера?
Чтобы было еще понятнее. Есть две организации с двумя сервисами с одинаковыми методами. Есть клиент, созданный для одного сервиса. Не хочется его переделывать для вызова другого сервиса. Хочется просто настроить. Как это реализовать?