cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC Receiver Adapter FATAL ERROR

Former Member
0 Kudos

Hi experts,

I have a ccBPM to JDBC sync scenario. My Integration Process (IP_Workflow) has a Send Step (Mode = Synchronous, Interface = SIA_Update). This SIA_Update is abstract, synchronous and It´s message type has the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Update xmlns:ns0="http://www.test.com.br/bpm">
   <StatementName>
      <dbTableName action="UPDATE">
         <table>PI_FORNECEDORES</table>
         <access>
            <STATUS>E</STATUS>
         </access>
         <key compareOperation="EQ">
            <NAME>Name01</NAME>
         </key>
         <key compareOperation="EQ">
            <NAME>Name02</NAME>
         </key>
      </dbTableName>
   </StatementName>
</ns0:MT_Fornecedores_Update>

I´m expecting this structure to generate the following update:

UPDATE PI_FORNECEDORES SET STATUS = 'E' WHERE NAME = 'Name01' OR NAME = 'Name02'

At RWB I receive the following error message:

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. 'PI_FORNECEDORES' (structure 'StatementName'):
java.sql.SQLException: FATAL ERROR document format: invalid level 7' found (structure 'StatementName')

What is wrong with this scenario?

Accepted Solutions (1)

Accepted Solutions (1)

madhusudana_reddy2
Contributor
0 Kudos

Hi Vessalai,

Can you try with below structure,

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

<ns0:MT_Update xmlns:ns0="http://www.test.com.br/bpm">

<Statement>

<dbTableName action="UPDATE">

<table>PI_FORNECEDORES</table>

<access>

<STATUS>E</STATUS>

</access>

<key>

<NAME>Name01</NAME>

</key>

<key>

<NAME>Name02</NAME>

</key>

</dbTableName>

</Statement>

</ns0:MT_Fornecedores_Update>

Note:- In advanced tab use logSQLQuery-->true so that it will display the actual sql statement instead of xml format. So that you can copy this sql statement and execute directly in database to check where exactly the error is.

thanks,

madhu

Answers (4)

Answers (4)

Former Member
0 Kudos

The scenario now is working. I did 2 things:

1. Removed the attribute "compareOperation". I did some tests and seems to me that this attribute was the problem.

2. On advanced tab I configured the parameter "logSQLStatement" as described on SAP Note [801367|https://service.sap.com/sap/support/notes/801367] and as suggested by Madhusudana. With this parameter I could see at audit log the sql statement generated by PI.

Thanks and best regards,

Gabriela Vasselai

former_member200962
Active Contributor
0 Kudos

Why am i seeing the start and end tags are not the same!

can you tell the request and response structure that you are using?

Regards,

Abhishek.

former_member556603
Active Contributor
0 Kudos

Dear Gabriela,

At RWB I receive the following error message:

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. 'PI_FORNECEDORES' (structure 'StatementName'):

java.sql.SQLException: FATAL ERROR document format: invalid level 7' found (structure 'StatementName').

Ans: * Your input XML not well formed that is why (FATAL ERROR document format: invalid level 7' found (structure 'StatementName')*

I think in your input payload some special characters are coming .. So XI/PI wont take special characters

So that you can use code page conversion..

Thanks,

Satya Kumar

Edited by: SATYA KUMAR AKKARABOYANA on Jun 8, 2010 6:10 AM

Former Member
0 Kudos

Hi Gabriela,

1. I am not too sure, but I think the "key" field name should be unique.

2. What you have given the name for the response structure? It should be "StatementName_response".

--Abhi

Former Member
0 Kudos

Thanks for your response Abhi.

About "key" field, at SAP Help I found the following: "You can use any number of elements to formulate your condition." Link: Defining an UPDATE Statement.

The response structure is as follow:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Update_Response xmlns:ns0="http://www.test.com.br/bpm">
   <StatementName_response>
      <update_count>10</update_count>
   </StatementName_response>
</ns0:MT_Fornecedores_Update_Response>

I´m not sure but I think the problem is at request, not at response because it´s not even updating the database.

Any other idea?

Thanks,

Gabriela

Former Member
0 Kudos

I agree with you regarding the <key> field, but no where it is mentioned whether the field name can be unique or not. It says - The name of the <key> element is arbitrary.

This is kinda confusing. I have worked on this before, with multiple <key> fields, but never tried with the same name for the field.

You are correct, the problem is at the request side itself ... everything else seems perfectly okay to me.

-- Abhi

former_member556603
Active Contributor
0 Kudos

Dear Gabriela,

At RWB I receive the following error message:

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. 'PI_FORNECEDORES' (structure 'StatementName'):

java.sql.SQLException: FATAL ERROR document format: invalid level 7' found (structure 'StatementName').

Ans: I think in your input payload some special characters are coming .. So XI/PI wont take special characters

So that you can use code page conversion..

Thanks,

Satya Kumar

former_member556603
Active Contributor
0 Kudos

Dear Gabriela,

At RWB I receive the following error message:

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. 'PI_FORNECEDORES' (structure 'StatementName'):

java.sql.SQLException: FATAL ERROR document format: invalid level 7' found (structure 'StatementName').

Ans: I think in your input payload some special characters are coming .. So XI/PI wont take special characters

So that you can use code page conversion..

Thanks,

Satya Kumar

former_member556603
Active Contributor
0 Kudos

Dear Gabriela,

At RWB I receive the following error message:

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. 'PI_FORNECEDORES' (structure 'StatementName'):

java.sql.SQLException: FATAL ERROR document format: invalid level 7' found (structure 'StatementName').

Ans: I think in your input payload some special characters are coming .. So XI/PI wont take special characters

So that you can use code page conversion..

Thanks,

Satya Kumar