cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Config Troubles in 2:1 Message Mapping

Former Member
0 Kudos

I am using PI 7.1, and I have a 2:1 mapping that takes two input messages and combines them. The mapping itself is very simple: it takes message A, adds two values from message B and creates message C.

This mapping is in a transformation step in a BPM. Message A has several values stored in its dynamic configuration, but after the transformation step, the dynamic configuration values are no longer available (message C has no DynamicConfiguration object in the SOAP Header).

I tried adding a UDF to the mapping that attempts to read and print one of the dc values contained in message A, but I get a null value. It's as if the dc values that came in with message A are destroyed once the 2:1 mapping begins. How can I pass on these original dc values?

I would appreciate any help you could offer!

Thanks,

David

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

The DC values that I need were read from a database and placed in DC by a Java function called by a UDF. Changing the process to write the values to the Message A structure rather than using DC would not be very simple. I could always write these values to a staging table in a database instead of DC and then read them from the DB every time, but wasn't DC created so that we wouldn't have to use work-arounds like this?

Thanks!

David

former_member200962
Active Contributor
0 Kudos

2:1 mapping....that means you are collecting.....now before messageA enters your BPM make an Interface Determination which will be MessageA --> MessageA....now in here apply Dynamic Configuration and get the values in the target MessageA fields....and then in the BPM access these fields....the fields will be the nodes/ elements of MessageA structure....once inside the BPM Dynamic Configuration does not work....you have to get the values beforehand.

Regards,

Abhishek.

Former Member
0 Kudos

Hi Abhishek,

Thanks for the response. I don't understand when you say that DC does not work in a BPM. I tried removing the second input message (just making it a 1:1 mapping inside the BPM as a test), and the DC values were read and passed successfully. I also have a mapping in the exception branch in the BPM that reads a value in from DC without problems. It would appear that the problem is the fact that the problem mapping is 2:1 rather than that it's in a BPM, right?

Thanks!

David

stefan_grube
Active Contributor
0 Kudos

The eaiest way is creating a different structure for the payload, where the values of DC are included and do a mapping before entering the BPM.

This mapping would be mostly 1:1 mapping, as the source and target structure differs only by the additional DC fields in the target payload.