cancel
Showing results for 
Search instead for 
Did you mean: 

java.lang.IllegalArgumentException-

Former Member
0 Kudos

Scenario- Proxy to JDBC stored procedure.

I am getting the below error in my JDBC communication channel.

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. 'wh06ar_H_I_Insert' (structure 'Statement'): java.lang.IllegalArgumentException

I have compared the data type defined in database as well as in PI it is same.

My structure is below:-

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

- <ns0:SKUMasterJDBC_Async_V01 xmlns:ns0="http://levi.com/LearningSandbox">

- <Statement>

- <StoredProcedure Action="EXECUTE">

<table>wh06ar_H_I_Insert</table>

<ACTION_ID isInput="true" type="VARCHAR">1</ACTION_ID>

<PRODUCT IsInput="true" type="VARCHAR">1234567890</PRODUCT>

<PRODUCT_SIZE isInput="true" type="VARCHAR">1234</PRODUCT_SIZE>

<DES_SKU isInput="true" type="VARCHAR">test scenario</DES_SKU>

<COD_EAN isInput="true" type="VARCHAR">12</COD_EAN>

<SKU_GROUP isInput="true" type="VARCHAR">1</SKU_GROUP>

<WAIST_LABEL isInput="true" type="VARCHAR">30</WAIST_LABEL>

<LEG_LABEL isInput="true" type="VARCHAR">12</LEG_LABEL>

<WAIST_SORT isInput="true" type="VARCHAR">30</WAIST_SORT>

<VALID_FROM isInput="true" type="DATE" />

<VALID_TO isInput="true" type="DATE">10.01.10</VALID_TO>

<PRODUCT_LINE_VARIATION isInput="true" type="VARCHAR">6</PRODUCT_LINE_VARIATION>

<CATEGORY isInput="true" type="VARCHAR">1</CATEGORY>

<COMMODITY_CODE isInput="true" type="VARCHAR">0</COMMODITY_CODE>

<COMMODITY_CODE_DES isInput="true" type="VARCHAR">test scenario</COMMODITY_CODE_DES>

<ITEM_GROUP_QUALIFIER isInput="true" type="VARCHAR">0</ITEM_GROUP_QUALIFIER>

<BRAND_CODE isInput="true" type="VARCHAR">1</BRAND_CODE>

<SEASON_CODE isInput="true" type="VARCHAR">1</SEASON_CODE>

</StoredProcedure>

</Statement>

</ns0:SKUMasterJDBC_Async_V01>

any hint..

chirag

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Very Good Morning Chirag,

I am n't exactly sure about this error, But i will suggest you, You please go for this structure apart from that structure,

My meaning in the sense, your structure is also correct,below structure is also working as same.

<?xml version="1.0" encoding="UTF-8" ?> 
- <ns0:SKUMasterJDBC_Async_V01 xmlns:ns0="http://levi.com/LearningSandbox">
- <Statement>
- <wh06ar_H_I_Insert Action="EXECUTE">
<ACTION_ID isInput="true" type="VARCHAR">1</ACTION_ID> 
<PRODUCT IsInput="true" type="VARCHAR">1234567890</PRODUCT> 
<PRODUCT_SIZE isInput="true" type="VARCHAR">1234</PRODUCT_SIZE> 
<DES_SKU isInput="true" type="VARCHAR">test scenario</DES_SKU> 
<COD_EAN isInput="true" type="VARCHAR">12</COD_EAN> 
<SKU_GROUP isInput="true" type="VARCHAR">1</SKU_GROUP> 
<WAIST_LABEL isInput="true" type="VARCHAR">30</WAIST_LABEL> 
<LEG_LABEL isInput="true" type="VARCHAR">12</LEG_LABEL> 
<WAIST_SORT isInput="true" type="VARCHAR">30</WAIST_SORT> 
<VALID_FROM isInput="true" type="DATE" /> 
<VALID_TO isInput="true" type="DATE">10.01.10</VALID_TO> 
<PRODUCT_LINE_VARIATION isInput="true" type="VARCHAR">6</PRODUCT_LINE_VARIATION> 
<CATEGORY isInput="true" type="VARCHAR">1</CATEGORY> 
<COMMODITY_CODE isInput="true" type="VARCHAR">0</COMMODITY_CODE> 
<COMMODITY_CODE_DES isInput="true" type="VARCHAR">test scenario</COMMODITY_CODE_DES> 
<ITEM_GROUP_QUALIFIER isInput="true" type="VARCHAR">0</ITEM_GROUP_QUALIFIER> 
<BRAND_CODE isInput="true" type="VARCHAR">1</BRAND_CODE> 
<SEASON_CODE isInput="true" type="VARCHAR">1</SEASON_CODE> 
</wh06ar_H_I_Insert >
</Statement>
</ns0:SKUMasterJDBC_Async_V01>

