[
https://issues.apache.org/jira/browse/AXIS2-6055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926576#comment-17926576
]
Robert Lazarski commented on AXIS2-6055:
----------------------------------------
There is a GitHub PR for this issue but it lacks a test case. Also, the PR is
for httpclient4 and Axis2 2.0.0 is going out very soon with httpclient5.
The PR in the description has a link to a tutorial on doing preemptive basic
authentication using httpclien5 but I am not able to test it easily.
A PR using httpclient5 and a test case is ideal. This issue is currently
scheduled for 2.0.1 since 2.0.0 is imminent.
> Basic Auth credentials are missing in request
> ---------------------------------------------
>
> Key: AXIS2-6055
> URL: https://issues.apache.org/jira/browse/AXIS2-6055
> Project: Axis2
> Issue Type: Bug
> Components: TCP transport
> Affects Versions: 1.8.0
> Reporter: Markus I.
> Assignee: Robert Lazarski
> Priority: Major
> Fix For: 2.0.1
>
>
> There is a changed behaviour between Axis2 1.7 and Axis2 1.8 when using the
> preemptive authentication in the HttpTransportPropertiesImpl.Authenticator.
> In Axis2 1.7 following code was used to achive this behaviour:
> _HttpTransportPropertiesImpl.Authenticator auth = new
> HttpTransportPropertiesImpl.Authenticator();_
> _List<String> authpref = new ArrayList<>();_
> _authpref.add(AuthPolicy.BASIC);_
> _auth.setAuthSchemes(authpref);_
> _auth.setUsername("testUser");_
> _auth.setPassword("testUserPassword");_
> _auth.setPreemptiveAuthentication(true);_
>
> _msgContext.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE,
> auth); //msgContext = org.apache.axis2.context.MessageContext_
> Since Axis2 1.8 the code above does not work anymore, because
> org.apache.axis2.transport.http.HTTPAuthenticator.getPreemptiveAuthentication()
> is not called anymore by the AXIS implementation. Is this an intended
> behaviour or a bug? We are using at the moment Axis2 1.8.2.
> The current workaround for us is to set the header directly as shown in
> following example:
> _List<NamedValue> l = new ArrayList<>();_
> _String credentials = "testUser:testUserPassword";_
> _l.add(new
> NamedValue(org.apache.axis2.kernel.http.HTTPConstants.HEADER_AUTHORIZATION,
> "Basic " + Base64.encode(credentials.getBytes())));_
>
> _msgContext.setProperty(org.apache.axis2.kernel.http.HTTPConstants.HTTP_HEADERS,
> l); //msgContext = org.apache.axis2.context.MessageContext_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]