You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Pavan Kumar Sangyam (JIRA)" <ji...@apache.org> on 2018/02/22 11:52:00 UTC

[jira] [Created] (AXIS2-5908) There is no provision to set the CACHED_HTTP_STATE with HttpContext object

Pavan Kumar Sangyam created AXIS2-5908:
------------------------------------------

             Summary: There is no provision to set the CACHED_HTTP_STATE with HttpContext object
                 Key: AXIS2-5908
                 URL: https://issues.apache.org/jira/browse/AXIS2-5908
             Project: Axis2
          Issue Type: Bug
          Components: transports
    Affects Versions: 1.7.4
            Reporter: Pavan Kumar Sangyam


*Background:* 

*Current Approach:* Currently we are using “commons-httpclient3:” to provide stateful webservice capability in our product through httpclient3. As Http state management can be maintained with HttpState object  in httpClient3, we implemented this as follows:
 * Implementation of HttpClient3 in Axis2 Client

      var myHttpState = new Packages.org.apache.commons.httpclient.HttpState();

      stub._getServiceClient().getOptions().setProperty('*CACHED_HTTP_STATE*',myHttpState);

 

*Problem with current approach:* Since using httpclient3 is said to be NOT secured we want to go-head and use httpclient4. As Http state can be maintained with HttpContext object  in httpClient4. However, unlike HttpState, the current Axis2 Client API implementation does not expose the HttpContext to set the HttpClient4.

 

*Proposed Solution/Fix:* To fix the above problem and make it work, we made following changes to the axis2-transport-http-1.7.4.jar that worked to make stateful behavior. We would like to go head with the fix and need your consent on the next steps in contributing this code so that it continues to behave the same way like it used to when using httpclient3.
 * Following change that need to include the Axis2 Client API to retrieve the httpContext.

      HttpContext localContext=

       (HttpContext)msgContext.getProperty(HTTPConstants.*_CACHED_HTTP_STATE);_*

 

For HttpClient4,  HttpContext is instantiated and not allowed  set the  HttpContext with  options

 

HttpContext localContext = new BasicHttpContext();

We replaced the below code to get the HttpConext that is with options

            HttpContext localContext=  (HttpContext)msgContext.getProperty(HTTPConstants.*_CACHED_HTTP_STATE);_*



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org