/** * Parse XML document from HTTP-Post request. * * @param request HTTP-Post request * @return XML document * @throws OwsExceptionReport If an error occurs */ public static XmlObject parseXmlSosRequest(final HttpServletRequest request) throws OwsExceptionReport { XmlObject doc; try { if (request.getParameterMap().isEmpty()) { final String requestContent = StringHelper.convertStreamToString( HTTPUtils.getInputStream(request), request.getCharacterEncoding()); doc = parseXmlString(requestContent); } else { doc = XmlObject.Factory.parse( SosHelper.parseHttpPostBodyWithParameter( request.getParameterNames(), request.getParameterMap())); } } catch (final XmlException xmle) { throw new NoApplicableCodeException() .causedBy(xmle) .withMessage( "An xml error occured when parsing the request! Message: %s", xmle.getMessage()); } catch (final IOException ioe) { throw new NoApplicableCodeException() .causedBy(ioe) .withMessage("Error while reading request! Message: %s", ioe.getMessage()); } // validateDocument(doc); return doc; }