JiBX
  1. JiBX
  2. JIBX-334

Exchange Context not reset after exception in OutputCompletionListener

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: JiBX/WS 0.9
    • Fix Version/s: JiBX/WS 0.9.1
    • Component/s: JiBX/WS
    • Labels:
      None
    • Number of attachments :
      0

      Description

      After an unhandled exception occurs in an OutputCompletionListener, the following request results in:

      WARN [http-8080-1] 2009-10-18 13:39:22,636 server.SoapFaultHandler - Error processing request. Generating SOAP Fault response.
      java.lang.IllegalStateException: Cannot receive message when current message context is outbound
      at org.jibx.ws.soap.SoapProcessor.receiveMessage(SoapProcessor.java:224)
      at org.jibx.ws.server.Service.processRequest(Service.java:233)
      at org.jibx.ws.http.servlet.WsServletDelegate.doPost(WsServletDelegate.java:147)
      at org.jibx.ws.http.servlet.WsSpringServlet.doService(WsSpringServlet.java:81)
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
      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:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
      at java.lang.Thread.run(Thread.java:619)
      ERROR [http-8080-1] 2009-10-18 13:39:22,639 server.SoapFaultHandler - Error while processing prior error
      java.lang.IllegalStateException: No message context available for sending fault message
      at org.jibx.ws.soap.SoapProcessor.sendFaultMessage(SoapProcessor.java:162)
      at org.jibx.ws.soap.server.SoapFaultHandler.handleException(SoapFaultHandler.java:95)
      at org.jibx.ws.server.Service.processRequest(Service.java:259)
      at org.jibx.ws.http.servlet.WsServletDelegate.doPost(WsServletDelegate.java:147)
      at org.jibx.ws.http.servlet.WsSpringServlet.doService(WsSpringServlet.java:81)
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
      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:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
      at java.lang.Thread.run(Thread.java:619)

        Activity

        Hide
        Nigel Charman added a comment -

        Bug introduced in fix for JIRA JIBX-326. Have now added try-finally block around call to OutputCompletionListener to ensure context is reset.

        Show
        Nigel Charman added a comment - Bug introduced in fix for JIRA JIBX-326 . Have now added try-finally block around call to OutputCompletionListener to ensure context is reset.
        Nigel Charman made changes -
        Field Original Value New Value
        Remaining Estimate 0 minutes [ 0 ]
        Original Estimate 0 minutes [ 0 ]
        Nigel Charman made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Nigel Charman made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Nigel Charman made changes -
        Fix Version/s JiBX/WS 0.9.1 [ 15889 ]
        Status Reopened [ 4 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Nigel Charman
            Reporter:
            Nigel Charman
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: