[ https://issues.apache.org/jira/browse/ODE-920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020313#comment-13020313 ]
Felix Neumann commented on ODE-920: ----------------------------------- Example for a sent message: >>>>>>>> <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> <soapenv:Body/> </soapenv:Envelope> <<<<<<<< > Flawed handling of empty SOAP bodies > ------------------------------------ > > Key: ODE-920 > URL: https://issues.apache.org/jira/browse/ODE-920 > Project: ODE > Issue Type: Bug > Components: Axis2 Integration > Affects Versions: 1.3.5 > Environment: Tomcat/5.5 > Reporter: Felix Neumann > Priority: Minor > Labels: axis2, debug, exception, quick_to_fix, solution_known > Original Estimate: 10m > Remaining Estimate: 10m > > Assumptions: > * Debug logging is enabled for log4j.category.org.apache.ode.axis2 > * A SOAP request with an empty body is sent to the ODE > Problem: > * An error occurs due to trying to access the empty body. > Reason: > * The debug output tries to convert that body element to text ("stringify" > it). > * Code Reference: Class org.apache.ode.axis2.ODEService, Line 122 > * Code Excerpt: >>>>>__log.debug("Message content: " + > DOMUtils.domToString(odeRequest.getMessage()));<<<<< > Solution: > * Check for an empty body. > Logged Exception: >>>>>>>> > 16:40:13,804 ERROR [ODEService] Exception occured while invoking ODE > java.lang.IllegalArgumentException: Cannot stringify null Node! > at org.apache.ode.utils.DOMUtils.domToString(DOMUtils.java:420) > at > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:122) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:69) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:63) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:548) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:619) > <<<<<<<< > Notes: > * Most probably also present in earlier versions. > Sers, > the contented -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira