尝试执行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"/>
错误:
带有Action的消息 'http://schemas.microsoft.com/crm/2007/WebServices/Execute'不能 由于ContractFilter不匹配而在接收器处理 EndpointDispatcher。这可能是因为合同不匹配 (发送方和接收方之间不匹配的操作)或绑定/安全性 发送者和接收者之间不匹配。检查发件人和 接收者具有相同的合同和相同的约束力(包括 安全要求,例如消息,传输,无)。
答案 0 :(得分:2)
您有2007端点的此设置,因此您需要更改以下值:
value="http://server/organization/XRMServices/2011/Organization.svc/web"
到
value="http://server/org/MSCRMServices/2007/CrmService.asmx"
如果您尝试使用2011,则需要使用IOrganizationService。 SDK http://www.microsoft.com/en-us/download/details.aspx?id=24004
中有一些非常好的示例这是另一个例子http://nishantrana.wordpress.com/2010/11/03/sample-code-for-using-iorganizationservice-in-crm-2011/