My Problem is :

COM.ibm.db2.jdbc.app.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL4306N Java stored procedure or
user-defined function "OWN.SPLIFECONTACT", specific name "SQL020717141157260" could not call Java
method "execute", signature "(Ljava/lang/String;". SQLSTATE=42724




//My procedure creation :

create procedure spLifeContact (
in paramA char( 32 ),
in paramB date,
in paramC char( 10 ),
out paramD char( 32 ),
out paramE char( 32 ),
out paramF char( 32 )
)
external name 'mypackage:spLifeContact.execute'
language java
parameter style java
fenced
;

//My procedure is (this is simplified version of the original, but the problem still exists) :

/**
* SQLJ Stored Procedure spLifeContact
*/
import java.sql.*;
import COM.ibm.db2.jdbc.app.*;
import COM.ibm.db2.app.*;
import sqlj.runtime.*;
import sqlj.runtime.ref.*;

public class spLifeContact extends StoredProc
{
public void execute ( String paramA,
Date paramB,
String paramC,
String paramD,
String paramE,
String paramF ) throws SQLException, Exception
{
#sql {
set aramD = ( select distinct column1 from table1 where column2 = paramA, column3 = paramB, column4 = paramC );
set aramE = hex( ownfunction() );
set aramF = hex( ownfunction2() );
};

set (4, paramD);
set (5, paramE);
set (6, paramF);
}
}



// My procedure call from java program ( jdk 1.1.8 and using db2 6 and sqlj procedures )
//
// also simplified, all the extra taken away
.
.
.
private java.sql.Date convertToSqlDate( Date date ){
return new java.sql.Date(date.getYear(), date.getMonth(), date.getDate());
}
.
.
.
CallableStatement _callableStmt = null;
String _sql = null;
private Connection _conn = null;


String own1 = "value1";
java.sql.Date targetDate; // It has a correct date value in problem situation
String own3 = "value2";
String own4 = "";
String own5 = "";
String own6 = "";
.
.
.
try {
System.getProperties().put("JDBCConnectionFactory" ,"com.profit.odlife.JDBCConnection");
_conn = new ConnectionHelper().getConnection();
_conn.setAutoCommit(false);
} catch ( SQLException ex ){
debugPrint("SQLException in open() : " + ex.getMessage());
}
.
.
.

_sql = "{call spLifeContact(?,?,?,?,?,?)}";
_callableStmt = _conn.prepareCall( _sql );

//register the output parameters
_callableStmt.registerOutParameter(4, Types.CHAR,32);
_callableStmt.registerOutParameter(5, Types.CHAR,32);
_callableStmt.registerOutParameter(6, Types.CHAR,32);

_callableStmt.setString(1, own1);
java.sql.Date sqlDate = convertToSqlDate(targetdate);
_callableStmt.setDate(2, sqlDate);
_callableStmt.setString(3, own3);
_callableStmt.setString(4, own4);
_callableStmt.setString(5, own5);
_callableStmt.setString(6, own6);

//
// In the execute the problem occurs ????????
//
_callableStmt.execute();

own4 = _callableStmt.getString(4);
own5 = _callableStmt.getString(5);
own6 = _callableStmt.getString(6);

.
.
.