Microsoft Dynamics CRM SOAP“错误请求”尝试检索选项集数据

时间:2013-06-06 15:14:59

标签: soap dynamics-crm-2011

我正在尝试使用Microsoft Dynamics SOAP请求:

XRMServices / 2011 / Organization.svc /网络

以下请求:

<Execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">
<request i:type=\"a:retrieveOptionSetRequest\" 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>Name</b:key>
            <b:value i:type=\"c:string\" xmlns:c=\"http://www.w3.org/2001/XMLSchema\">new_industry</b:value>
        </a:KeyValuePairOfstringanyType>
    </a:Parameters>
    <a:RequestId i:nil=\"true\" />
</request>
</Execute>

但是,作为一个新手,我变得糟糕的是“糟糕的要求”! 任何帮助都会得到很好的收到!

由于

1 个答案:

答案 0 :(得分:0)

您的请求存在一些问题。首先请求是'RetrieveOptionSetRequest'而不是'retrieveOptionSetRequest'(它会告诉你这不存在!)

其次,您的请求行中缺少“\”

<request i:type=\"a:retrieveOptionSetRequest\" xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts\">

应该是

<request i:type=\"a:RetrieveOptionSetRequest\" xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\">

如果你解决了这两个问题,那么你会发现你仍然无法获得所需的结果。 在Pedro Azevedo提到的网站上可以看到,您需要包含MetadataId和RetrieveAsIfPublished参数,否则您将无法获得结果(响应会让您意识到这一点)。您需要在请求中包含RequestName。

您的最终请求应如下所示

<Execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">
<request i:type=\"a:RetrieveOptionSetRequest\" 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>MetadataId</b:key>
            <b:value i:type=\"c:guid\" xmlns:c=\"http://schemas.microsoft.com/2003/10/Serialization/\">00000000-0000-0000-0000-000000000000</b:value>
        </a:KeyValuePairOfstringanyType>
        <a:KeyValuePairOfstringanyType>
            <b:key>Name</b:key>
            <b:value i:type=\"c:string\" xmlns:c=\"http://www.w3.org/2001/XMLSchema\">new_industry</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\">false</b:value>
        </a:KeyValuePairOfstringanyType>
    </a:Parameters>
    <a:RequestId i:nil=\"true\" />
    <a:RequestName>RetrieveOptionSet</a:RequestName>
</request>
</Execute>