Читайте об ошибке закрытого потока от Apache HttpClient - PullRequest
1 голос
/ 04 марта 2012

Я пытаюсь проанализировать ответ от ответа Apache HttpClient (3.1), например:

try {  
    int code = mclient.executeMethod(method);
    if (code == Status.OK.getCode()) {
        st = method.getResponseBodyAsStream();
        XMLBean el = doSomething(st);
        return el;
    }
} catch (HttpException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    method.releaseConnection();
}

Это дает мне следующее исключение при разборе ответа с помощью синтаксического анализатора атомов.

org.apache.abdera.parser.ParseException: java.lang.RuntimeException: [was class java.io.IOException] Attempted read on closed stream.

Блок finally фактически закрыл соединение.Что может вызвать эту ошибку закрытого потока?

SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
org.apache.abdera.parser.ParseException: java.lang.RuntimeException: [was class java.io.IOException] Attempted read on closed stream.
    at org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java:244)
    at org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(OMElementImpl.java:337)
    at org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.next(OMChildrenQNameIterator.java:118)
    at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName(OMElementImpl.java:275)
    at org.apache.abdera.parser.stax.FOMElement.getFirstChild(FOMElement.java:180)
...