简体   繁体   English

Neo4j螺栓驱动程序协议错误

[英]Neo4j bolt driver protocol error

I am getting below error while trying neo4j bolt driver to run simple cypher. 我在尝试使用neo4j bolt驱动程序运行简单的密码时遇到错误。 Any idea what is going wrong? 什么出了什么问题?

    public void boltDriver() {
    Config noSSL = Config.build()
            .withEncryptionLevel(Config.EncryptionLevel.NONE).toConfig();
    Driver driver = GraphDatabase.driver("bolt://localhost:7474",
            AuthTokens.basic("neo4j", "neo4j1"), noSSL); // <password>

    try (Session session = driver.session()) {

        StatementResult result;

        String foafQuery = " MATCH (n) WHERE EXISTS(n.country) RETURN DISTINCT \"node\" as element, n.country AS country ";
        result = session.run(foafQuery, parameters("name", "Joe"));
        while (result.hasNext()) {
            Record next = result.next();
            System.out.println(next.get("element"));
            System.out.println(next.get("country"));
        }

    }

}

Exception: Exception in thread "main" org.neo4j.driver.v1.exceptions.ClientException: Protocol error, server suggested unexpected protocol version: 1213486160 at org.neo4j.driver.internal.connector.socket.SocketClient.negotiateProtocol(SocketClient.java:198) at org.neo4j.driver.internal.connector.socket.SocketClient.start(SocketClient.java:73) at org.neo4j.driver.internal.connector.socket.SocketConnection.(SocketConnection.java:63) at org.neo4j.driver.internal.connector.socket.SocketConnector.connect(SocketConnector.java:52) at org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:191) at org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:180) at org.neo4j.driver.internal.pool.ThreadCachingPool.allocate(ThreadCachingPool.java:212) at org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal(ThreadCachingPool.java:164) at org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.ja 异常:线程“main”中的异常org.neo4j.driver.v1.exceptions.ClientException:协议错误,服务器建议的意外协议版本:1213486160 at org.neo4j.driver.internal.connector.socket.SocketClient.negotiateProtocol(SocketClient.java :198)org.neo4j.driver.internal.connector.socket.SocketClient.start(SocketClient.java:73)org.neo4j.driver.internal.connector.socket.SocketConnection。(SocketConnection.java:63)at org位于org.neo4j.driver的org.neo4j.driver.internal.pool.InternalConnectionPool $ 1.allocate(InternalConnectionPool.java:191)中的.neo4j.driver.internal.connector.socket.SocketConnector.connect(SocketConnector.java:52)。 internal.pool.InternalConnectionPool $ 1.allocate(InternalConnectionPool.java:180)org.neo4j.driver.internal.pool.ThreadCachingPool.allocate(ThreadCachingPool.java:212)at org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal (ThreadCachingPool.java:164)org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.ja) va:118) at org.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:109) at org.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53) at Neo4jMain.boldDriver(Neo4jMain.java:55) at Neo4jMain.main(Neo4jMain.java:30) va:118)atg.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:109)ato.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53)at Neo4jMain.boldDriver(Neo4jMain) .java:55)在Neo4jMain.main(Neo4jMain.java:30)

You're using the wrong port number. 您使用的是错误的端口号。 7474 is by default used for http whereas 7687 is the default for binary bolt protocol. 7474默认用于http,而7687是二进制螺栓协议的默认值。

一个重要的提示是1213486160是“HTTP”作为32位大端数字。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM