“Exception socketexception: fin de fichier Inattendue du serveur” à partir de servlet, mais pas à partir de l'application autonome

Je voudrais appeler une servlet à partir de mon servlet. Je peux appeler la télécommande servlet à partir d'une application autonome, mais je ne peut pas l'appeler de ma servlet (c'est sur Glassfish). J'utilise exactement le même code pour l'appel (je reçois le message d'erreur à la dernière ligne de code):

URL serverAddress = new URL(endpoint);
//Set up the initial connection
HttpURLConnection connection = (HttpURLConnection) serverAddress.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setReadTimeout(timeOut);
connection.setRequestProperty("Content-Type", "text/xml; charset=ISO-8859-1");
connection.connect();
OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
wr.write(requestBody);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));

Il est douteux que ce code ne peut pas lire la réponse de la télécommande servlet donc probablement la servlet n'a pas réponse à tout. Cependant pourquoi ne fait-il répondre quand je l'appelle il de standlone application? Je ne comprends vraiment pas...
J'ai eu cette exception:

java.net.SocketException: Unexpected end of file from server
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)

Quelqu'un a une idée? Est-il possible qu'il existe des restricitions pour les servlets ne pas utiliser le HttpURLConnection? Merci!

Est "point de terminaison" vraiment la même dans les deux cas?

OriginalL'auteur Viktor | 2012-06-29