drools-eclipse/org.guvnor.eclipse.webdav/src/client/org/eclipse/webdav/client/AbstractResourceHandle.java
protected void examineMultiStatusResponse(IResponse response) throws DAVException {
        // If it is not a multistatus we don't look at it.
        if (response.getStatusCode() != IResponse.SC_MULTI_STATUS)
            return;

        // It is declared a multistatus, so if there is no response body
        // then that is a problem.
        if (!response.hasDocumentBody())
            throw new DAVException(Policy.bind("exception.responseMustHaveDocBody")); //$NON-NLS-1$

        // Extract the XML document from the response.
        Element documentElement;
        try {
            documentElement = response.getDocumentBody().getDocumentElement();
            if (documentElement == null)
                throw new DAVException(Policy.bind("exception.invalidDoc")); //$NON-NLS-1$
        } catch (IOException exception) {
            throw new SystemException(exception);
        }

        // Enumerate all the responses in the multistat and check that
        // they are indicating success (i.e. are 200-series response codes).
        try {
            MultiStatus multistatus = new MultiStatus(documentElement);
            Enumeration responseEnum = multistatus.getResponses();
            while (responseEnum.hasMoreElements()) {
                ResponseBody responseBody = (ResponseBody) responseEnum.nextElement();
                Enumeration propstatEnum = responseBody.getPropStats();
                while (propstatEnum.hasMoreElements()) {
                    PropStat propstat = (PropStat) propstatEnum.nextElement();
                    examineStatusCode(propstat.getStatusCode(), propstat.getResponseDescription());
                } // end-while
            } // end-while
        } catch (MalformedElementException e) {
            throw new SystemException(e);
        }
    }
protected void examineMultiStatusResponse(IResponse response) throws DAVException {
        // If it is not a multistatus we don't look at it.
        if (response.getStatusCode() != IResponse.SC_MULTI_STATUS)
            return;

        // It is declared a multistatus, so if there is no response body
        // then that is a problem.
        if (!response.hasDocumentBody())
            throw new DAVException(Policy.bind("exception.responseMustHaveDocBody")); //$NON-NLS-1$

        // Extract the XML document from the response.
        Element documentElement;
        try {
            documentElement = response.getDocumentBody().getDocumentElement();
            if (documentElement == null)
                throw new DAVException(Policy.bind("exception.invalidDoc")); //$NON-NLS-1$
        } catch (IOException exception) {
            throw new SystemException(exception);
        }

        // Enumerate all the responses in the multistat and check that
        // they are indicating success (i.e. are 200-series response codes).
        try {
            MultiStatus multistatus = new MultiStatus(documentElement);
            Enumeration responseEnum = multistatus.getResponses();
            while (responseEnum.hasMoreElements()) {
                ResponseBody responseBody = (ResponseBody) responseEnum.nextElement();
                Enumeration propstatEnum = responseBody.getPropStats();
                while (propstatEnum.hasMoreElements()) {
                    PropStat propstat = (PropStat) propstatEnum.nextElement();
                    examineStatusCode(propstat.getStatusCode(), propstat.getResponseDescription());
                } // end-while
            } // end-while
        } catch (MalformedElementException e) {
            throw new SystemException(e);
        }
    }
protected void examineMultiStatusResponse ( IResponse response ) throws DAVException { // If it is not a multistatus we don't look at it. if ( response . getStatusCode ( ) != IResponse . SC_MULTI_STATUS ) return ; // It is declared a multistatus, so if there is no response body // then that is a problem. if ( ! response . hasDocumentBody ( ) ) throw new DAVException ( Policy . bind ( "exception.responseMustHaveDocBody" ) ) ; //$NON-NLS-1$ // Extract the XML document from the response. Element documentElement ; try { documentElement = response . getDocumentBody ( ) . getDocumentElement ( ) ; if ( documentElement == null ) throw new DAVException ( Policy . bind ( "exception.invalidDoc" ) ) ; //$NON-NLS-1$ } catch ( IOException exception ) { throw new SystemException ( exception ) ; } // Enumerate all the responses in the multistat and check that // they are indicating success (i.e. are 200-series response codes). try { MultiStatus multistatus = new MultiStatus ( documentElement ) ; Enumeration responseEnum = multistatus . getResponses ( ) ; while ( responseEnum . hasMoreElements ( ) ) { ResponseBody responseBody = ( ResponseBody ) responseEnum . nextElement ( ) ; Enumeration propstatEnum = responseBody . getPropStats ( ) ; while ( propstatEnum . hasMoreElements ( ) ) { PropStat propstat = ( PropStat ) propstatEnum . nextElement ( ) ; examineStatusCode ( propstat . getStatusCode ( ) , propstat . getResponseDescription ( ) ) ; } // end-while } // end-while } catch ( MalformedElementException e ) { throw new SystemException ( e ) ; } }
If the given response contains a multistatus body, the bodies status'
are checked for errors. If an error is found, an exception is thrown.

@param response the response from the server to examine.
@throws DAVException if the given response contains a multistatus
body that contains a status code signalling an error.
If the given response contains a multistatus body the bodies status are checked for errors . If an error is found an exception is thrown .