"Response from the connector: Failed to complete dry run."opt/vmware/horizon/workspace/logs/connector.log will show similar exceptions like:2025-05-16T07:15:45,735 ERROR (resourceSyncTaskExecutor-1) [;;;] com.vmware.horizon.pullengine.HealthCheckClient - Error while checking the health of horizon servicecom.vmware.horizon.connector.exception.PullEngineException: Could not retrieve required object from Horizon
2025-05-16T07:24:40,582 ERROR (Thread-6) [XXXXXX-XXXXXX;configadmin@XXXXXXXX;xx.xx.xx.xx;] com.vmware.horizon.connector.rest.SyncConfigurationRestController - Failed to complete dry run.com.vmware.horizon.client.rest.Exception.ApiException: User is not authorized.
2025-05-16T07:28:23,960 ERROR (pool-118-thread-1) [;;;] com.vmware.horizon.connector.admin.controller.DirectoryController - Could not add the Bind user - Could not bulk push Users, Groups. Received Response Code: 401 and Response body: {"errors":[
{"code":"unauthorized","message":"User is not authorized.","parameters":null}
VMware Identity Manager/vIDM 3.3.7
Issues with the connector configuration.
curl --location 'https://ID1:8443/hc/API/1.0/REST/connectormanagement/connector/activate/' \--header 'Authorization: HZN ID2' \--header 'Content-Type: application/vnd.vmware.horizon.manager.connector.management.activate.connector+json' \--header 'Accept: application/json' \--header 'Cookie: JSESSIONID=ID3; trutid=ID4' \--data '{"activationToken":"ID5","adminPassword":"ID6","gatewayHostname":"ID7"}':Parameters from the command:ID1: vIDM IP addressID2: HZN Cookie or Bearer Token --> Via developer mode -> Application - Cookie -> HZN copied the cookie value ID3: JSESSIONID > Via developer mode -> ApplicationID4: VIDM tenant ID> Via vIMDID5: Connector activation tokenID6: Default Admin PasswordID7: vIDM host_name/LB_FQDNNote:
Null values are seen in config-state.json throughout.
{"isConfigured" : false,"version" : <some_number>,"mol" : {"isConfigured" : null,"url" : null,"tenantId" : null,"clientId" : null,"clientSecret" : null,"metaData" : null,
Note: Even if the administrator has not configured anything in the default Tenant, you still need to check the default tenant for config-state.json corruption.
The reason could be that the backup file, which was used to fix the corrupted config-state.json does not have the IDP information. This information is critical for directory and connector mapping. To check the same, open the config-state.json for the connector that is associated with the directory:
vim /usr/local/horizon/conf/states/<TENANT_NAME>/<WORKER_ID>/config-state.json- vim /usr/local/horizon/conf/states/XXXXX-XX/1/config-state.json"idp" : {"isConfigured" : false,"host" : null,"tenantId" : null,"id" : null,"name" : null,"cert" : null,"key" : null}
Then the IDP association is not present.