Hola,
tengo un pobremilla con un programa que estoy haciendo. Se supone que dicho programa llama a un servlet, que me devuelve una serie de datos en formato html. Lo que se hace a continuación es extraer ciertos valores para utilizarlos posteriormente.
Aquí está una parte del código, que es la que me da el error:
private static String [] readXMLResponse(InputStream in) throws IOException
{
StringBuffer sb = new StringBuffer();
Reader reader = new InputStreamReader(in, "UTF-8");
int c;
while ((c = in.read()) != -1)
sb.append((char)c);
String document = sb.toString();
String startTag1 = "<UID1>";
String endTag1 = "</UID1>";
int start1 = document.indexOf(startTag1) + startTag1.length();
int end1 = document.indexOf(endTag1);
String U1 = document.substring(start1, end1);
....
Al ejecutar dicho código, me da error: StrinIndexOutOfBounds: Index out of range: -6. Depurando, he descubierto que los valores de los enteros son:
start1= 5 (correcto)
end1 = -1 (incorrecto: tendría que valer 16)
¿Alguien podría echarme una mano? ¿Cuál puede ser el error?
Muchas gracias por todo.
Un saludo,
Paloma