Вы используете XAgent в качестве прокси.Если вы действительно хотите сделать больше, я предлагаю использовать лучшие классы.Минимум - это HTTP-клиент (обрабатывает все ошибки подключения) или, если ваш источник - ATOM, классы Apache Abdera (которые под капотом используют HTTP-клиента).
Проблема, с которой вы столкнулись: поток содержиттакже информация заголовка, поэтому ваш XML не начинается с <.С помощью HTTP-клиента вы можете избежать этого. </p>
Немного так:
public String getURL(String url) {
System.out.println("Fetching " + url);
if (this.httpClient == null) {
this.initializeHTTPSession();
}
ResponseHandler<String> responseHandler = new BasicResponseHandler();
HttpGet get = new HttpGet(url);
String result = null;
try {
result = this.httpClient.execute(get, responseHandler);
} catch (HttpResponseException e) {
System.out.println(e.getMessage());
return null;
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
result = "The host is invalid: " + url;
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
Полный исходный код здесь: http://www.wissel.net/blog/downloads/SHWL-8BQPJD/$File/HTTPReader.java
Возможно, вы захотите использовать что-токроме строки для обработчика ответа.