Hi Chris,

the servlet contains no rocket science, so I am comfortable posting it 
completely ;) Error arrises on part marked with <<<ERROR>>>. The code reading 
the stream is generated by XMLBeans. 

Is there something that I should not do with the stream? For example
closing it or something like that?

Best regards and thanks for looking into the problem

Stefan




/**
 * Servlet implementation class XMLServiceServlet
 */
public class XMLServiceServlet extends HttpServlet {
        private XmlOptions xmlOptions = new XmlOptions();
        private static final long serialVersionUID = 1L;
        private RequestTransformer reqT = new RequestTransformer();
        private ResponseTransformer respT = new ResponseTransformer();

        /**
         * @see HttpServlet#HttpServlet()
         */
        public XMLServiceServlet() {
                HashMap<String, String> namespaceMap = new HashMap<String, 
String>();
//              namespaceMap.put("", "http://cirquent.de/XcelsiusTable";);
//              namespaceMap.put("http://cirquent.de/XcelsiusTable","";);
                xmlOptions.setLoadSubstituteNamespaces(namespaceMap);
        }

        /**
         * @see HttpServlet#doGet(HttpServletRequest request, 
HttpServletResponse
         *      response)
         */
        protected void doGet(HttpServletRequest request,
                        HttpServletResponse response) throws ServletException, 
IOException {
                handleRequest(request, response);
        }

        /**
         * @see HttpServlet#doPost(HttpServletRequest request, 
HttpServletResponse
         *      response)
         */
        protected void doPost(HttpServletRequest request,
                        HttpServletResponse response) throws ServletException, 
IOException {
                handleRequest(request, response);
        }

        private void handleRequest(HttpServletRequest request,
                        HttpServletResponse response) throws ServletException, 
IOException {

                InputStream is = request.getInputStream();
                DataDocument dDoc = getDocument(is);
                DataDocument resultDoc = this.callService(dDoc);
                
response.getOutputStream().write(resultDoc.toString().getBytes());
                response.setHeader("Connection", "close");
        }

        private DataDocument getDocument(InputStream is) {
                DataDocument inDoc = null;
                try {
<<<ERROR>>>
                        inDoc = DataDocument.Factory.parse(is, xmlOptions);
<<<END_OF_ERROR>>>
                } catch (Exception ex) {
                        ex.printStackTrace();
                }
                return inDoc;
        }

        private DataDocument callService(DataDocument dDoc) {
                boolean test = false;
                if(test){
                        TestTransformer tt = new TestTransformer();
                        tt.getRequestFromDataDocument(dDoc);
                        return tt.getDataDocumentFromResponse(null);
                }
                
                try {
                        GetQueryViewData request = 
reqT.getRequestFromDataDocument(dDoc);
                        
mc_style.functions.soap.sap.document.sap_com.Query_view_dataServiceStub stub = 
new 
mc_style.functions.soap.sap.document.sap_com.Query_view_dataServiceStub();// the
                        GetQueryViewDataResponse response = 
stub.GetQueryViewData(request);
                        return respT.getDataDocumentFromResponse(response);
                } catch (Exception ex) {
                        ex.printStackTrace();
                        return null;
                }

        }
}

-----Ursprüngliche Nachricht-----
Von: Christopher Schultz [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 4. Dezember 2008 23:22
An: Tomcat Users List
Betreff: Re: AW: java.io.IOException: Stream closed

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stafan,

Schuster Stefan wrote:
> I still have the problem mentioned below. I just don't have any idea
> where to start with problem solving?  Can it be a problem in Tomcat? I guess
> not as this is a very simple use-case (read the stream in the servlet) and
> it would have probably come up ealier...

In case you didn't see my other post, please post as much of your
de.cirquent.nwfi.xcelsius.XMLServiceServlet as you can.

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkk4WAwACgkQ9CaO5/Lv0PDtMQCeKRYlIZ+IztOUenCtEvMO3jKI
XuwAn39eTXUhNbb7Krz2FQDNMW9rc3Oh
=jQeB
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to