通过Javascript创建服务活动时出错

时间:2013-06-08 09:41:48

标签: javascript dynamics-crm-2011 dynamics-crm odata

我正在尝试创建服务活动,但它会抛出错误,代码如下:

var oDataPath = Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc";

    var oDataSetName = "ServiceAppointmentSet";
    var entityTypeCode = "4212"; // Type code of ServiceAppointment
    var subject = 'Test Subject';
    var entityId = Xrm.Page.data.entity.getId();
    var serviceId = "AFE9429-ABCE-E211-877A-000C298A36A7";

    var customactivity = new Object();
    customactivity.Subject = subject;
    customactivity.ActivityTypeCode = entityTypeCode;    

    customactivity.RegardingObjectId =
    {
        Id: entityId,
        LogicalName: "incident",
        Name: subject
    };

    var punchInTime = GetPunchInTime();
    customactivity.ScheduledStart = punchInTime;
    customactivity.ScheduledEnd = punchInTime;


    //---- serviceId


    if (serviceId != null) {
        customactivity.ServiceId =
            {
                Id: serviceId,
                LogicalName: "service",
                Name: "Support"
            };
    }

    var jsonCustomActivity = JSON.stringify(customactivity);

    var createRequest = new XMLHttpRequest();
    createRequest.open("POST", oDataPath + "/" + oDataSetName, false);
    createRequest.setRequestHeader("Accept", "application/json");
    createRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    createRequest.send(jsonCustomActivity);

错误说明:

状态:400错误请求

错误

Error processing request stream. Error encountered in converting the value from request payload for property 'Id' to type 'Guid', 
which is the property's expected type. See inner exception for more detail.

有人可以帮我找到问题吗?

1 个答案:

答案 0 :(得分:2)

服务ID只有7个字符而不是8个

var serviceId =“ AFE9429 -ABCE-E211-877A-000C298A36A7”;