cancel
Showing results for 
Search instead for 
Did you mean: 

Informix Stored Procedure Response

Former Member
0 Kudos

Hi,

I'm executing a Store Procedure on Informix DB to started a process.

The Stored Procedure has just one return. But, my Inbound Message Payload has the following structure:


<?xml version="1.0" encoding="utf-8"?>
<ns1:MT_WMS_response xmlns:ns1="urn:interfaces:PI:SESI:WMS">
<Statement_response>
<response_1>
	<row>
		<(expression)>H2W0000476</(expression)>
	</row>
</response_1>
</Statement_response>
</ns1:MT_WMS_response>

Because it can´t use "(" as tag definition and getting and Mapping Error.

Does anyone knows another way to solve this problem?

Regards,

Luis Diego

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Can you replace "(" by its escape sequence chars & execute the mapping successfully?

-SM

Former Member
0 Kudos

HI,

What is the escape sequence chars for "(" ?

I can only use the [aA-zZ], [0-9] and [_]

Regards,

Luis Diego

Former Member
0 Kudos

my bad... I overlooked "(" as if they were in Data & suggested you to replace them by escape sequence.

-SM

Former Member
0 Kudos

HI,

Do you have any idea?

Regards,

Luis Diego

Former Member
0 Kudos

I would write a adapter module to replace "<(" with "<" AND ")>" with ">". So when the message reaches the Int Server(mapping), it would be proper XML & would not throw XML malformation exception...

-SM

Former Member
0 Kudos

refer to others with the same problem

change in the declaration of procedure to return the result set

ex:

CREATE FUNCTION Nome_Arquivo ()

RETURNING CHAR(100) AS arquivo DEFINE vArq LIKE fs_full.nome_arquivo;;

select first 1 nome_arquivo INTO vArq

from fs_full;;

RETURN vArq;;

END FUNCTION

;

Routine created.

In RETURNING use "AS" enter field names your date types.

its work.

abs