cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC receiver error- Insert whole xml as a text string in DB table field

0 Kudos

Hi,

It is SOAP to JDBC (Oracle DB) async scenario in PI 7.1.

One of requirements is to insert whole source xml (as a text string) into one of table fields.

I could map whole xml as a text string to target field using option "Return as XML" in graphical mapping. However I am getting following receiver communication channel error while posting the records in DB using JDBC receiver communication channel. What do you think is going wrong here?

Error.

Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'TABLE_NAME' (structure 'Structurename'): java.sql.SQLException: ORA-00936: missing expression

XML payload as in receiver communication channel is as below; (bold part is whole xml mapped as text string in OUTAGE_OBJ field)

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

- <ns2:MT_OutageInformationDB xmlns:ns2="urn:xyz-com:xi:dev:helpme">

- <Structurename>

- <dbTableName action="INSERT">

<table>TABLE_NAME</table>

- <access>

<REQ_ID>4CB6A7A85DDC00E3E1008000AC10A019</REQ_ID>

<OUTAGE_OBJ> <?xml version="1.0" encoding="UTF-8"?><ns0:SyncIncident xmlns:ns0="http://www.utilitysolutions.cgi.com/MWFMS-1_1"> <ns0:DataArea> <ns0:Incident> <ns0:IncidentId>108236240</ns0:IncidentId> <ns0:IncidentType>PO</ns0:IncidentType> <ns0:Status>Z</ns0:Status> <ns0:StormId>0</ns0:StormId> <ns0:Locked>L</ns0:Locked> <ns0:TimeLine> <ns0:ModifiedDateTime>08-OCT-10 02.58.06.041918000 PM</ns0:ModifiedDateTime> </ns0:TimeLine> <ns0:Locations> <ns0:Location> <ns0:LocationId>2017249560</ns0:LocationId> <ns0:Status>Z</ns0:Status> </ns0:Incident> </ns0:DataArea> </ns0:SyncIncident> </OUTAGE_OBJ>

<TIMESTAMP>08-OCT-10 02.58.06.041918000 PM</TIMESTAMP>

</access>

</dbTableName>

</Structurename>

</ns2:MT_OutageInformationDB>

Accepted Solutions (0)

Answers (2)

Answers (2)

Senthilprakash1
Participant
0 Kudos

>

> Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'TABLE_NAME' (structure 'Structurename'): java.sql.SQLException: ORA-00936: missing expression

Hi anand,

Can you send in the strucute you are using in receiver side.

Try run a insert query with the same XML payload directly into the table via Tode or something. check weather its working. and the data is getting stored in the field.

If YES then check in the receiver structure where you are going wrong.

If NO then check the field type in the table and why its not accepting the payload.

Regards,

Senthilprakash.

Edited by: senthilprakash selvaraj on Oct 23, 2010 12:04 PM

0 Kudos

Hi Raj, Senthil,

Thank you for prompt answers. You are awarded with points :-).

This issue was resolved with simple trick. I concatenated single quote (') before and after xml payload. And it worked.

Anand More.

justin_santhanam
Active Contributor
0 Kudos

Anand,

Can you try generating your SQL query (UDF) mapping program?I hope this should work, not sure though.

I want you to try - http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7b7855fde93673e10000000a114a6b/content.htm

with SQL_DML option.

Thanks!