我正在尝试使用jmeter对我的webAPI运行http请求测试,但是我收到错误:
[Server@4517d9a3]: Rejected attempt from client using hsql HTTP protocol
org.hsqldb.HsqlException: HSQLDB server version is '2.4.0' client version
'-1195.-72.-58.-56' is not compatible.
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.server.ServerConnection.init(Unknown Source)
at org.hsqldb.server.ServerConnection.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
JDBC连接测试工作正常。
答案 0 :(得分:0)
为什么你需要这两种协议还不是很清楚,你需要坚持使用正在测试的应用程序使用的协议,并且切换到HTTP的唯一用例我能想到的是所有其他端口分开的时候来自HTTP / HTTPS的防火墙被阻止(除非您正在测试HSQLDB本身,在这种情况下,您应该联系您的开发人员)
一些问题排查提示:
考虑到ServerConnection
类,HSQLDB本身也可能存在问题:
switch (streamProtocol) {
case HSQL_STREAM_PROTOCOL :
if (firstInt
!= ClientConnection
.NETWORK_COMPATIBILITY_VERSION_INT) {
if (firstInt == -1900000) {
firstInt = -2000000;
}
String verString =
ClientConnection.toNetCompVersionString(firstInt);
throw Error.error(
null, ErrorCode.SERVER_VERSIONS_INCOMPATIBLE, 0,
new String[] {
HsqlDatabaseProperties.THIS_VERSION, verString
});
}
int msgType = dataInput.readByte();
receiveResult(msgType);
break;
case ODBC_STREAM_PROTOCOL :
odbcConnect(firstInt);
break;
在ClientConnection
类中,字段如下所示:
public static final String NETWORK_COMPATIBILITY_VERSION = "2.3.4.0";
public static final int NETWORK_COMPATIBILITY_VERSION_INT = -2030400;