Reading XML data in POST method of Servlet via InputStream truncate at 7500 characters in JBoss EAP 6

Solution Verified - Updated -

Issue

  • From a servlet, when reading data from the request to parse as XML, it gets truncated to around 7500 characters.
  • Following is the code sample:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                String xml = null;
                try {
                        byte[] xmlData = new byte[request.getContentLength()];

                        //Start reading XML Request as a Stream of Bytes
                        InputStream sis = request.getInputStream();
                        BufferedInputStream bis = new BufferedInputStream(sis);

                        bis.read(xmlData, 0, xmlData.length);

                        if (request.getCharacterEncoding() != null) {
                                xml = new String(xmlData, request.getCharacterEncoding());
                        } else {
                                xml = new String(xmlData);
                        }
                        //xml and xmlData contains incomplete data
                } catch (IOException ioe) {
                   ...
                }

Environment

JBoss Enterprise Application Platform (EAP) 6.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.