尝试执行 CRM Web 服务时出现以下错误。\
代码
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0; //Use AD authentication
token.OrganizationName = "Organization";
CrmService service= new CrmService();
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.PreAuthenticate=true;
WhoAmIRequest whoami = new WhoAmIRequest();
WhoAmIResponse whoResp = ((WhoAmIResponse)(service.Execute(whoami)));
配置设置:
<add key="CrmSdk.CrmServiceWsdl" value="http://server/organization/XRMServices/2011/Organization.svc/web"/>
错误:
System.Net.WebException:请求失败,HTTP 状态 415:无法处理消息,因为内容类型为 'text/xml; charset=utf-8' 不是预期的类型 'application/soap+xml; 字符集=utf-8'..
如果我像下面这样更改我的配置设置,我会收到“错误请求”。
配置设置:
<add key="CrmSdk.CrmServiceWsdl" value="http://server/organization/XRMServices/2011/Organization.svc/web"/>
错误:
由于 EndpointDispatcher 中的 ContractFilter 不匹配,接收方无法处理带有 Action 'http://schemas.microsoft.com/crm/2007/WebServices/Execute' 的消息。这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。