Я пытался интегрировать свое веб-приложение с двумя службами WCF, предоставленными с одинаковыми именами контрактов на обслуживание, но с двумя разными адресами.Дело в том, что я хочу создать прокси-серверы для обоих сервисов в одной DLL, но это невозможно, так как оба контракта содержат одно и то же имя, я пытался использовать как вложенные пространства имен, так как он не работал, поскольку прокси-серверы размещены вВ отдельной DLL, отличной от веб-проекта, я изменил имя одного контракта на обслуживание, но получил эту ошибку:
Сообщение с действием 'http://ws.aramex.net/ShippingAPI/v1/RateCalculateService/CalculateRate' не может быть обработано в получателе из-заНесоответствие ContractFilter в EndpointDispatcher.Это может быть связано либо с несоответствием контракта (несоответствующие действия между отправителем и получателем), либо с несоответствием привязки / безопасности между отправителем и получателем.Убедитесь, что отправитель и получатель имеют один и тот же контракт и одну и ту же привязку (включая требования безопасности, например, Message, Transport, None).
Возможно ли каким-либо образом иметь другое имя контракта на стороне клиента, чемодин на сервере?
конечные точки:
<client>
<endpoint address="http://ws.dev.aramex.net/shippingapi/shipping/service_1_0.svc"
binding="basicHttpBinding" bindingConfiguration="basic"
contract="Service_1_0" name="BasicHttpBinding_Service_1_0" />
<endpoint address="http://ws.aramex.net/shippingapi/ratecalculator/service_1_0.svc"
binding="basicHttpBinding" bindingConfiguration="basic"
contract="RateCalculateService" name="BasicHttpBinding_Service_1_0" />
</client>
Первоначальное имя контракта для второй конечной точки было "Service_1_0"