# Troubleshooting

If you encounter any of the following issues or errors, SailPoint recommends that you follow the guidance provided below to resolve the error before contacting SailPoint Support.

For issues or errors that are not addressed in this connector guide, refer to the following resources for troubleshooting information:

- [SailPoint Identity Services Documentation](<https://documentation.sailpoint.com/saas/help/index.html>)
- [SailPoint Support Knowledge Base](<https://support.sailpoint.com/csm?id=kb_view2&amp;kb_id=05ff44289f011200550bf7b6077fcfa3>)
- [SailPoint Developer Community](<https://developer.sailpoint.com/>)

## Debug Logs

For information about managing additional source settings, including debug logging and downloading connector logs, refer to [Managing Additional Settings](<https://documentation.sailpoint.com/saas/help/sources/managing_additional_settings.html>).

## Transport Error 401 Error

```text
org.apache.axis2.AxisFault: Transport error: 401 Error: HTTP/1.1 401 Unauthorized
```

This error can happen when the incorrect ClientID is entered in the source configuration.

**Resolution** - Correct the configuration details to resolve the issue.

## Unable to verify SAML assertion signature

```text
Unable to verify the signature of the SAML assertion
```

**Resolution** - The Client ID and Private key values should be correctly provided. These values must be a part of the same OAuth2 Client Applications.

## Unable to authenticate client - Invalid user

```text
Unable to authenticate the client (Login failed - Invalid user)
```

**Resolution** - Ensure that the User ID value is correct.

## Unable to authenticate client - Login failed - IP address is prohibited

A test connection fails with the following message:

```text
Unable to authenticate the client (Login failed - login from IP address <ip_address> is prohibited. You can set an API login exception to allow login from this IP address)
```

This connector may have restrictions to the IP addresses used to access the APIs required to support connector functions.

**Resolution** - Allow the necessary IP addresses per the following SAP knowledge base articles:

- [2161058 - Error in SuccessFactors API: "Attempted login from unauthorized ip"](<https://userapps.support.sap.com/sap/support/knowledge/en/2161058>)
- [Restricting API Access by IP Addresses or IP Address Ranges](<https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/265b5fa29d0a426d943cba2ae57e079b.html>)

> [!NOTE]
>
> The linked documents are not maintained by SailPoint and are subject to change without notice.

## Server is down or connection parameters are incorrect

Test Connection fails with the following error message:

```text
"[ ConnectorException ] [ Error details ] Exception occurred while iterate operation, refer logs for more details. Server is DOWN or Connection parameters are incorrect."
```

**Resolution** - Verify the connection parameters and check with your network team for the firewall restrictions.

## Timeout issue

```text
java.lang.RuntimeException: java.lang.InterruptedException: Timeout
```

**Resolution** - Use the REST API to add the `aggregateTimeout` attribute.

```text
POST <url>/api/source/update/<sourceID>
```

- `<url>` - The URL for the customer's SailPoint tenant
- `<sourceID>` - The Source ID (number) obtained through the UI

In the body of the POST, use form-data as follows:

- **Key** - `connector_aggregateTimeout`
- **Value** - Add as time in milliseconds

> [!NOTE]
>
> For more information on SailPoint's REST APIs, refer to [Best Practices: REST API Authentication](<https://developer.sailpoint.com/docs/api/authentication/>) and [REST API - Update Source (Partial)](<https://developer.sailpoint.com/docs/api/update-source-v-1/>) in the SailPoint Developer Community.

## Waiting for response from client

```text
java.lang.RuntimeException - java.lang.RuntimeException: java.lang.InterruptedException: Timeout waiting for response to message 3 from client 84a5de19-2861-4ca5-a8a1-ed4481e43e60 after 180 seconds
```

**Resolution** - Increase the timeout value using the REST API:

```text
POST <url>/api/source/update/<sourceID>
```

- `<url>` - The URL for the customer's SailPoint tenant
- `<sourceID>` - The Source ID (number) obtained through the UI

In the body of the POST, use form-data as follows:

- **Key** - `connector_aggregateTimeout`
- **Value** - Add as time in milliseconds, for example you can use 1000.

## Read timed out and entity value missing or no associated data found

The SuccessFactors connector displays the following error:

```text
"sailpoint.connector.ConnectorException: java.net.SocketTimeoutException: Read timed out" and "Possible suggestions : \n additional entity value is missing or \n No associated Data Found"
```

**Resolution** - Correct the XPaths for additional attributes added in the connector configuration. The semantics or syntax may be incorrect. For more information, refer to [Aggregating Additional Schema Attributes Using SFAPI](<https://documentation.sailpoint.com/connectors/successfactors/saas/help/additional_attribute_aggregation.html#aggregating-additional-schema-attributes-using-sfapi>).

## Zero accounts are returned even after successful account aggregation

**Resolution** - Your source permissions and additional picklist values are not completely aligned with recommended practices:

- Ensure that the service account has all the Required Permissions.
- The Picklist ID value is different than the default values used. To change this value, refer to [Exporting and Verifying the Picklist Values](<https://documentation.sailpoint.com/connectors/successfactors/saas/help/picklist_configuration.html#exporting-and-verifying-the-picklist-values>).
- Ensure the picklist values are correct or configured as described in [Configuring Picklists](<https://documentation.sailpoint.com/connectors/successfactors/saas/help/picklist_configuration.html>).

## Fewer accounts than expected are returned even after successful account aggregation

The picklist values may differ from the default values in the connector.

**Resolution** - Ensure that the picklist values are correct or configured as described in [Configuring Picklists](<https://documentation.sailpoint.com/connectors/successfactors/saas/help/picklist_configuration.html>).

## Aggregation fails with message about user unable to manage roles

```text
User '[<userId>]' does not have permission to manage roles.
```

**Resolution** - Ensure that the **Manage Role-Based Permission Access** permission is assigned to the user. For more information, refer to Required Permissions.

## Exception during aggregation of Object Type account on Application SF

```text
Unable to create iterator sailpoint.connector.InsufficientPermissionException:
[ InsufficientPermissionException ] [ Possible suggestions ] Provide the required permissions for the user. [ Error details ] "error" : { "code" : "COE_GENERAL_FORBIDDEN", "message" :{ "lang" : "en-US", "value" : "[COE0020]User [UserId] attempted to access dynamic group module [permission] without proper access privilege." }
```

**Resolution** - Ensure that the **Manage Role-Based Permission Access** permission is assigned to the service account user when the Roles and Groups attributes are added to the account schema object. For more information, refer to Required Permissions.

## Aggregation fails even though required permissions are set

```text
Entity FOLocation is not found. Please check the entity in Admin Center > OData API Data Dictionary or contact your system administrator
```

**Resolution** - Perform the following:

1. In SuccessFactors, go to **Admin Center** and search for **OData API Metadata Refresh And Export**.
2. Select **Refresh**.
3. Wait for the task to be completed.

## Error messages for user accessing dynamic group module and lacking permissions

```text
User [userId] attempted to access dynamic group module [permission] without proper access privilege.
```

and

```text
User "[userId]" does not have permission to manage roles
```

**Resolution** - Ensure the **Manage Role-Based Permission Access** permission is correctly assigned.

## Additional Entity Value is Missing or No associated Data Found

If the entities are not defined in the SuccessFactors managed system, then this error message displays:

```text
Additional Entity Value is Missing or No associated Data Found

"Got exception while parsing the active list
sailpoint.connector.ConnectorException: SFWebServiceFaultException
Exception during aggregation. Reason: java.lang.RuntimeException: sailpoint.connector.ConnectorException: SFWebServiceFaultException
java.lang.RuntimeException: sailpoint.connector.ConnectorException: SFWebServiceFaultException
```

**Resolution** - Ensure that defined and validated attributes are added to **Include Compound Employee API Entities** on the managed system. For more information, refer to [Including Compound Employee API Entities](<https://documentation.sailpoint.com/connectors/successfactors/saas/help/advanced_settings.html#include-compound-employee-api-entities>).

> [!NOTE]
>
> After the update, make sure to remove these values from the **Include Compound Employee API Entities** field as this field should contain only the nodes defined on the managed system.

## Aggregation fails with REST status code 404

```text
Authorization failed for REST: status code=404 Version of rest URL
```

**Resolution** - When specifying the target population to whom granted users have permission to access, exclude granted users from having the permission access to themselves. To do this, deselect the **Exclude granted users from having the permission access to themselves** checkbox.

## Identity information is missing following delta aggregation

Following a delta aggregation process, identity information such as `username` is missing.

**Cause** - The Compound API's standard query mode supports the Identity Information segment, but the delta mode does not. In delta mode, the system aggregates only the information included in `querymode=delta` for Compound Employee as part of delta aggregation processes.

**Resolution** - As a workaround, update `PerPerson` (biographical information) in parallel with an employee's Identity Information.

## Unknown format conversion exception

During aggregation the connector displays the following error:

```text
Caused by: java.util.UnknownFormatConversionException: Conversion = '1" during aggregation.
```

This issue occurs due to a picklist migration issue where two picklists with the same ID exists on both the MDF and Legacy sides (prior to the migration), but do not match. The migration keeps them separate and appends a suffix to their IDs.

**Resolution** - Complete the following:

- Refer to the [SAP documentation](<https://userapps.support.sap.com/sap/support/knowledge/E/2909791>) for more information on the causes of the error and the steps to resolve the issue.
- Update the `picklistConfigMap` entry in the source XML using the REST APIs.

  > **Note**
  >
  > For more information on SailPoint's REST APIs, refer to [Best Practices: REST API Authentication](<https://developer.sailpoint.com/docs/api/authentication/>) and [REST API - Update Source (Partial)](<https://developer.sailpoint.com/docs/api/update-source-v-1/>) in the SailPoint Developer Community.

## Entitlement aggregation fails with connector process failure

```text
[ConnectorError] error receiving response from connector: stream client connection is broken (connector process may have crashed):
```

**Resolution**: Reduce the value of the `connector_batchSizeUserGroup` and `connector_batchSizeUserRole` attributes using the SailPoint REST API. These attributes determines the number of roles/groups being fetched at a time. The default value for each attribute is `100`, and you can enter from `1` to `100`.

```json
[
    {
        "op": "add",
        "path": "/connectorAttributes/connector_batchSizeUserGroup",
        "value": "<value>"
    }
]

[
    {
        "op": "add",
        "path": "/connectorAttributes/connector_batchSizeUserRole",
        "value": "<value>"
    }
]
```

> [!NOTE]
>
> For more information on SailPoint's REST APIs, refer to [Best Practices: REST API Authentication](<https://developer.sailpoint.com/docs/api/authentication/>) and [REST API - Update Source (Partial)](<https://developer.sailpoint.com/docs/api/update-source-v-1/>) in the SailPoint Developer Community.

> [!IMPORTANT]
>
> SailPoint does not recommend provisioning attributes that are excluded from aggregation using the entity filters.

## Picklist Mapping is required field and cannot be blank

```text
connector.InvalidConfigurationException: PickList Mapping is required field and cannot be blank.
```

**Resolution** - Ensure that the picklist is configured with the correct values.

## No application attributes are configured for attribute synchronization

```text
IllegalStateException: No application attributes are configured for attribute synchronization
```

**Resolution** - Ensure that the identity attributes are synchronized with account attributes correctly.

## No data exists for the provided user

The following error message displays during provisioning and GET operations:

```text
sailpoint.connector.InvalidRequestException: No data exists for the provided user, please check nativeIdentity identityName(for e.g TestUser1)
```

**Resolution** - Perform the following:

1. Check the target population in the group that is assigned to the service account role.
2. Ensure that the **Manage Role-Based Permission Access** permission is assigned to service account user when the Roles and Groups attributes are added to the account schema object.

## Older employment information data is displayed for an account after Provisioning

**Resolution** - Check if the permissions have been properly set for the service account. Remove any extra permissions that are not mentioned in Required Permissions.

## Duplicate username HTTP 500 error

SuccessFactors `Username` provisioning fails with the following error message:

```text
Error in provisioning the httpcode: 500 error messsage: DUPLICATE_USERNAME : Failed to add/update user
```

**Resolution** - SuccessFactors allows you to update the `Username` attribute to a new and unique value, but not to a value that was previously assigned to it. For more information, refer to [SAP Notes](<https://me.sap.com/notes/0002217113>).

## Provisioning error message: "Ensure configuration parameters are with valid format": cannot be cast to class java.lang.string

Provisioning processes fail, and the connector returns the following error message:

```text
"Ensure configuration parameters are with valid format" :cannot be cast to class java.lang.string
```

**Resolution** - Ensure the source configuration parameters are correct and also in the right format syntactically. This can be confirmed by comparing the source config with a brand new default source.

## Invalid Session Error

```text
[ ConnectorException ] [ Possible suggestions ] Ensure configuration parameters are correct with a valid format, Ensure active network connectivity between Source and Target system. [ Error details ] java.lang.RuntimeException: Authorization failed for SOAP INVALID_SESSION error message- Invalid SFAPI session!
```

This error occurs when there is an issue with the SuccessFactors managed target system.

**Resolution** - One of the resolutions is to ensure that the Base Company URL is the API URL for the SuccessFactors managed target system, and not the WEB URL. For example:

- Web URL - `https://salesdemo4.successfactors.com`
- API URL - `https://apisalesdemo4.successfactors.com`

## Inconsistent or abnormal connector behavior for a particular duration

For example, receiving incorrect account statuses, not aggregating any accounts, or connection failures.

**Resolution** - Verify that there were no abnormalities, connection issues, or updates on the target system during the duration that you are seeing the inconsistent or abnormal behavior by checking with the SuccessFactors administrator and network team.
