mybaits调用oracle历程时报错 java.sql.SQLException: 索引中丢失 IN 或 OUT 参数: 1

mybaits调用oracle过程时报错 java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
mybaits的dao层的XML部分

<!-- 通过商品编码获取商品名称 -->
   <select id="getGoodsName"  statementType="CALLABLE"  parameterType="java.util.HashMap" >
     {CALL EXEC.OCTWPRK.JXC_ACT_GETGOODSNAME(
       #{in_goodsid,jdbcType=VARCHAR},
       #{in_supid,jdbcType=VARCHAR},
       #{out_goodsname,mode=OUT,jdbcType=VARCHAR}
       )}  
</select> 


Service 层的java部分

// 通过商品编码获取商品名称
public String getGoodsName(String goodsid, String gysid){

Map<String, String> map=new HashMap<String, String>();
map.put("in_goodsid",goodsid);
map.put("in_supid",gysid);
map.put("out_goodsname","");
iDJManageDao.getGoodsName(map);

System.out.println(map.get("in_goodsid"));
String goodsname = map.get("out_goodsname");

                return goodsname;

}


oracle过程头部

--按商品编码取得一个商品名称
  PROCEDURE JXC_ACT_GETGOODSNAME(in_goodsid     IN VARCHAR2 ,  
                                 in_supid       IN VARCHAR2 ,
                                 out_goodsname  OUT VARCHAR2                   
                                  )


报错:
14:33:49,065 INFO  [STDOUT] 14:33:49,063 ERROR [Dispatcher] Exception occurred during processing request: 
### Error querying database.  Cause: java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失  IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
org.springframework.jdbc.UncategorizedSQLException: 
### Error querying database.  Cause: java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失  IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
at $Proxy928.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at $Proxy929.getGoodsName(Unknown Source)
at com.inventorymanage.service.documents.impl.DJManageServiceImpl.getGoodsName(DJManageServiceImpl.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)