Thank you

Sateesh

Former Member
0 Kudos

Hi Chirag,

Please ignore the optional "table" element while calling the stored procedure. So the syntax of the message would be:

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

<ns0:SKUMasterJDBC_Async_V01 xmlns:ns0="http://levi.com/LearningSandbox">

<wh06ar_H_I_Insert action="EXECUTE">

<ACTION_ID isInput="true" type="VARCHAR">1</ACTION_ID>

<PRODUCT IsInput="true" type="VARCHAR">1234567890</PRODUCT>

<PRODUCT_SIZE isInput="true" type="VARCHAR">1234</PRODUCT_SIZE>

<DES_SKU isInput="true" type="VARCHAR">test scenario</DES_SKU>

<COD_EAN isInput="true" type="VARCHAR">12</COD_EAN>

<SKU_GROUP isInput="true" type="VARCHAR">1</SKU_GROUP>

<WAIST_LABEL isInput="true" type="VARCHAR">30</WAIST_LABEL>

<LEG_LABEL isInput="true" type="VARCHAR">12</LEG_LABEL>

<WAIST_SORT isInput="true" type="VARCHAR">30</WAIST_SORT>

<VALID_FROM isInput="true" type="DATE" />

<VALID_TO isInput="true" type="DATE">10.01.10</VALID_TO>

<PRODUCT_LINE_VARIATION isInput="true" type="VARCHAR">6</PRODUCT_LINE_VARIATION>

<CATEGORY isInput="true" type="VARCHAR">1</CATEGORY>

<COMMODITY_CODE isInput="true" type="VARCHAR">0</COMMODITY_CODE>

<COMMODITY_CODE_DES isInput="true" type="VARCHAR">test scenario</COMMODITY_CODE_DES>

<ITEM_GROUP_QUALIFIER isInput="true" type="VARCHAR">0</ITEM_GROUP_QUALIFIER>

<BRAND_CODE isInput="true" type="VARCHAR">1</BRAND_CODE>

<SEASON_CODE isInput="true" type="VARCHAR">1</SEASON_CODE>

</wh06ar_H_I_Insert >

</ns0:SKUMasterJDBC_Async_V01>

here , i am assuming that the stored procedure name that you want to call is "wh06ar_H_I_Insert".

Also, the action attribute in your case is "Action". Please change it to "action" so that there is no error in parsing the message by the JDBC adapter.

Also check the VALID_FROM element as suggested by Nikhil.

I hope this helps.

Regards, Gaurav.

Edited by: Kr.gaurav on Oct 1, 2010 8:33 AM

Former Member
0 Kudos

Hi Chirag,

Yes, You can please follow the Garuv statement.

Thank you

Sateesh

Answers (2)

Answers (2)

stefan_grube
Active Contributor
0 Kudos

This seems wrong to me:

> <VALID_TO isInput="true" type="DATE">10.01.10</VALID_TO>

it should be 2010-01-10

Maybe exchange date with varchar and do casting inside your stored procedure.

Former Member
0 Kudos

hi all,

structure of stored procedure was not correct and after correcting same it worked.

stefan- date is given as constant as per oracle format it is not having any problem

thnx all of u

chirag

nikhil_bose
Active Contributor
0 Kudos

Hi Chirag,

1. Have you executed the Mapping ?

2. Is there any mapping function defined for DATE ?

I see only problem at "VALID_FROM" is empty.

Regards,

Nikhil Bose