cancel
Showing results for 
Search instead for 
Did you mean: 

Xpath condition not working in PI 7.1

Former Member
0 Kudos

Hi All,

I am working in a file to Proxy scenario. we are using PI 7.1 version

We have file that contain two type of information and based on the field value we need to do the Interface determination.

If field having value X than it need to go to Interface A and If it has value Y than it need to go Interface B.

We defined 2 separate Receiver interface and to determine the condition we have defined the XPath condition.

the message getting split but both the message containing both field value.

Interface A contain both X and Y value.

Interface B contain Both X and Y value.

But we expected that Interface A should have only value X and Interface B only value B.

we are using PI 7.1 version.

Please tel me what is the reason for this.

regards,

navneet

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

> Interface A contain both X and Y value.

> Interface B contain Both X and Y value.

>

> But we expected that Interface A should have only value X and Interface B only value B.

Whatever you expected is correct and it should be like that only. So in my opinion the problem is in your incoming data because the field which you are using in your xPath should only either X or Y at a time not both same time otherwise both of your interfaces will be triggered.

former_member200962
Active Contributor
0 Kudos
But we expected that Interface A should have only value X and Interface B only value B.

If not wrong this requirement should be handled in the mapping logic.

Since you have only one file having both the values A and B, you need to have the mapping logic accordingly.

Each of the mappings (in your case 2) should have validation like :

If Field = A Then map to Interface A ...similarly mapping logic for B

Condition in Receiver Determination will only route it to the receiver system/ service....however mapping will create the structure according to your need.

I hope my suggestion is in-line with your requirement!

Regards,

Abhishek.

Former Member
0 Kudos

Hi Sumit,

Can you tell what is the xpath you have given and an example payload so that somebody can help you out with xpath.

Regards,

---Satish

Former Member
0 Kudos

Hi ,

I have field "pay type code" which has two value

1. card

2 . cash

when it has value card it need to go to Interface card and when it has value cash it need to go to Interface cash

the xpath i defined as

(/p1:EmployeeExpenses/EmpExpenses/PayTypeCode = card) for interface card

(/p1:EmployeeExpenses/EmpExpenses/PayTypeCode = cash) for Interface cash.

we have defined the corresponding Mapping and Interface mapping.

When we are running this scenario we are getting both the data in a Interface.

I.e Interface card getting both the data (card as well as cash)

We have resolver this problem by changing at mapping level.

Mapping done :-

PayTypeCode->removecontext>Equals(Cash)->createIf---->Cash

PayTypeCode->removecontext>Equals(card)->createIf---->card.

Now we are getting the correct value at both the Interface.

Thanks

Navneet