Identity Broker Forum
Welcome to the community forum for Identity Broker.
Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.
HPRM Trim associations connector failing to import
I am currently experiencing issues importing with a trim associations connector, I believe its the same as https://voice.unifysolutions.net/knowledge-bases/7/articles/3145-micro-focus-content-manager-associations-connector. The issue in particular is a timeout issue generating the below error. I don't recall a time when this connector was ever working as it has been misconfigured in the past. Please note other location connectors work fine and the agent connector successfully.
Some issue we had in the past, were this connector appeared to be mapped to the "location" connector and has since been update to the "associations".
Thinking something that was possibly incorrect with this config, I tried creating a new connector from scratch and the xml generated is the following, which appears to be the wrong connector type.
Apologies for the images instead of copy/paste, I cannot easily get the config out of the environment. Let me know if you need more information.
Currently running UNIFYBroker 5.3.3
HP TRIM connector 5.3.0.0
Content Manager returning all cd-error
When I run exports to the Content Manager MA, I'm getting cd-errors with no further information on all pending exports. Doing a FIFS and then another export changes the number of exports so something is getting through. Looking at the logs, it looks like the ldap connection is being closed before the response is sent back to MIM. Attached logs.
Cannot update LocationSurname
Exporting LocationSurname to CM v9 is not working. The CM API returns no error, it just doesn't update the Surname.
I have successfully updated other attributes including LocationGivenNames, LocationJobDescription, LocationEmailAddress, LocationPhoneNumber and LocationIdNumber.
Some emailing around with the customer has revealed that they had a similar problem trying to bulk load data into the UAT environment using the "Data Loader". Someone thinks that the "Unique Name" field must be provided with the upload data when using a CSV file, and that this is a recent change in CM. (I have been unable to verify this and have no idea if the same issue would affect the API.)
I did try setting the LocationNickname as well (which is titled "Unique Name" in the API doco). I can also set this field but it doesn't make any difference to the Surname. I tried both:
- Setting the NickName then attempting to update the Surname on a subsequent export
- Setting the NickName and the Surname at the same time
For both the NickName was set, but the Surname did not change in CM.
Hi Carol
The LocationSurname is a composite field of LocationSurnamePrefix and LocationSurnameNoPrefix. In the API explorer, it is possible to set the LocationSurname field and the Prefix and NoPrefix fields are updated as needed. The CM client library, however, seems to block the ability to set LocationSurname, presumably because if you assign a no-prefix surname to LocationSurname instead of LocationSurnameNoPrefix, any value in LocationSurnamePrefix is lost.
To set the surname you'll have to use the LocationSurnamePrefix and LocationSurnameNoPrefix fields. Consider LocationSurname a readonly field, it will be by default in the next release.
Associations Connector fails with "Only one use of each socket address is normally permitted"
We have just put a solution in UAT that was working correctly in Dev. The two Locations connectors (Person and Organization) have imported fine. The Associations connector runs for a couple of minutes then fails with the error below.
I have asked the CM admin to look for service API errors on their side, but also wanted to ask: does the Associations connector make multiple connections that could be over-lapping?
Change detection engine import all items failed. Change detection engine import all items for connector CM Associations failed with reason Unable to connect to the remote server. Duration: 00:01:38.0443655 Error details: System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted 10.111.200.11:80 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at ServiceStack.ServiceClientBase.Send[TResponse](String httpMethod, String relativeOrAbsoluteUrl, Object request) at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.<getalllocationuris>d__36.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.InnerGetAssociations(IEnumerable`1 uri, IEnumerable`1 relationshipTypes, Int32 pageSize, IWebServiceCommunicatorInformation information, CancellationToken token) at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.GetAllAssociations(IEnumerable`1 relationshipTypes, Guid connectorId, String searchQuery, Int32 pageSize, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.HPTrimWebCommunicatorDecorator.GetAllAssociations(IEnumerable`1 relationshipTypes, Guid connectorId, String searchQuery, Int32 pageSize, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Unify.Product.IdentityBroker.HPTrimWebCommunicatorDecorator.GetAllAssociations(IEnumerable`1 relationshipTypes, Guid connectorId, String searchQuery, Int32 pageSize, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.HpTrimAgent.GetAllAssociations(IEnumerable`1 relationshipTypes, Guid connectorId, String searchQuery, Int32 pageSize, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.HpTrimAssociationsConnector.GetAllEntities(IStoredValueCollection storedValueState, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.ConnectorToReadingConnectorBridge.GetAllEntities(IStoredValueCollection storedValueState, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.AuditReadingConnectorDecorator.GetAllEntities(IStoredValueCollection storedValues, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess() at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass30_0.<run>b__0() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state) </run></getalllocationuris>
Is there any association fields on the connector that are not needed? The connector needs to make a call per field, per location, so cutting the connector schema to only what's needed would greatly reducing the number of calls being made. This may be enough to be a temporary work around while I look into this issue further.
HPE CM Associations Connector
I think I need to use this connector - I have to create reference relationships between location objects.
I create a new connector and select this type. The schema provided is exactly the same as for the Locations connector - surely this is wrong? I went with the default schema and ran an Import All - and I just got the list of Locations. So firstly - there may be something wrong with this connector as it doesn't do anything differently to the Locations connector.
I have looked at the KB pages about this connector but they are very high level and don't tell me how to set them up.
Do we have a working config I can look at? Specifically I need to:
- set up the parent-child relationship between Organizations
- add people to organizations
- set person Supervisor
Release is up now in the usual place. Version v5.3.1
HPE Content Manager import all fails with Object reference not set to an instance of an object
Getting the following error when running a full import from HPE Content Manager.
Change detection engine import all items failed.
Change detection engine import all items for connector CM Persons failed with reason Object reference not set to an instance of an object.. Duration: 00:00:04.3124780
Error details:
System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.<>c.<RestWorkaround>b__43_0(RestLocationResult result)
at System.Linq.Enumerable.WhereArrayIterator`1.MoveNext()
at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.RestWorkaround(IWebServiceCommunicatorInformation information, IEnumerable`1 fields, Boolean includeAccessControls, String searchQuery, Int32 pageSize)
at Unify.Product.IdentityBroker.HPTrimV9WebCommunicator.<InnerGetLocations>d__30.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__10`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.IdentityBroker.AuditReadingConnectorDecorator.GetAllEntities(IStoredValueCollection storedValues, CancellationToken cancellationToken)
at Unify.Product.IdentityBroker.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues, CancellationToken cancellationToken)
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass30_0.<Run>b__0()
at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)
I’ve tried clearing the connector and running the import again, but get the same thing.
Hi Carol
Here is a patch for you to try. Please install and rerun the failing operation. It should replace the patch Curtis provided last week.
What web services have to be set up to support provisioning/sync of users and locations to HPRM 8.3?
I am looking at https://voice.unifysolutions.net/knowledge-bases/7-unifybroker-knowledge/categories/95-unifybrokermicro-focus-content-manager/articles but it is not clear what the customer has to set up to allow me to fulfill the following requirements for provisioning and sync to HPRM 8.3:
- Add/sync location
- Assign a location to a parent location
- Add sync user
- Assign a user to a location
Hi Bob
I've updated the prerequisites page to hopefully be more clear.
Does this answer your question?
HPRM provisioning error
UNIFYBroker 5.3.1
HP Trim Connector 5.3.0.0
Currently getting the following error on user provision to HPRM:
System.ArgumentException: Could not parse uri string "genericuser" to long value for setting uri of reference field LocationUseProfileOf. at Unify.Product.IdentityBroker.RequestFactory`2.SetLocationPropertyRefValue[TRef](PropertyIds propertyId, IConnectorEntity data, Func`1 createRef, Action`1 assign) at Unify.Product.IdentityBroker.LocationRequestFactory.CreateComponent(ILocationRequestFactoryInformation info) at Unify.Product.IdentityBroker.HPTrimV8WebRequests.AddLocationRequest(IConnectorEntity data) at Unify.Product.IdentityBroker.HPTrimV8WebCommunicator.AddLocations(IEnumerable`1 data, Guid connectorId, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken) at Unify.Product.IdentityBroker.HPTrimWebCommunicatorDecorator.AddLocations(IEnumerable`1 data, Guid connectorId, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Unify.Product.IdentityBroker.HPTrimWebCommunicatorDecorator.AddLocations(IEnumerable`1 data, Guid connectorId, IWebServiceCommunicatorInformation information, CancellationToken cancellationToken)
I suspect that this is due to a user with the URI of 'genericuser' not existing within HPRM.
Can you please confirm.
Add Ability to include query parameters
Currently the default query for Import All is "*"
In TRIM, you can drill this down, such as "login:*" to get all users with a populated login attribute.
Would it be possible to add the ability to fill in a query string on the connector page, which - when filled, would override the "*" sent to the endpoint?
I've tested this with the REST v8 and confirmed it works. Personally I need this for v4.1 but can see it being useful for newer connectors also.
Feature implementation complete and is included in the following releases:
- v4.1.1 RC3
- v5.0.1 RC3
- v5.1.0 RC6
- v5.2.0 RC4
Add support for relationships between location objects.
Add the ability to create, read, update and delete all of the possible associations (i.e. "member of", "supervised by", "supervisor of", "delegate of", "has delegates", and "administrator of").
See comment on IDBTRIM-3 for further details.
Customer support service by UserEcho