2016-05-10 10 views
4

Ich bekomme unter Fehler beim Versuch neo4j Bolt-Treiber zum Ausführen einfacher Chiffre. Irgendeine Idee, was schief geht?Neo4j Bolt-Treiber-Protokoll Fehler

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")); 
     } 

    } 

} 

Ausnahme: Exception in thread "main" org.neo4j.driver.v1.exceptions.ClientException: Protokollfehler, Server vorgeschlagen unerwartete Protokollversion: 1213486160 bei org.neo4j.driver.internal.connector. socket.Client.negotiateProtocol (SocketClient.java:198) bei org.neo4j.driver.internal.connector.socket.SocketClient.start (SocketClient.java:73) bei org.neo4j.driver.internal.connector.socket. SocketConnection. (SocketConnection.java:63) bei org.neo4j.driver.internal.connector.socket.SocketConnector.connect (SocketConnector.java:52) bei org.neo4j.driver.internal.pool.InternalConnectionPool $ 1.a llocate (InternalConnectionPool.java:191) bei org.neo4j.driver.internal.pool.InternalConnectionPool $ 1.allocate (InternalConnectionPool.java:180) bei org.neo4j.driver.internal.pool.ThreadCachingPool.allocate (ThreadCachingPool.java : 212) bei org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal (ThreadCachingPool.java:164) bei org.neo4j.driver.internal.pool.ThreadCachingPool.acquire (ThreadCachingPool.java:118) bei org .neo4j.driver.internal.pool.InternalConnectionPool.acquire (InternalConnectionPool.java:109) bei org.neo4j.driver.internal.InternalDriver.session (InternalDriver.java:53) bei Neo4jMain.boldDriver (Neo4jMain.java:55) bei Neo4jMain.main (Neo4jMain.java30)

Antwort

13

Sie verwenden die falsche Portnummer. 7474 wird standardmäßig für http verwendet, während 7687 der Standardwert für das binäre Bolt-Protokoll ist.

+0

Können wir den Schraubentreiber für ältere Versionen von neo4j verwenden. Oder anders, es ist spezifisch für 3.0. –

+1

Kein Schraubenzieher ist nur für 3.0 (und neuer). –

+0

Danke Stefan. Hat gut funktioniert, nachdem ich den Port gewechselt habe. –

0

Ein wichtiger Hinweis ist, dass 1213486160 ist "HTTP" als 32-Bit Big-Endian-Nummer.

Verwandte Themen