[
https://issues.apache.org/jira/browse/AXIS2-6055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17723114#comment-17723114
]
Robert Lazarski commented on AXIS2-6055:
----------------------------------------
There will be a fix for this in the next release of Axis2, however the priority
is Rampart at the moment as it is overdue for a release.
In the meantime, you could read the transport docs and better understand how
you can define your own httpclient instance.
[https://axis.apache.org/axis2/java/core/docs/http-transport.html]
Specifically:
options.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);
Also, the OP indicated their own fix.
> 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
>
> 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]