此处却报存储过程不存在或未定义,但是我存储过程是编译通过了的

public static BigDecimal[] convertToBaidu(BigDecimal lat,BigDecimal lon) {
Connection conn = ServiceContext.getConnection(0);
CallableStatement cs = null;
String sInfoMsg = null;
try {
String callSql = "{call dlmis.fcCoordBaidu2LonLat(?,?,?,?,?,?)}";
cs = conn.prepareCall(callSql);
cs.setBigDecimal(1, lat);
cs.setBigDecimal(2, lon);
cs.setInt(3, 2);
cs.registerOutParameter(4, OracleTypes.NUMBER);
cs.registerOutParameter(5, OracleTypes.NUMBER);
cs.registerOutParameter(6, OracleTypes.VARCHAR);
cs.execute();
sInfoMsg = cs.getString("sInfoMsg");
return new BigDecimal[]{cs.getBigDecimal("outputX"),cs.getBigDecimal("outputY")};
} catch (final Exception e) {
logger.error("[坐标转换]转换为百度坐标(fcCoordBaidu2LonLat)错误:"
+ e.getLocalizedMessage()+sInfoMsg);
e.printStackTrace();
return null;
} finally {
try {
cs.close();
} catch (final Exception e) {
cs = null;
}
ServiceContext.releaseConnection(0, conn);
}
}

create or replace function fcCoordBaidu2LonLat(inputX       in number,
                                           inputY       in number,
                                           iConvertType in integer,
                                           outputX      out number,
                                           outputY      out number,
                                           sInfoMsg     out varchar2)

return integer is
/**
功能:百度坐标转WGS84
以下省略

看下你的存储过程是否定义了。

存储过程是定义了,但是参数个数错误(哈哈,低级错误),导致没找到那个存储过程。