-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Prasanna,

On 5/26/18 2:09 PM, Prasanna Pati wrote:
> We are trying to access the Lithium Rest Api (its a https site)
> through Spring Rest Template as below
> 
> `String plainCreds = lswUserName + ":" + lswPassword;
> 
> byte[] plainCredsBytes = plainCreds.getBytes();
> 
> byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
> 
> String base64Creds = new String(base64CredsBytes);
> 
> HttpHeaders headers = new HttpHeaders();
> 
> headers.add("Authorization", "Basic " + base64Creds);
> 
> 
> 
> HttpEntity<String> request = new HttpEntity<String>(headers);
> 
> ResponseEntity<String> sRawResp =
> restTemplate.exchange(completeURL.toString(), HttpMethod.GET,
> request, String.class);'
> 
> Above code always gives
> org.springframework.web.client.HttpClientErrorException: 401
> Unauthorized Exception
> 
> There were no issues when invoking the same web service through
> postman, however whenever accessed through java code, getting the
> above 401 unauthorized exception
> 
> Previously I faced this issue with Windows OS, I struggled a lot
> and got the solution. The Soultion was, In Tomcat/bin folder I have
> added below entry related to proxy in to catalina.bat file set
> "JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=hy**1.*****.co.in
> -Dhttp.proxyPort=8080 "
> 
> This resolved the issue in Windows OS. Now we moved the entire
> setup to Linux OS and now i get the same error. Here in linux i
> don't have any proxy set. checked through wget
> http://www.google.com<http://www.google.com/> (Here no proxy
> details displayed). In this case how to resolve this issue in Linux
> when no proxy is set.
> 
> Please Help.

If you are getting a 401 response, it's probably not because you can't
make a connection. More likely is that you haven't implemented the
credential-munging properly. Your code looks okay to be, but you may
be missing:

1. The correct character encoding. Is the server passing a "charset"
parameter with the WWW-Authenticate header?

2. Does the username contain a colon? (That's not allowed per spec)

3. Does your Base64.encodeBase64 class implement RFC4648 faithfully?

There are some examples in RFC7617[1] with both plaintext and encoded
credentials. You might want to validate that your implementation
reproduces those examples correctly.

- -chris

[1] https://tools.ietf.org/html/rfc7617
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlsNWgcACgkQHPApP6U8
pFgZPw//X5bm1O6vUGM+fVzSIExQjRqVHU69IWiI2DC+1ygjI+IWTx2wNnPxgMVy
iejon1xmwplcJz2GXuilAFMNpVzioVY8Z40dFjm/eNzJu7NvXL9t0vd8NFRZnmuF
GLXRMTBDvNLeVGgIX5DhDZwJk29ANfwgORuvg5vhgK5HzmR5O+lo8eeLMmh1BUO2
iywoOS06y+GnHOEvSNz4F/3zwOoBRrxqj4Q0dQ0rEWoNBwax0bNWlRDgne8t5dMD
FATiANojwig0yNMjIIs36qHztej0twBL6JAlWdmlE6MxjxPtw3SFYovqPiM0pw6X
e+WV1RnQFYAT4jCHX5D+j3E0WntTuSUZfhaml9j9MN2nGrTv7WlOnjUMdOeZBNNa
CT3mWH2pLYP1y27XDXWIYORPTo05cvIp//7jcTmTcnrEMvymsqij7BykTos6ZUnl
kK/9Q6rLyU5zvtW973wSKOb9K9gfiGIMDJ6/cxFrs/RQOFeazhV9j6oqAzRz7dQp
nTz1L2/ghEexBfB87E5np5QQ83fF5QUAqMMuCHCU4nWxoEU64w1CVuj0crXWfexG
C31fedUG21EUvfsBeDVGxs6IVaesWg1zWUlSlhW93K71E+zGT2kplt5JJM0YwPNC
hesuxVhgrteGx+J/ynGqu7/KNpWwKkuImmbuPIN9spBQvXND7W4=
=6G5J
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to