cancel
Showing results for 
Search instead for 
Did you mean: 

Error: PARSE_APPLICATION_DATA Error during XML => ABAP conversion

Former Member
0 Kudos

Hello Guys,

After a Java Mapping to Abap proxy, I'm facing this error:

PARSE_APPLICATION_DATA Error during XML => ABAP conversion: Response Message; CX_ST_MATCH_ELEMENT

Error during XML => ABAP conversion: Response Message; CX_ST_MATCH_ELEMENT in /1SAI/TXSFEE1D228F6095A058B0D Line 424 Elem.'{urn:

This error only appears on the Abap side. On the PI side, there's no error.

The payload response is:

My Data Message Type OUT response is:

I'm using PI 7.3.

Could you please help me to figure out this issue?

Thank you so much.

Luciana R.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Luciana,

It's failing at ABAP proxy code level due to data conversion issue.  Take the payload and check the proxy manually in sproxy tcode.

Thanks,

Satish.

Former Member
0 Kudos

Hi Satish,

Thank you for your help.

When I try to execute the proxy using sproxy, the message is this:

Do you think that there's any divergency between Message Type and the payload I'm generating by Java mapping?

Thank you so much guys.

Luciana

Luciana R.

Former Member
0 Kudos

Hi Luci,

Can you check what exactly the log is showing.  The code is failing to convert some field value.

Thanks,

Satish.

Ryan-Crosby
Active Contributor
0 Kudos

Hi Luciana,

If you look at the error message it indicates that the parsing error is happening in the response message.  That means that there is some sort of malformed XML being generated in your java mapping.  The easiest way to test this is to run the mapping on some payload directly in Eclipse or NWDS on the InputStream and examine the XML OutputStream that comes out at the end.  That way you can figure what needs to be changed in  your java mapping to correct the problem.

Regards,

Ryan Crosby

Former Member
0 Kudos

Humm,

Guys, do you think it could be something about the namespace?

Analyzing the error message on the abap side and the message is:

Elem.'{urn:heringer.com.br/ECC/REPOM/CONSULTA_ROTEIROS}MT_CONSULTA_ROTEIROS_OUT_response'

expected

Is it necessary set the namespace as atribute on my XML (using java mapping ) ?

Thank you. You've been so helpful.

Luciana

Former Member
0 Kudos

Hi Luciana,

I keep thinking that is a data conversion issue. You should check that the fields that you are trying to pass to the ABAP side match the fields that are receiving those values.

cheers,

Edu

Ryan-Crosby
Active Contributor
0 Kudos

Hi Luciana,

Looking at the error I would say the system is expecting to see the namespace attribute set in your response message.  Easy enough to make a small change to your java mapping and re-execute the interface. 

Regards,

Ryan Crosby

Former Member
0 Kudos

Friends,

I set the namespace as attribute and there's no more errors.

Now, I'm checking why the output table in abap proxy is not beeing filled once the payload is filled (on the PI side).

Thank you so much.

Luciana

Former Member
0 Kudos

Hello friends,


Now it's ok.

I had to create my root element using this: "ns0:" before the name of the element.

Now, the result table (response) is beeing filled on the abap side.

Thank you so much.

Luciana R.

0 Kudos

Hi Luciana,

I'm having the same error also during the receiving part in the ABAP proxy structure. Are you also using a 'synchronous' abap proxy? Since I'm encountering the same error and the response is not being filled up in ABAP proxy structure but in the PI side the response is being filled up in the XML.

And are the changes to be done in PI side of the abap proxy configuration?

Hope to hear from you since we've been searching for answers for more than a month now

Thanks in advance!

Former Member
0 Kudos

Hi Josue,

Are you using java mapping as well?

If so, my problem was solved when I put this: "ns0:" before the root element of my XML and set the namespace as attribute.

So, the top of my payload looks like this:

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

<ns0:MT_ROTEIRO_VALOR_OUT_response xmlns:ns0="urn:company.com.br/ECC/REPOM/ROTEIRO_VALOR">

Have you tried this?

Regards,

Luciana

0 Kudos

Hi Luciana,

We have found the root cause!

In the XML, the message element contains a value. but in the abap proxy structure, 'message' is a structure type in abap and therefore cannot store data which is causing the exception. I tried manually processin in SPROXY by removing the value for the message element and all the other fields are now getting filled!

The next step now is on PI side on how to handle the value for the message element.

Thanks for the help!

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Luciana,

maybe you're trying to pass to some ABAP boolean variable a string type?

seems like a type missmatching.

cheers,

Edu

Former Member
0 Kudos

Hi Eduardo,

The value "true" is beeing passed as Char(5).

Do you have any other idea?

Thank you very much.

Luciana

Former Member
0 Kudos

Hi Luciana,

as Satish said, go to tcode sproxy and check that the ABAP types match the data types you're trying to pass.

Some ABAP types are very restrictive...

Cheers,

Edu

Former Member
0 Kudos

Hi Edu,

I have only char and Integer types...

thank you

Former Member
0 Kudos

Hi Luciana,

I meant the type at the ABAP side, scroll the red icons screen to the right in order to see the exact field that is raising the error.

Cheers,

Edu