You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by Steve Viens <sv...@attbi.com> on 2003/08/13 09:39:12 UTC
[juddi-Developers] MonitorTable.insert bug/broken
Looks like there's a syntax error in MonitorTable.insert() ... the build
is working fine but jUDDI doesn't operate correctly when deployed. The
log is showing the following entries:
2003-08-13 10:15:19,378 [Thread-7] ERROR
org.juddi.monitor.jdbc.MonitorDAO - java.sql.SQLException: No value
specified for parameter 7
2003-08-13 10:15:19,378 [Thread-7] ERROR
org.juddi.monitor.jdbc.MonitorDAO - java.sql.SQLException: No value
specified for parameter 7
2003-08-13 10:15:19,378 [Thread-7] ERROR
org.juddi.monitor.jdbc.JDBCMonitor - RegistryException: No value
specified for parameter 7
SOAPFault Actor: null
SOAPFault Code: null
SOAPFault String: No value specified for parameter 7
[A DispositionReport was not present]
The insert statement was updated to include a new column LOG_TIME:
sql.append("INSERT INTO MONITOR (");
sql.append("REMOTE_HOST,");
sql.append("REQUEST_URI,");
sql.append("CALLED_FUNCTION,");
sql.append("AUTH_TOKEN,");
sql.append("UDDI_VERSION,");
sql.append("LOG_TIME,");
sql.append("FAULT) ");
sql.append("VALUES (?,?,?,?,?,?,?)");
But the PreparedStatement looks wrong.
statement = connection.prepareStatement(insertSQL);
statement.setString(1,data.getRemoteHost());
statement.setString(2,data.getRequestURI());
statement.setString(3,data.getCalledFunction());
statement.setString(4,data.getAuthToken());
statement.setString(5,data.getUddiVersion());
statement.setString(6,data.getFault()); <-- double entry here (should
be getLogTime())
statement.setString(6,data.getFault()); <-- double entry here (should
be 7)
Also, whenever there's a table change, the DDL for all of the database
scripts needs to be updated and committed at the same time.
Steve Viens
sviens@attbi.com