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.

0
Answered

Adapter Error: DN Component, Argument Out of Range Exception

Daniel Walters 6 years ago updated by Adam van Vliet 6 years ago 5

I have an adapter that is a position type that has a field for the ReportsTo position. I'm generating a DN on this field. I've got bad data here so it wouldn't be able to resolve the DN. My question is, should this prevent the entire adapter from loading in changes. Right now I've got 19 changes and 0 entities and this error being thrown. Does the bad DN reference prevent the whole thing from loading?

This is the error I'm getting:

Image 5117

Answer
Adam van Vliet 6 years ago

It'll stop reflection because of the nature of the way it's currently calculated and the requirement that the changes are in order. As Matthew mentioned we are exploring ways to improve this process. For now you'll need to fix the transformation configuration so that it does not error out. Regarding the generated reference, UNIFYBroker does not do reference checking, as it's assumed that this is done by the identity management platform.

0
Fixed

Adapter Error: A task was cancelled

Daniel Walters 6 years ago updated by Matthew Davis (Technical Product Manager) 6 years ago 1

I've created an adapter and only just had the connector populated. The adapter shows >1000 entities but when I click on the link to go to the Entity Search, it sits at Processing for a few minutes and then the following pop-up appears. There's nothing about it in Event Viewer or the IdB logs

Image 5115

Answer

Daniel has confirmed that the patch fixed the issue.

0
Answered

Error retrieving certificate for LDAP Security

Daniel Walters 6 years ago updated by Adam van Vliet 6 years ago 1

What is this error indicating and how do I resolve it?

Image 5108

I am having some connectivity problems in one of my agents that should be over SSL, not sure if it's unrelated.

Answer
Adam van Vliet 6 years ago
It's unrelated to your agent, unless it's connecting to the LDAP Endpoint. See https://voice.unifysolutions.net/knowledge-bases/7/articles/2950-configuring-the-certificate-for-tls-over-ldap
0
Declined

Web Services Connector

Matthew Davis (Technical Product Manager) 6 years ago updated 5 years ago 4

A web services connector may be something worth adding, if possible.

Ideally, it would have the option to take a service contract from a swagger document, WSDL file (either SOAP or WCF) and hard-mapped REST endpoints.


It would be fairly complex, as there would need to be some form of data object mapping (mainly for WCF and SOAP) and also argument mapping for calling methods that require specific object instances (like for import and export methods). 

An option would be to enable raw c# input that does the object creation and mapping from schema object to data object (similar to how the powershell connector works) but with the base connector still responsible for the importing and parsing of the service contract.

Technically this could be achieved already with the existing powershell connector, however in its current usage it is not a repeatable or clean solution. May be worth seeing if improvements can be made to the powershell connector to support this use case. 

Answer

Should be covered by a simpler connector integration framework.

0
Answered

Dumping Adapter Data

Daniel Walters 6 years ago updated by anonymous 6 years ago 5

What would be the quickest way to dump the data in an adapter so I can compare two adapters? The use case is the replacement of an adapter and the new adapter should be a like-for-like replacement of the original with the same resulting data as a the old one. Would it be a PowerShell script that pulls the adapter via the ldap gateway?

Answer

Hey Daniel,

That's correct. The quickest and most supported way is to query the LDAP gateway for the adapter you're needing the data from.

0
Answered

Reverse Join, Conditional on Not-Null

Daniel Walters 6 years ago updated by anonymous 6 years ago 2

Related to my ticket Join Condition on Not-Null, I need some processing on the connector side of the adapter to correctly join.

I want to join the position table back to the person table to resolve a positionReportsToPosition attribute to a personnumber but the person table contains two attributes with position numbers. One has a value or is null, the other always has a value. I want to use the first if it has a value, otherwise the second. Since I can't join adapters, there's nowhere to process this logic on the employee side.

Do I need to implement a PowerShell connector that queries the IdB DB like Carols script for flattening Org Units. It could just contain the employeeID and the calculated positionnumber.

Answer

Hey Daniel,

Querying the IdB DB is not a supported or endorsed operation. Doing this is at your own risk and has the potential to cause problems. 

