cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver Determination, condition to select receiver doesn't extract values

Former Member
0 Kudos

Dear all!

I have SAP PI 7.1

I am facing problem in Receiver Determination while using Condition to select receiver based on the values in the payload.

I need, if Identificador = 1 then receiver BC_1 and if Identificador = 2 then the receiver BC_2

My payload has the value:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:p1="http://pruebas.endesa.es/AME4S_2">

<soap:Body>

<p1:MT_WS_SENDER_Q>

<IDENTIFICADOR>1</IDENTIFICADOR>

<OBJECT_ID>7600000009</OBJECT_ID>

</p1:MT_WS_SENDER_Q>

</soap:Body>

</soap:Envelope>

But, the trace shows following:

<Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:MT_WS_SENDER_Q/IDENTIFICADOR </Trace>

<Trace level="2" type="T">......extracting values found: 0 </Trace>

I tried with double quotes, simple quotes, without quotes...

I tried too with a Receiver Rule (with context) and local rule with xpath....

Can someone please advise?

Thanks in advanced!!

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi Veonica,

in the condition editor choose left operand and X-path and click to your field on the graphical surface. At right side just put the value, no quotes. Use the operator '='.

Regards,

Udo

Former Member
0 Kudos

Yes,

I tried this too.

I put exactly with Condition Editor window and xpath /p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1

but doesn't work.

Thanks!

baskar_gopalakrishnan2
Active Contributor
0 Kudos

What is the XSD data type declared for the field IDENTIFICADOR?

Try this ....

a)  /p1:MT_WS_SENDER_Q/p1:IDENTIFICADOR = 1

if you declared IDENTIFICADOR as string then

b) /p1:MT_WS_SENDER_Q/p1:IDENTIFICADOR = '1'

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

/p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1

Can you try //p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1 ? I'm sure I read it somewhere here in SDN regarding the xPath difference for stateless and stateless XI 3.0 compatible version is an additional /. It's worth to try

Hope this helps,

Mark

Former Member
0 Kudos

Hello!!!

Thanks!!! it's working!

I needed defined Service Interface as Stateless (XI30-Compatible) to can see in window condition, the help to X-path, So, I defined "Identificador" as Integer and I tried all our ideas, and finally, It works with:

//p1:MT_WS_SENDER_Q/IDENTIFICADOR = 1

Thanks to all, I'm really grateful to your help

Answers (0)