0
我有以下WCF端點配置: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>
我做一個Web服務調用動態,提供不同的地址:
var svc = new AQSIDMServiceClient(Constants.External_Service_ConfigurationName, serviceAddress);
當我呼叫端點時,出現以下錯誤消息:
{「由於EndpointDispatcher中的ContractFilter不匹配,無法在接收方處理Action'http:// IMyService/CreateContainer'的消息。 這可能是因爲合同不匹配(發件人和收件人之間的錯誤操作)或發件人和收件人之間的綁定/安全不匹配。檢查發送者和接收者有相同的合同,相同的綁定(包括安全要求,如信息,運輸,無)。「}
難道這是由於這樣的事實,我的客戶不具有相同的serviceBehavior作爲終點?有沒有別的東西,我可能會缺失?
謝謝!