From what I understand, you're trying to get the person number of the manager based on someones position. Is that correct?
If so, as discussed in your other ticket we already have a join to that persons position. Using that join, we can get the positionReportsToPosition as you've mentioned above. You can then use that to join back to the employee connector onto one of the position fields. Tell it to pull back the person number into a new field, such as reportsPersonTemp Then add a second join again to the employee connector, but on the position field that's always full. Push this into a field such as reportsPersonPerm. You can then use a powershell transformation to determine which value to use - if the reportsPersonTemp is populated, then push that value into reportsPersonNumber. Otherwise, use the value from reportsPersonPerm

When you configure a join, if there's no value to join on then the field won't be populated, so you'll be able to easily tell which value to use.

0
Answered

Join Conditional on Not-Null

Daniel Walters 6 years ago updated by Matthew Davis (Technical Product Manager) 6 years ago 1

I've had a look at the Join transformation and I don't think this functionality is there but is it possible to join one attribute if it has a value, otherwise join on another? Could this be achieved with a PowerShell transformation that populates a third attribute that does the non-null populating then join on that third attribute?

The object model that I've got this situation for is an Employee table and a Position table. The Employee table contains two attributes placePosition(contains the position number of the position someone is acting in, otherwise is null) and actPosition(contains the persons 'actual' position number, always has a value). I want to join Employee to Position on placePosition if it has a value, otherwise join to position on actPosition. Is the way to do this with a PowerShell transformation that calculates out the null to a third attribute, CurrentPosition or something, and then join on that.?

Answer

Hey Dan,

You're right - the powershell transformation mixed with a join transformation would be the best way to do this.

You would put the powershell transformation first, and have populate a third attribute called something like calculatedPosition. You'd use the logic as above - put the placePosition if it's populated, otherwise use actPosition

Then you would add a join transformation, and join to the position connector using the calculatedPosition field. That way you're always going to join on the value that the powershell transformation populates.

0
Declined

Usability Improvement Rename Transformation

Daniel Walters 6 years ago updated by Matthew Davis (Technical Product Manager) 3 months ago 5

Two things,

there doesn't seem to be a need for IdB to add the text in the right hand column of the rename transformation after the attribute is selected in the left hand column. It jilts and takes a second to populate after the attribute has been selected from the drop down on the left. It'd be nicer if it just left the right column blank since the point of it is to rename the attribute, there's no need to get the old name pre-populated in the right side column field.

Can the tab order or something be changed so that when you press enter it clicks the add button (or does nothing). It's a bit of a data entry task adding the renames so hitting enter is natural and at the moment pressing enter clicks the Save Transformation button which clears any renames you've entered and haven't committed yet.

Answer

Closing due to lack of feedback or interest. Please feel free to re-open if further work on this would provide value.

0
Declined

Staging error on MA because MIM is trying to import the same changes twice

Tom Parker 6 years ago updated by Matthew Davis (Technical Product Manager) 6 years ago 3

We are seeing occasional (approx 1 per month) incidents of staging errors in a specific MA in MIM targeting UNIFY Broker 5.0. We can see the the changes from the previous import is trying to be reimported (e.g., trying to add a value to an attribute in both runs).

From previous discussions this issue is likely on the MIM side because of a watermarking failure, but is there a known workaround that can be put in to UNIFY Broker to manage this?

0
Answered

Unable to create Oracle DB agent on IDb v5.3.1 - Error Invalid connection string

Rizwan Ahmed 6 years ago updated by Matthew Davis (Technical Product Manager) 6 years ago 6

We are trying to configure Oracle agent on IdB v5.3.1 Revision #0. Took the sample connection string at https://voice.unifysolutions.net/knowledge-bases/7/articles/2863-oracle-database-agent

as below but IdB does not accept the connection string and raise an error 'Invalid connection string' on "Save Agent"

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=hostName)(PORT=1251)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=serviceName)));

We want to user a connection string is following format, if that is supported.

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));
User Id=myUsername;Password=myPassword;

Answer

Hey Rizwan,

The second connection string that you've provided works as a valid input into UNIFYBroker. Can you give it a go and see if it connects to the database correctly?

Unfortunately the oracle page for connection strings no longer exists. See this link for an archive of it: https://web.archive.org/web/20130627000544/https://docs.oracle.com/cd/E11882_01/win.112/e18754/featConnecting.htm .

I'll update our documentation page with more relevant information