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.

Reply via email to