Hello
I am trying to connect to some target systems by using “unboundID scim SDK 1.8.12”. I am able to connect some target systems like “UnboundID scim server” but stuck when trying to connect salesforce.
I able to retierve all users from saleforce but when try to retirve schema from saleforce it failed with exception
“com.unboundid.scim.sdk.InvalidResourceException: Resource 'Schema' is malformed: Sub-attribute subAttributes is not defined for attribute urn:scim:schemas:core:1.0:subAttributes]”
Bello is my code snippet to get schema
*/
public void discoverSchema() throws Exception {
Schema schema = null;
SCIMService svc = createService();
SCIMEndpoint<ResourceDescriptor> schemaEndpoint =
svc.getResourceSchemaEndpoint();
try {
Resources<ResourceDescriptor> resources = schemaEndpoint.query(null);
Iterator<ResourceDescriptor> it = resources.iterator();
//logic to put in database
} catch (SCIMException e) {
throw new ConnectorException(e);
}
}
*/
I am using scim-sdk-1.8.12.jar. I also attached the JSON response for get schema to salesforce.
According to my analysis it seems like failed at manager’s sub-attribute in extension model. extension model structure shown bellow
//////////////////////////////////////////////////////////////////////////////////////////////////////
"name": "urn:scim:schemas:extension:enterprise:1.0",
"type": "complex",
"multiValued": false,
"description": "Scim Enterprise extensions",
"schema": "urn:scim:schemas:extension:enterprise:1.0",
"readOnly": false,
"required": true,
"subAttributes": [
{
"name": "organization",
"type": "string",
"description": "The organization the user belongs to",
"readOnly": true,
"required": true,
"caseExact": false
},
{
"name": "employeeNumber",
"type": "string",
"description": "The employee number of the user",
"readOnly": false,
"required": false,
"caseExact": false
},
{
"name": "division",
"type": "string",
"description": "The division of the user",
"readOnly": false,
"required": false,
"caseExact": false
},
{
"name": "department",
"type": "string",
"description": "The department of the user",
"readOnly": false,
"required": false,
"caseExact": false
},
{
"name": "manager",
"type": "complex",
"description": "The manager of the user",
"readOnly": false,
"required": false,
"caseExact": false,
"subAttributes": [
{
"name": "managerId",
"type": "string",
"description": "The id of the manager user",
"readOnly": false,
"required": false,
"caseExact": false
},
{
"name": "displayName",
"type": "string",
"description": "The display name of the manager user",
"readOnly": true,
"required": false,
"caseExact": false
}
]
}
///////////////////////////////////////////////////////////////////
Is I am done something wrong in code?
Please help me to find what is going wrong here.
Thanks and Regards,
Prasad Parab