[esb-issues] [JBoss JIRA] (JBESB-3872) Reformat exception in SOAPClient on http 500

Tom Cunningham (JIRA) jira-events at lists.jboss.org
Wed Oct 31 14:12:18 EDT 2012


     [ https://issues.jboss.org/browse/JBESB-3872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Cunningham resolved JBESB-3872.
-----------------------------------

    Resolution: Done


bananastand:product tcunning$ svn commit
Sending        product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java
Transmitting file data .
Committed revision 38240.
bananastand:product tcunning$ 
                
> Reformat exception in SOAPClient on http 500
> --------------------------------------------
>
>                 Key: JBESB-3872
>                 URL: https://issues.jboss.org/browse/JBESB-3872
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Web Services
>    Affects Versions: 4.11 CP2
>            Reporter: Tom Cunningham
>            Assignee: Tom Cunningham
>             Fix For: 4.11 CP2
>
>
> ESB behavior when SOAPClient is used and an HTTP 500 is encountered.  SOA-P in this case throws an Exception that contains the HTTP 500 stack trace, which ActionProcessingPipeline receives. In forming replyTo Msg, it uses Util and fails because the Exception isn't in a format it is prepared to handle.
> The end result is that the pipeline does not provide a useful message.
> A fix is suggested below. By properly formatting the Exception, Util is happy with the results and everything works as it should.  The customer that opened the case validates that the symptom reported has not happened since using this code.
> // Code from SOAPClient, as fixed.  To find the spot, grep for 'if(responseAsOgnlMap) then compare from there.
>        if(responseAsOgnlMap) {
>             try {
>                 String mergedResponse = soapUIInvoker.mergeResponseTemplate(wsdl, getEndpointOperation(), soapServiceName, response.getBody(), httpClientProps, null, soapNs);
>                 response.setBody(mergedResponse);
>             } catch (IOException e) {
>                 Exception validException = new Exception("IOException in attempt to set Response body with merged result, possibly as result of an HTTP 500");
>                 throw new ActionProcessingException("soapUI Client Service invocation failed3.", validException);
>             } catch (SAXException e) {
>                 throw new ActionProcessingException("soapUI Client Service invocation failed4.", e);
>             }
>         }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the esb-issues mailing list