У меня есть следующая конфигурация конечной точки WCF:
<service behaviorConfiguration="MyNamespace.ContainerManagementServiceBehavior"
name="MyNamespace.ContainerManagementService">
<endpoint address="" binding="basicHttpBinding"
name="ContainerManagementbasicHttpEndpoint" contract="MyNamespace.IContainer"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<behaviors>
<behavior name="MyNamespace.ContainerManagementServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</behaviors>
Вот моя конфигурация клиента:
<client>
<endpoint address="http://localhost:3227/Services/ContainerManagementService.svc"
binding="basicHttpBinding"
contract="MyNamespace2.IAQSIDMService" name="externalService" />
</client>
Я выполняю вызов веб-службы динамически, предоставляя другой адрес:
var svc = new AQSIDMServiceClient(Constants.External_Service_ConfigurationName, serviceAddress);
Когда я вызываю конечную точку, я получаю следующее сообщение об ошибке:
{"Сообщение с действием 'http://IMyService/CreateContainer' не может быть обработано в приемнике из-заНесовпадение ContractFilter в EndpointDispatcher. Это может быть связано либо с несоответствием контракта (несовпадающие действия между отправителем и получателем), либо с несоответствием привязки / безопасности между отправителем и получателем. Убедитесь, что отправитель и получатель имеют один и тот же контракт и одну и ту же привязку (включая требования безопасности, например, Message, Transport, None). "}
Может ли это быть из-за того, что мой клиент НЕ имеет такое же поведение serviceBehavior, что и конечная точка?Могу ли я что-то упустить еще?
Спасибо!