[
https://issues.apache.org/jira/browse/AXIS2C-861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Mitchell updated AXIS2C-861:
---------------------------------
Attachment: libcurl_diff
The attached diff file builds upon the changes suggested in AXIS2C-830, wherein
are changes to make the libcurl interface multithreaded with a separate libcurl
object for each http transport sender.
Building on the changes there, enabling client session management through HTTP
session cookies is fairly straightforward. In the msg_ctx, we need to
propagate the manage_session flag already made accessible to the client in the
options. Then in axis2_libcurl_send, we need to enable the curl cookie engine
if manage_session is true, and then discard all cookies if manage_session later
is set false.
I've included the changes from AXIS2C-830 with these, to make it easier to
integrate all at once, and to avoid the problem of the line numbers changing
when one is integrated without the other. The only incremental changes are to
msg_ctx.c/.h and the code in axis2_libcurl.c to remember the cookie state in
the curl structure and to call curl_easy_setopt as needed.
Of course, a simple fix would be to enable cookie management all the time in
the libcurl interface. In fact, this has been how I have been accessing a
service that requires cookies for several weeks now. But since the Java and
C++ implementations of Axis controlled this through the maintain_session
option, it seems worthwhile to preserve the user control and enable or disable
cookie management under the control of the manage_session option here.
> Enable client session management through http cookies in libcurl
> ----------------------------------------------------------------
>
> Key: AXIS2C-861
> URL: https://issues.apache.org/jira/browse/AXIS2C-861
> Project: Axis2-C
> Issue Type: Improvement
> Components: transport/http
> Affects Versions: Current (Nightly)
> Environment: Windows XP, Visual Studio 2005, libxml, libcurl
> Reporter: Bill Mitchell
> Attachments: libcurl_diff
>
>
> Many existing SOAP services maintain session context through HTTP cookies.
> This can be seen in the prevalence of some mechanism to enable client cookies
> in various SOAP stacks, including the Axis versions in Java and C++. Without
> re-implementing all of this in the Axis2C http transport, it would be easy
> and convenient to provide this support for Axis2C clients built with libcurl.
> Libcurl already provides the underlying cookie support, all that is needed
> is some mechanism to enable/disable this support with, say, the defined but
> unused maintain_session option.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]