Bug 779865 (SOA-2224)

Summary: AbstractHttpMethodFactory should extract retry handler parameter in setConfiguration method
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: david.boeren <david.boeren>
Component: JBossESBAssignee: Kevin Conner <kevin.conner>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.0.0 GA   
Target Milestone: ---   
Target Release: 5.1.0 GA   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-2224
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-11 04:56:31 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:

Description david.boeren 2010-08-10 16:28:14 UTC
Help Desk Ticket Reference: https://access.redhat.com/issue-tracker/?module=issues&action=view&tid=1148953&gid=1354
Workaround Description: There is no known workaround.
project_key: SOA

If you set your config like this:

<action ... class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
    ...
    <property name="http-client-properties">
        <http-client-property name="http.method.retry-handler" value="com.foobar.MyRetryHandler"/>
    </property>

or like this:

<action ... class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
    ...
    <property name="file" value="http-client.properties"/>

http-client.properties:
http.method.retry-handler=com.foobar.MyRetryHandler

, your custom retry handler is not picked up. This is NOT a bug in SOAPProxy.

The bug is in both POSTHttpMethodFactory and GETHttpMethodFactory, where in the setConfiguration(ConfigTree):void method, the http-client-properties that are available in the passed-in ConfigTree are not set into the HttpMethod's HttpMethodParams.

What should happen is that ANY property that starts with "http.method." should be set into the HttpMethodParams.

Comment 1 Kevin Conner 2010-08-10 16:28:47 UTC
Link: Added: This issue depends JBESB-3456


Comment 2 Kevin Conner 2010-08-10 16:29:19 UTC
Link: Added: This issue is related to SOA-2171


Comment 3 Kevin Conner 2010-08-10 16:36:11 UTC
Link: Added: This issue is incorporated by SOA-2210


Comment 4 Kevin Conner 2010-08-11 21:21:04 UTC
It is nor possible to set any property starting with 'http.method.' in HttpMethodParams without writing explicit code to do so.

This task will modify AbstractHttpMethodFactory to correctly extract the parameter and instantiate the handler.

Comment 5 Kevin Conner 2010-08-11 21:21:36 UTC
(not possible)

Comment 6 Kevin Conner 2010-08-12 12:27:37 UTC
The retry handler is configured by specifying the org.jboss.soa.esb.actions.routing.http.routingHandler parameter on the action.  The value of this parameter must be the name of a class which
- implements HttpMethodRetryHandler
- has a public, no-arg constructor
- *may* implement Configurable

Comment 7 Kevin Conner 2010-08-17 13:59:17 UTC
RemoteWsdlLoader is now fixed.

Comment 8 Kevin Conner 2010-08-19 13:49:12 UTC
Reopening to fix SOAPProxy propagation

Comment 9 Kevin Conner 2010-08-19 13:49:41 UTC
Link: Added: This issue depends JBESB-3467


Comment 10 David Le Sage 2011-02-11 04:49:00 UTC
Temporarily reopening to update release note info.

Comment 11 David Le Sage 2011-02-11 04:53:20 UTC
Release Notes Docs Status: Added: Documented as Resolved Issue
Release Notes Text: Added: https://issues.jboss.org/browse/SOA-2224

If the configuration was set in certain ways, the custom retry handler was not picked up. This was due to a bug in both POSTHttpMethodFactory and GETHttpMethodFactory, whereby the setConfiguration(ConfigTree):void method was not set in the HttpMethod's HttpMethodParams. A task has been added to AbstractHttpMethodFactory to correctly extract the parameter and instantiate the handler. 


Comment 12 David Le Sage 2011-02-11 04:55:48 UTC
Release Notes Text: Removed: https://issues.jboss.org/browse/SOA-2224

If the configuration was set in certain ways, the custom retry handler was not picked up. This was due to a bug in both POSTHttpMethodFactory and GETHttpMethodFactory, whereby the setConfiguration(ConfigTree):void method was not set in the HttpMethod's HttpMethodParams. A task has been added to AbstractHttpMethodFactory to correctly extract the parameter and instantiate the handler.  Added: https://issues.jboss.org/browse/SOA-2224

If the configuration was set in certain ways, the custom retry handler was not picked up. This was due to a bug in both POSTHttpMethodFactory and GETHttpMethodFactory, whereby the setConfiguration(ConfigTree):void method was not set in the HttpMethod's HttpMethodParams. A task has been added to AbstractHttpMethodFactory to correctly extract the parameter and instantiate the handler. Note that the retry handler is configured by specifying the org.jboss.soa.esb.actions.routing.http.routingHandler parameter on the action. The value of this parameter must be the name of a class which implements HttpMethodRetryHandler and has a public, no-arg constructor. 


Comment 13 David Le Sage 2011-02-11 04:56:22 UTC
Writer: Added: dlesage