【问题标题】:Create an Incident by web service into Dynamics CRM4通过 Web 服务在 Dynamics CRM4 中创建事件
【发布时间】:2013-03-10 15:53:51
【问题描述】:

这几天我一直在用头敲桌子。 我的创建帐户 xml 请求工作正常,但我的事件 xml 请求不起作用。

在下面,任何帮助将不胜感激。

  $accountsRequest = EntityUtils::getCreateCRMSoapHeader($CRMURL, $securityData).
    '
          <s:Body>
                <Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
                <entity xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                    <b:Attributes xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
                        <b:KeyValuePairOfstringanyType>
                            <c:key>ownerid</c:key>  
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $ownerid . '</c:value>
                            <c:key>customerid</c:key>  
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $customerid . '</c:value>
                            <c:key>subjectid</c:key>  
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $subjectid . '</c:value>
                            <c:key>title</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $title . '</c:value>
                            <c:key>new_surveyid</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_survey_id . '</c:value>
                            <c:key>new_leadsource</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_leadsource . '</c:value>
                            <c:key>new_forename</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_forename . '</c:value>
                            <c:key>new_surname</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_surname . '</c:value>
                            <c:key>new_company</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_company . '</c:value>
                            <c:key>new_email</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_email . '</c:value>
                            <c:key>new_phone</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_phone . '</c:value>
                            <c:key>new_datetravel</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_datetravel . '</c:value>
                            <c:key>new_drivername</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_drivername . '</c:value>
                            <c:key>new_punctuality_pickup</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_punctuality_pickup . '</c:value>
                            <c:key>new_punctuality_dropoff</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_punctuality_dropoff . '</c:value>
                            <c:key>new_interior</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_interior . '</c:value>
                            <c:key>new_exterior</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_exterior . '</c:value>
                            <c:key>new_courtesy</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_courtesy . '</c:value>
                            <c:key>new_appearance</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_appearance . '</c:value>
                            <c:key>new_comments</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_comments . '</c:value>
                            <c:key>new_survey_date</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_survey_date . '</c:value>
                            <c:key>new_survey_score</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $new_survey_score . '</c:value>
                        </b:KeyValuePairOfstringanyType>
                    </b:Attributes>
                    <b:EntityState i:nil="true"/>
                    <b:FormattedValues xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
                    <b:Id>00000000-0000-0000-0000-000000000000</b:Id>
                    <b:LogicalName>incident</b:LogicalName>
                    <b:RelatedEntities xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
                </entity>
                </Create>
            </s:Body>
        </s:Envelope>
        ';

【问题讨论】:

  • 什么不起作用?是否返回错误?
  • 嗨,詹姆斯,它被封装在 PHP 中并且没有返回任何错误,除了一个 PHP 说没有任何有效返回。上面的请求在另一端没有创建任何东西,但是我基于上面的 xml 的创建帐户工作正常。显然,上面有许多自定义案例字段,但它们在 fetch xml 上工作正常。对不起,如果这没有帮助。我是 CRM 和 Soap 的新手。
  • 你应该得到一个 Web 服务响应——它们通常会包含错误。或者您可以尝试启用跟踪:support.microsoft.com/kb/907490
  • 好的,所以我从服务器收到了一些反馈 - 服务器的响应:schemas.microsoft.com/xrm/2011/Contracts/Services/...:ownerid 不能设置为 NULL-2147220989Attribute:ownerid 不能设置为 NULL2013-03-11T20:58:26.412378Z-2147220989属性:ownerid 不能设置为 NULL2013-03-11T20:58:26.412378Z - 请提供任何帮助
  • 你传递什么作为参数?

标签: xml dynamics-crm-4


【解决方案1】:

显然我没有发现任何错误,激活 trace 并查看 crm 动态正在启动哪个错误。可能是一个属性有错字。

【讨论】:

  • 感谢您关注佩德罗。我不知道如何在多租户服务器上设置跟踪。我的客户是管理员,我没有网络访问权限。是否有网络获取反馈的方式?
  • 我已经检查了更多,但找不到在多租户托管服务器上设置跟踪的方法。请问有什么其他的调试方法吗?
  • 所以你无法访问服务器?您不能要求激活跟踪或检查事件查看器吗?我可以给您的建议是减少创建事件的信息量,如果您的自定义属性出现错误,请尝试仅发送事件的标准字段。您正在使用的用户具有该操作的权限?
  • 嗨,我愚蠢地关闭了网络服务响应。我现在有这个。显然,我正在尝试发送一个空 ownerid。我稍后会调试这个。感谢您的帮助。
  • 所以你在 ownerid 中传递了 null?你可以调试,对吧?你必须传递一个 GUID
【解决方案2】:

这些是字符串吗?

<c:key>ownerid</c:key>  
<c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $ownerid . '</c:value>
<c:key>customerid</c:key>  
<c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">' . $customerid . '</c:value>

如果我通过 CRM SDK 执行此操作,我将使用实体引用。

例如

Entity e = new Entity("incident");
e["customerid"] = new EntityReference("contact", contactId); //or "account", accountId
e["ownerid"] = new EntityReference("systemuser", userId);
service.Create(e);

【讨论】:

  • 是的,我发布的本质上是一个注入变量的大字符串。代码在 PHP 中,并从我下载的 Microsoft 实验室调用了一些函数。正如我之前提到的,代码创建一个帐户没有问题并且运行良好。只是不会造成事件。我会仔细检查我正在使用的实体名称,可能其中一个不正确。
  • OK 所以我修改了我的 xml 如下 - 现在它说我需要指定一个父联系人或帐户,但我确定我正在这样做。
  • 当没有指定 customerid 时你会得到它,所以我会仔细看看。
【解决方案3】:

我回答了我自己的问题——XML 格式不正确——主要是命名空间的问题。再加上一些 CRM 事件字段的类型问题。如果没有上面的提示,就无法做到这一点,所以谢谢大家。下面的 XML 供将来遇到困难的任何人使用。

客户ID 6caff60a-f77c-e211-b2fb-d48564518ccb 帐户

                        <b:KeyValuePairOfstringanyType>                         
                            <c:key>title</c:key>
                            <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Its a sunday web case - second</c:value>
                        </b:KeyValuePairOfstringanyType>
                    </b:Attributes>
                    <b:EntityState i:nil="true"/>
                    <b:FormattedValues xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
                    <b:Id>00000000-0000-0000-0000-000000000000</b:Id>
                    <b:LogicalName>incident</b:LogicalName>
                    <b:RelatedEntities xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
                </entity>
        </Create>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2018-05-01
    • 2019-11-24
    相关资源
    最近更新 更多