[ 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: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org