Hi all, When I tried to execute a procedure to return type NUMBER, I got this error message.
[java] Caused by: com.ibatis.common.beans.ProbeException: Could not set property 'userId' for com.cellmania.cingular.user.UserParams. Cause: java.lang.IllegalArgumentException: argument type mismatch [java] Caused by: java.lang.IllegalArgumentException: argument type mismatch [java] at com.ibatis.common.beans.JavaBeanProbe.setProperty(JavaBeanProbe.java:309) [java] at com.ibatis.common.beans.JavaBeanProbe.setObject(JavaBeanProbe.java:229) [java] at com.ibatis.common.beans.GenericProbe.setObject(GenericProbe.java:73) [java] at com.ibatis.sqlmap.engine.exchange.ComplexDataExchange.setData(ComplexDataExc hange.java:109) [java] at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.refreshParamete rObjectValues(BasicParameterMap.java:140) My XML block is <typeAlias alias="UserParams2" type="com.cellmania.cingular.user.UserParams" /> <parameterMap id="registerParams" class="userParams2"> <parameter property="userId" jdbcType="NUMERIC" javaType="int" mode="OUT" /> <parameter property="userName" jdbcType="VARCHAR" /> <parameter property="password" jdbcType="VARCHAR" nullValue="" /> <parameter property="jobTitle" jdbcType="VARCHAR" nullValue="" /> <parameter property="level" jdbcType="VARCHAR" nullValue="" /> <parameter property="firstName" jdbcType="VARCHAR" nullValue="" /> <parameter property="lastName" jdbcType="VARCHAR" nullValue="" /> <parameter property="taxId" jdbcType="VARCHAR" nullValue="" /> <parameter property="email" /> <parameter property="workPhone" jdbcType="VARCHAR" nullValue=""/> <parameter property="fax" jdbcType="VARCHAR" nullValue=""/> <parameter property="address1" jdbcType="VARCHAR" nullValue=""/> <parameter property="address2" jdbcType="VARCHAR" nullValue=""/> <parameter property="city" jdbcType="VARCHAR" nullValue=""/> <parameter property="state" jdbcType="VARCHAR" nullValue=""/> <parameter property="zip" jdbcType="VARCHAR" nullValue=""/> <parameter property="country" jdbcType="VARCHAR" nullValue=""/> <parameter property="companyName" jdbcType="VARCHAR" nullValue="" /> <parameter property="companyUrl" jdbcType="VARCHAR" nullValue="" /> </parameterMap> <procedure id="register" parameterMap="registerParams" cacheModel="UserCache"> { ? = call cingular.register( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) } </procedure> And my UserParams block is private Integer userId = null; public void setUserId(Integer userId) { this.userId = userId; } public Integer getUserId() { return userId; } Please help. Binh.