Ошибка поля Microsoft динамического CRM DateTime

Я подключаюсь к Dynamic CRM онлайн, используя Java. Я могу создавать поля любого типа, кроме даты и времени. Всякий раз, когда я добавляю поле DateTime, я получаю следующую ошибку.

[ОШИБКА] Средство форматирования выдало исключение при попытке десериализации сообщения: при попытке десериализации параметра произошла ошибка http://schemas.microsoft.com/xrm/2011/Contracts/Services:entity. Сообщение InnerException было "Ошибка в строке 1 позиции 9875." EndElement "" KeyValuePairOfstringanyType "из пространства имен" http://schemas.microsoft.com/xrm/2011/Contracts "не ожидается. Ожидается элемент 'value'.'. Пожалуйста, смотрите InnerException для более подробной информации.

Мой фрагмент кода похож на это.

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

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);
Другие вопросы по тегам