cancel
Showing results for 
Search instead for 
Did you mean: 

XPATH-Funktion in a condition of a receiver determination does not work

Former Member
0 Kudos

Hi,

we have XI 3.0, SPS 19.

I have a scenario with a mail sender.

I get mails with one attachment. This attachment is a plain text file - it's an EDIFACT-File.

Now, I use the module PayloadSwapBean to get this attachment - everything is fine.

My message-type looks very simple:

Element MT_SIMPLE, Datatype: string

(the whole EDIFACT-message is "stored" inside this string)

In my receiver determination, I have a condition, depending there is a String "XXXXX" inside the message

Condition: MT_SIMPLE[contains(.,'XXXXX:')] EX

But it doesn't work - I get the XI error message: No receiver found.

If I change my condition and work without XPATH-funktions:

New condition: MT_SIMPLE ~ 'XXXXX'

I get the error (it's german):

Problem beim Extrahieren der Werte aus der Nachricht:

Ausnahme CX_SWF_RLS_RULE aufgetreten

(Programm: CL_SWF_RLS_CONDITION==========CP,

Include CL_SWF_RLS_CONDITION==========CM00Q, Zeile: 161).

(English - or something like this :-):

Problem extracting the value from the message:

Exception CX_SWF_RLS_RULE occured

(Programm: CL_SWF_RLS_CONDITION==========CP,

Include CL_SWF_RLS_CONDITION==========CM00Q, Line: 161).

I think, the problem is the missing XML-Header (<?xml version="1.0" ...) in the message. All the XPATH-funktions are needing this xml-header.

Is it true?

How can I solv this? I have to pass the EDIFACT-Message unchanged to different systems - so I cannot convert it to an xml-structure.

Thx a lot!

Regards

Wolfgang

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

if you need a free converter for EDIFACT you can try my stuff:

http://totaledi.org/

Just convert your EDIFACT to XML and back to EDIFACT again.

Regards

Matthias

henrique_pinto
Active Contributor
0 Kudos

Wolfgang,

can you try the following?

Instead of a Data Type like:

DT_SIMPLE of type xsd:String

try to use a Data Type like:

DT_SIMPLE

..String of type xsd:String

Just create an element field inside your Data Type (don't use the root tag as element).

Make this change and try again your condition.

Regards,

Henrique.

Former Member
0 Kudos

Hi,

Conditions based on xpath work only on xml messages.

Regards,

Wojciech