axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nadir amra (JIRA)" <>
Subject [jira] Closed: (AXISCPP-1059) HTTPTransport generates duplicate "Authentication: " headers
Date Mon, 08 Nov 2010 05:23:08 GMT


nadir amra closed AXISCPP-1059.

       Resolution: Fixed
    Fix Version/s: current (nightly)

I have fixed the setTransportProperty() so that it replaces an existing property with same

I have not added an addTransportProperty() since I do not see the need for such a method.

Closely related to this issue was the code emitter that checked to see if SOAPAction was already
set before setting it.  This causes problems when the stub is used to call 2 different operations....the
second SOAP request contained the SOAPAction value of the first operation because of the following:

if (NULL==m_pCall->getTransportProperty("SOAPAction",false))
			m_pCall->setTransportProperty(SOAPACTION_HEADER , "xxxxxx");

I simply removed the if-check and ensured that setTransportProperty() was always invoked.

> HTTPTransport generates duplicate "Authentication: " headers
> ------------------------------------------------------------
>                 Key: AXISCPP-1059
>                 URL:
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: Transport (axis3)
>    Affects Versions: current (nightly)
>         Environment: Any
>            Reporter: Michael Chen
>            Assignee: nadir amra
>             Fix For: current (nightly)
> Source file "axis/trunk/c/src/transport/axis3/HTTPTransport.cpp", line 360.
> When generateHTTPHeaders() calls setTransportProperty("Authorization", ...), the later
does NOT replace existing "Authentication: " header but add another one.  My application uses
the same stub to call the same service repeatedly.  This resulted in increasingly more and
more duplicate "Authentication: " header being sent to the service.  After a while, the service
refuses the request.
> The common practice is that "set" replaces duplicate key/value pairs, while "add" implies
the acceptance of duplicate keys.  setTransportProperty(const char*, const char*) only remove
duplicates of 3 know headers, "Connection", "Content-Length" and "SOAPAction".  This is a
design flaw.  There should be two sibling member functions:
> setTransportProperty(const char*, const char*)
> addTransportProperty(const char*, const char*)

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:
For additional commands, e-mail:

View raw message