Bug 845165
| Summary: | Http Provider returns 200 http response code for Soap Fault | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 5 | Reporter: | Jason Shepherd <jshepherd> | ||||||
| Component: | JBossESB | Assignee: | kconner | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Lucie Fabrikova <lfabriko> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 5.3.0 GA | CC: | atangrin, jcoleman, jpechane, jsedlace, rwagner, soa-p-jira, tasato | ||||||
| Target Milestone: | ER1 | ||||||||
| Target Release: | 5.3.1 | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | |||||||||
| : | 852814 881861 (view as bug list) | Environment: | |||||||
| Last Closed: | 2012-11-29 17:25:52 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 848807, 852814, 881861 | ||||||||
| Attachments: |
|
||||||||
|
Description
Jason Shepherd
2012-08-02 04:35:19 UTC
Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 This issue should have been addressed as part of JBESB-2511. Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 Attached a patch for this issue. I've verified it by running the existing unit and integration tests. We need a QA test to verify this fix itself. Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 Attached a patch (JBESB-3838.patch) for this issue. I've verified it by running the existing unit and integration tests. We need a QA test to verify this fix itself. Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 Attached a patch (JBESB-3838.patch) for this issue. I've verified it by running all the existing unit and integration tests. We need a QA test to verify this fix itself. Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 Attached a recompiled jar (jbossesb-soap.jar) with the patch against the latest JBESB_4_11_CP branch (rev. 38166). http://anonsvn.jboss.org/repos/labs/labs/jbossesb/branches/JBESB_4_11_CP/product/ Lucie Fabrikova <lfabriko> made a comment on jira JBESB-3838 I verified the problem on version SOA-P 5.3.0 GA, the patched version with reproducer generated status code 500. Now we modify our test to reproduce the problem (add HTTP Provider). Lucie Fabrikova <lfabriko> made a comment on jira JBESB-3838 If the webservice works properly and returns correct result and there is no need to return fault code (500), the patch is not working, it returns response code 0. It should return 200. Sato Tadayoshi <tadayosi> made a comment on jira JBESB-3838 Thanks Lucie for your feedback! While a quick fix to my patch is easy, I am wondering if I should rather fix Http Gateway (HttpMessageComposer) instead of SOAPProcessor, because SOAPProcessor + JBR Gateway doesn't observe this issue. My previous patch was for SOAPProcessor. Jiri Sedlacek <jsedlace> made a comment on jira JBESB-3838 Hi Sato, we have new information for you. We tested with JBoss WS Native stack by mistake and that's the reason why we found the problem mentioned by Lucie. If JBoss WS CXF Stack is used, your patch returns proper codes both for OK(200) and server error(500), we will have to cover other possible response codes in our tests too. If JBoss WS Native Stack is used, the method call at line 212 cause the problem: requestHandler.handleHttpRequest(endpoint, servletRequest, servletResponse, servletContext) ; JBossWS Native implementation of this sets servlet response code in servletReponse object to 0 when call of WS was successful. Without your patch, in org.jboss.soa.esb.listeners.gateway.http.HttpMessageComposer.decompose(...) method, there is always used status 200 OK, response is not attached to message. With your patch, there is properly propagated reponseStatus into message, if there is fault in WS, status is 500 (which is desirable), but if WS is called without fault, status code is 0. My conclusion - the patch can be used as is now if JBossWS native stack problem will be fixed or a condition to check the status code when JBossWS native is used can be placed somewhere (into SOAPProcessor or HTTPMessageComposer?) and fix it. Magesh Bojan <mageshbk> made a comment on jira JBESB-3838 Done At revision: 38168 Sato, I completely took a different approach for setting the status. Please have a look at the commit and let me know. Magesh Bojan <mageshbk> made a comment on jira JBESB-3838 At revision: 38169 for the JBossWS Native fix. Created attachment 609887 [details]
untested patch built against JBESB_4_11_CP (rev.38169)
Hi Jiri and Lucie,
this (jbossesb-rosetta.jar) is the revised patch. Could you please test it again? We took a different approach from the previous one, so before applying it you have to rollback the previous one (jbossesb-soap.jar).
To apply this patch, replace the following jar with this patch:
$JBOSS_AS/server/$CONFIG/deployers/esb.deployer/lib/jbossesb-rosetta.jar
Thanks.
Hi Tadayoshi, Lucie tested provided patched jboss-rosetta.jar and our tests passed, I checked diffs of fixes and it looks ok so We agree with the patch. Magesh Bojan <mageshbk> updated the status of jira JBESB-3838 to Closed Verified in SOA-P 5.3.1 ER1. |