[SalesForce] Invalid Date format from Database

Trying to insert a Contact from an Oracle Database:

Contact Database Entity:

@Temporal(TemporalType.DATE)
@Column(name="DOB")
private Date dob;

Contact SOAP SObject set Birthday:

Calendar dobCalendar = new GregorianCalendar();
dobCalendar.setTime(dwContact.getDob());
contact.setField("Birthdate", dobCalendar);

Error Message:

ERROR CODE: FIELD_INTEGRITY_EXCEPTION MESSAGE: Birthdate: invalid
date: Fri Nov 30 00:00:00 GMT 3

Any suggestions?

Best Answer

According to the Salesforce SOAP API guide setField takes a Java Calendar object.

The following is using v29 of the WSC Partner API.

    com.sforce.soap.partner.sobject.SObject record = new SObject();
    record.setType("Test__c");
    record.setField("Date__c", Calendar.getInstance());
    record.setField("NewDate__c", Calendar.getInstance());
    SaveResult[] result = connection.create(new SObject[] { record });

The following results in the following for me

enter image description here

The above two fields are defined as Date and DateTime as follows...

enter image description here

enter image description here

Related Topic