[ 
http://issues.apache.org/jira/browse/AXIS-2599?page=comments#action_12461245 ] 
            
Bjorn Townsend commented on AXIS-2599:
--------------------------------------

Thomas,

Have you tried using CommonsHttpSender instead of HTTPSender?

> HTTPSernder: Wrong Basic64 content in Authorization
> ---------------------------------------------------
>
>                 Key: AXIS-2599
>                 URL: http://issues.apache.org/jira/browse/AXIS-2599
>             Project: Apache Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: z/OS (MVS)
> JDK 1.4.2
> Axis 1.4
>            Reporter: Thomas Klemmensen
>
> When we add credentials in the URL we send to AXIS we get some problems with 
> the encoding.
> The URL looks something like this:
> http://USERID:[EMAIL PROTECTED]/someprojekt/services/TheService
> When class HTTPSender retrieve the userid (USERID) then it does the following:
> if (userID != null) {
>       StringBuffer tmpBuf = new StringBuffer();
>       tmpBuf.append(userID).append(":").append((passwd == null) ? "" : 
> passwd);
>       otherHeaders.append(HTTPConstants.HEADER_AUTHORIZATION).append(": Basic 
> ").append(Base64.encode(tmpBuf.toString().getBytes())).append("\r\n");
> }
> But when we execute we recieve the following error from our service-provider:
> [Thu Dec 00 00:00:00 2006] [error] [client 4.3.2.1] user àëòäÆëéözêüôôëêüôôû 
> not found: /someprojekt/services/TheService
> It seems as if we don't use the same encoding.
> Looking in to the method String.getBytes() it seems the method uses the value 
> from java.encoding which should be:
> EBCDIC: Denmark  (cp277)
> As we look around the class HTTPSender we can see that almost everytime 
> someone gets a byte-array from a String or makes a String from a byte-array 
> they are using the constant:
> HTTPConstants.HEADER_DEFAULT_CHAR_ENCODING (public static final String 
> HEADER_DEFAULT_CHAR_ENCODING = "iso-8859-1";)
> We have tried to put the value inside the existing code so it looks like this:
> if (userID != null) {
>       StringBuffer tmpBuf = new StringBuffer();
>       tmpBuf.append(userID).append(":").append((passwd == null) ? "" : 
> passwd);
>       otherHeaders.append(HTTPConstants.HEADER_AUTHORIZATION)
>                               .append(": Basic ")
>                               
> .append(Base64.encode(tmpBuf.toString().getBytes(HTTPConstants.HEADER_DEFAULT_CHAR_ENCODING)))
>                               .append("\r\n");
> }
> This seems to work. But we actually don't know if it's a BUG in the first 
> place.
> But we hope it is and that is solved in later versions? Otherwise we would 
> very much appreciate if someone could help with another workaround to our 
> problem.
> In advance, Thanx.
> Thomas

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to