Symptom
The HTTP 400 error below can be seen in SuccessFactors after running the Workforce replication using MDI:
"Http Error response code 400 with response state text: Bad Request while calling url: https://<MDI_URL>/v0/odm/3.9.0/change/sap.odm.workforce.WorkforcePerson ; Click text to download payload for further details"
When reviewing the response payload sent by the MDI endpoint, this error below can be seen:
{
"outcomes": [
{
"changeToken": "change_token_ID",
"error": {
"code": "ValidationError",
"details": [
{
"code": "ValidationError",
"message": "Value of element '...' is required"
}
],
"message": "Validation error."
},
"outcome": "rejected"
}
]
}
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Environment
- SuccessFactors
- OneMDI Business Scenarios
Cause
This error indicates that the payload data sent for that employee is missing some specific field from EC.
Resolution
The error message will say what exactly is missing in the payload. For example, the message below says that the paymentType field is missing in the paymentDetails segment of the payload:
"Value of element 'sap.odm.workforce.WorkforcePerson.paymentDetails.workAssignments[].paymentDetails[].content[].paymentType' is required"
You can download the payload for this specific employee (you can identify the employee by the changeToken ID from the HTTP 400 payload) and confirm if the field is indeed not there.
After identifying the field, you should then fix it in EC side.
See Also
Keywords
mdi, workforce replication, bad request, http 400, validationerror, sap.odm.workforce.WorkforcePerson, payload, business scenario, master data integration , KBA , LOD-SF-INT-MDI , OneMDI Business Scenarios , Problem
SAP Knowledge Base Article - Public