1

尝试执行 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' 的消息。这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。

4

1 回答 1

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/

于 2012-07-26T02:14:14.167 回答