cancel
Showing results for 
Search instead for 
Did you mean: 

1:N One Input to Two Output Paths with Dependency

Former Member
0 Kudos

I need to integrate user and directory data where the user must exist before I can create the directory record. If I need to create a new user and directory record, how can I ensure the user record will be created before I create the directory record? Specifically, I expect to read LDAP user information and from that look up related information in a SQL database, then use this data to either update the user and/or directory records in the target system via web services. I think I can wire the two records via a secondary/business key so I do not need the user's record's primary key. I just need to be able to time the requests to the services so that the user request is processed first. Something like a fork where one path is delayed.

Accepted Solutions (1)

Accepted Solutions (1)

Harish
Active Contributor
0 Kudos

Hi Carlton,

This can be implemented using BPM. BPM will send the first user message and wait for the response/successful delivery. Once the message is delivered it trigger the directory message.

regards,

Harish

Former Member
0 Kudos

We do not have use of BPM but I understand it could be done that way. I unfortunately have to do it with PI only.

Former Member
0 Kudos

I had one idea to "chain" PI integrations where the first one's final step would be to write a file or maybe call a web service that is presented by the second integration but this seems like double the effort when it shouldn't be.

Harish
Active Contributor
0 Kudos

Hi Carlton,

If the first step (User creation or check) is a webservice call, then you can call the webservice from mapping UD. you can refer the below blog for SOAP call from mapping

once the soap call is successful based on response you can map the target of faile the interface.

regards,

Harish

Former Member
0 Kudos

This is great information, not only for this problem but also a few others I have. So, if I understand, the UDF would do the first insert then wait for the response before the rest of the transform executes therefore solve the issue; but all of the first insert would be in Java. Do I understand you correctly? I'm new to PI and had not realized you could write UDFs. BIG thank you!!!

Answers (1)

Answers (1)

former_member190293
Active Contributor
0 Kudos

Hi Carlton!

You could use mapping with JDBC lookup within it.

Regards, Evgeniy.

Former Member
0 Kudos

How does a jdbc look up help me control which record will arrive first?

former_member190293
Active Contributor
0 Kudos

Hi Carlton!

Harish has already answered to your question in above post. It's worth mention that if you need to check user info in SQL database you should use JDBC lookup, not SOAP.

And another limitation is that you can't perform Insert/Update operation within JDBC lookup, just Select operation.

Regards, Evgeniy.