[
https://issues.apache.org/jira/browse/AXIS2-5908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavan Kumar Sangyam updated AXIS2-5908:
---------------------------------------
Description:
*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 above code with following to get the HttpConext with
getOptions()
HttpContext localContext=
(HttpContext)msgContext.getProperty(HTTPConstants.*_CACHED_HTTP_STATE);_*
was:
*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 getOptions()
HttpContext localContext=
(HttpContext)msgContext.getProperty(HTTPConstants.*_CACHED_HTTP_STATE);_*
> 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
> Priority: Major
>
> *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 above code with following to get the HttpConext with
> getOptions()
> HttpContext localContext=
> (HttpContext)msgContext.getProperty(HTTPConstants.*_CACHED_HTTP_STATE);_*
>
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]