Jeff, sounds like some piece of code has already committed the HTPServletResponse before Axis got it (from Tomcat). Calls to FlushBuffer() and setHeader() on HttpServletResponse I think will commit the response. Would JBoss be doing any such thing? I doubt it's Tomcat. You say the Struts actions may be doing something. I recommend you create some test code without using Struts and see if the web service call is successful. To my knowledge, there is nothing you can do once the response is committed, it's like locking it. There are quite a few methods that will throw IllegalStateException if they find the response is already committed. -jeff _____
From: Jeff Amiel [mailto:[EMAIL PROTECTED] Sent: Thursday, June 07, 2007 12:45 PM To: [email protected] Subject: Guru? Axis 1.X AxisServlet Exception with already committed response.... I posted in the Axis list a couple of days ago with no real bites... Getting some more feeback on the struts/tomcat side but being that AxisServlet is what is actually throwing the exception, I was pointed here. The exception I see sporadically is pretty simple.. Servlet.service() for servlet AxisServlet threw exception java.lang.IllegalStateException org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacad e.java:220) org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:610) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j ava:327) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) ... After looking at the code in ResponseFacade: public void setBufferSize(int size) { if (isCommitted()) throw new IllegalStateException And the AxisServlet doPost(): public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { ... res.setBufferSize(1024 * 8); // provide performance boost. I have come to the conclusion that the AxisServlet is being handed off a response that is already in a committed state. I'm at a complete loss as to how this could happen. (and it happens sporadically) My own experiments have yielded a possible connection with other activities (struts actions) on the same box that seem to somehow 'induce' this behavior on the Axis side, but I cannot figure out how or why. I've reduced the webservice implementation that is being called (via axis) to simply doing a Thread.sleep(200) and returning an empty resultset...and I can still produce the issue. Any thoughts on how bad or irreverent code on the 'other side of the house' (other servlets in my war) can be influencing the Axis elements in this way? Any help would be appreciated...before I chuck my keyboard out the window! :) Tomcat 5.5.20 under Jboss 4 Axis version 1.1 - 1.4 (I tried many versions) Struts version 1.3x Java 1.5 under FreeBSD 6.0 _____ Be a better Globetrotter. Get better travel answers <http://us.rd.yahoo.com/evt=48254/*http://answers.yahoo.com/dir/_ylc=X3o DMTI5MGx2aThyBF9TAzIxMTU1MDAzNTIEX3MDMzk2NTQ1MTAzBHNlYwNCQUJwaWxsYXJfTkl fMzYwBHNsawNQcm9kdWN0X3F1ZXN0aW9uX3BhZ2U-?link=list&sid=396545469> from someone who knows. Yahoo! Answers - Check it out.
