cancel
Showing results for 
Search instead for 
Did you mean: 

Expression editor in Xpath receiver detrmination

Former Member
0 Kudos

Hi all,

I am working on Proxy XI File adapter.

In the receiver determination step of XI Configuration I am using the Xpath expression as below:

(/p1:MT_Test/Test1/Field1 = XYZ) -


send to receiver1

(/p1:MT_Test/Test1/Field2 = ABC)----


send to receiver2

My XI Structure:

MT_Test

Customer

Field1

Field2

Company

Field1

Field2

Test1

Field1

Field2

The value 'XYZ' comes from the payload.

If it is XYZ then send it to Receiver.

If I am not using any condition then it is working fine.

Is there any syntax error in the Xpath Expression?

And also in the Expression Editor I cannot see the MT_Test Structure.

I would appreciate and award points if anyone can get back with this.

Thank you.

Accepted Solutions (1)

Accepted Solutions (1)

former_member206604
Active Contributor
0 Kudos

Hi,

MT_Test is target or source... it would be visible only if it belongs to sender interface.

You can also try Enhanced Receiver Determination

/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16

Regards,

Prakash

Message was edited by:

Prakash Arunachalam

Answers (3)

Answers (3)

Former Member
0 Kudos

if you feel any syntax error in Xpath, use Altova XMLspy to idnetify it.. it will also convert multiple xtensible languages to file and vice versa

thanks-Gopal

Former Member
0 Kudos

The problem is solved.It is the Cache refresh problem.

Thank you all and I appreciate your suggestions.

Former Member
0 Kudos

Hi,

Try to test it inside integration directory in the test tool.

Check also something like that.

(/p1:MT_Test/Test1/Field1 = 'XYZ') -


send to receiver1

(/p1:MT_Test/Test1/Field2 = 'ABC')----


send to receiver2

By the way you should be able to select element from message type.

Regards,

Wojciech

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

what kind of service do you use?

if business system then you can add your product

(that has your software component in whcih you have your message)

to the technical system in SLD

refresh sld link from directory and then you should see the message

structure

then you can go for the expression editor and just choose the

Field1 Field2

Regards,

michal

Former Member
0 Kudos

Hi Michal,

Yes,my service is Business system.

In SLD the software product is assigned to the Technical system of my business system.

I did a cache refresh still it didn't work.

I am getting the following error:

<b>Message interface does not exist in any software components installed on this business system</b>

Thank you.

Former Member
0 Kudos

Hi J E,

Check in SLD if inside this software product your software component is activated. Sometimes is like that product is related to technical system but only with some products.

Go to technical system -> installed products (here check your software component)

Regards,

Wojciech

Message was edited by:

Wojciech Gasiorowski

MichalKrawczyk
Active Contributor
0 Kudos

hi,

did you activate the message in repository?

Regards,

michal

Former Member
0 Kudos

Hi Michal,

My data type,message type and message Interface are active in Repository.

Thank you.

Former Member
0 Kudos

Hi Wojciech,

My software component is assigned to the Technical System.

Is this due to cache refresh problem?

Thank you.

Former Member
0 Kudos

Hi,

Have you tested your scenario in integration directory?

Also please do that:

1. please make sld cache refresh

2. cache refresh in transaction sxi_cache

Regards,

Wojciech

Former Member
0 Kudos

Hi Wojciech ,

This is the error I am getting in the XI Directory when I tested my configuration.

Receiver Determination

 

Internal Error

HTTP connection to ABAP Runtime failed. Error: 403 Forbidden URL: http://SANDBOX:xxxx/sap/xi/simulation?sap-client=110 User: XIDIRUSER

But,my meesage is sent to the Legacy system through the File adapter if I don't give any conditions in the receiver determination.

I appreciate you for spending your valuable time.

Thankyou.

Former Member
0 Kudos

Hi,

Remember also to activate your changes inside integration directory. It looks like something is wrong with your configuration (but it's not strictly related to your scenario) because user XIDIRUSER (standard integration directory user) doesn't have authorization to run test.

Regards,

Wojciech