【问题标题】:Microsoft dynamic CRM DateTime field errorMicrosoft 动态 CRM 日期时间字段错误
【发布时间】:2015-01-21 16:26:59
【问题描述】:

我正在使用 Java 在线连接到 Dynamic CRM。我可以创建除日期时间以外的任何类型的字段。每当我添加 DateTime 字段时,我都会收到以下错误。

[错误] 格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数 http://schemas.microsoft.com/xrm/2011/Contracts/Services:entity 时出错。 InnerException 消息是“第 1 行位置 9875 中的错误。不应出现命名空间“http://schemas.microsoft.com/xrm/2011/Contracts”中的“EndElement”“KeyValuePairOfstringanyType”。期待元素'价值'。'。请参阅 InnerException 了解更多详情。

我的代码sn-p是这样的。

OrganizationServiceStub.DateTime d= new OrganizationServiceStub.DateTime();
Calendar c = Calendar.getInstance();
d.setDateTime(c);
collection.addKeyValuePairOfstringanyType(pair("startdate",d));

【问题讨论】:

    标签: java datetime crm


    【解决方案1】:

    您不必使用OrganizationServiceStub.DateTime。您正在使用的存根提供OrganizationServiceStub.KeyValuePairOfstringanyType,它允许您传递任何数据类型值。我们必须知道字段值的类型并传递特定类型。

    在您传递Date 的情况下,mircosoft crm 将日期字段设置为GregorianCalendar,因此我们只需要发送此类型。下面是代码,

    Date date = new SimpleDateFormat("MM/dd/yy").parse("06/29/15");
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.setTime(date);
    
    OrganizationServiceStub.AttributeCollection collection = new OrganizationServiceStub.AttributeCollection();
    OrganizationServiceStub.KeyValuePairOfstringanyType dateattr = new OrganizationServiceStub.KeyValuePairOfstringanyType();
    dateattr.setKey("startdate");
    dateattr.setValue(date);
    collection.addKeyValuePairOfstringanyType(dateattr);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2011-06-26
      • 1970-01-01
      相关资源
      最近更新 更多