不良请求415

时间:2012-07-25 18:09:42

标签: dynamics-crm-2011

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

1 个答案:

答案 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/