我知道这可能是重复的问题,但在2015年发布时,我在获取数据时遇到了一些问题。
我已经阅读了与此主题相关的所有博客,但无法实现。
我已按照以下步骤获取数据。
我仍然收到Bad-Request错误。
请帮忙。如果可能,请提供一些申请样品。
感谢。
答案 0 :(得分:2)
以下是如何设置请求,请确保您正确设置:
创建一个指向http://<organization url>/XrmServices/2011/Organization.svc?wsdl
的SOAP项目(您必须进行身份验证)
创建一个新的w / e请求
在请求中,将Authentication
设置为NTLM
(提供凭据)
在请求中,您需要三个Headers
这样(如果您已经在那里,请仔细检查它们):
4.1。 SOAPAction
- 从请求界面属性
4.2 Accept
- application/xml, text/xml, */*
4.3 Content-Type
- text/xml; charset=utf-8
提供完善的请求并转到
例如,这就是RetrieveEntityRequest
的样子(尤其会返回account
实体的元数据):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header><a:SdkClientVersion xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">6.0</a:SdkClientVersion></soapenv:Header>
<soapenv:Body>
<Execute xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<request i:type="a:RetrieveEntityRequest" xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">
<a:Parameters xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<a:KeyValuePairOfstringanyType>
<b:key>EntityFilters</b:key>
<b:value i:type="c:EntityFilters" xmlns:c="http://schemas.microsoft.com/xrm/2011/Metadata">Attributes</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>MetadataId</b:key>
<b:value i:type="ser:guid" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/">00000000-0000-0000-0000-000000000000</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>RetrieveAsIfPublished</b:key>
<b:value i:type="c:boolean" xmlns:c="http://www.w3.org/2001/XMLSchema">true</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>LogicalName</b:key>
<b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">account</b:value>
</a:KeyValuePairOfstringanyType>
</a:Parameters>
<a:RequestId i:nil="true" />
<a:RequestName>RetrieveEntity</a:RequestName>
</request>
</Execute>
</soapenv:Body>
</soapenv:Envelope>