2016-05-17 11 views
0

Ich verwende Jersey einen Anruf an eine nicht verwaltete Erweiterung zu machen, die params empfängt, und wenn ich Tausende (extremer aber möglich Anwendungsfall) setzen gibt es die folgende Ausnahme:Hat der Neo4j-Webserver eine maximale URL-Länge für GET-Abfragen?

javax.ws.rs.ProcessingException: java.io.IOException: Error writing to server

Gerade als ich mache der Anruf Response resp = invocationBuilder.get();

Gibt es eine Grenze in der URL-Länge auf dem neo4j Webserver? Ich lese here, dass Jersey keine Grenze hat.

Mehr Infos auf der Stack-Trace:

Caused by: java.io.IOException: Error writing to server 
    at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:625) 
    at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:637) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1321) 
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468) 
    at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:394) 
    at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:285) 

Here is a txt file with the query Ich mache an den nicht verwalteten Erweiterung Endpunkt.

+0

Was sagt der Server? – alacambra

+0

Die 'http.log' zeigen nicht die GET-Abfrage –

+0

Ich weiß nicht, ob die GET-Abfrage nie den Webserver erreichen, oder wenn es tut und es ablehnt –

Antwort

0

Eine Anfrage von 186KB (Ihre Datei) scheint mir wirklich groß. Jetty kommt standardmäßig mit 8K (http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html -> HTTP-Konfiguration -> requestHeaderSize). Wenn Sie einen anderen Servlet-Container verwenden, suchen Sie nach etwas Ähnlichem.

Ich weiß nicht, ob es möglich ist, es in Neo4j zu ändern. Ich würde es mit kleineren Abfragen versuchen.

+0

Normalerweise sollte eine Anfrage nicht so groß sein. Aber diese Abfrage ist ein "mögliches", auch wenn es ein extremes Beispiel ist, deshalb habe ich nach der maximalen Anfragegröße des webservice neo4j gefragt. –

+0

Wenn Sie in neo4j-Bibliotheken ($ NEO_HOME/system/lib) schauen, werden Sie mehrere Jetty-Jars finden, also verstehe ich, dass neo4j auf Jetty läuft. Das ist der Grund, warum ich Anlegesteg erwähne. Auf der anderen Seite, dass die Spezifikation keine maximale Länge angibt, impliziert nicht, dass ein Limit nicht existieren sollte (in der Tat muss es immer existieren). Also für eine solche atypische Abfrage Länge, ist meistens sicher, dass Sie die HTTP-Servlet-Konfiguration – alacambra

+0

aktualisieren müssen Ich habe nicht realisiert Neo4j auf Anlegesteg ausgeführt. Irgendeine Idee, wo ich die Servletkonfiguration finden kann? Ich wette, es ist in (conf/neo4j-server.properties), aber ich konnte nicht herausfinden, welche möglichen Konfigurationswerte ich einstellen kann, außer für die, die es bereits gibt. –

Verwandte Themen