RestApi/v1/Authentication/RequestToken : The response language and CharSet is different

I have integrated the authentication API (https://selectapi.datascope.refinitiv.com/RestApi/v1/Authentication/RequestToken) using JAVA in our springboot application. The issue currently we are facing is with response with this API. The API response status is 200 but the language is not in English with the charSet as UTF-16. Due to this issue we are unable to extract the auth-token to make further calls to fetch data whereas we are seeing no issue while calling the above api from Postman.
Example :
We tried to convert the above response to UTF-8 charSet but the result had some unwanted characters, due to which we cannot proceed with this approach.
From Postman :
Can anyone suggest any changes that we can make in our application code to get the desired response ?
Best Answer
-
Thank you for reaching out to us.
If the request in Postman works fine, the problem may relate to the settings in springboot. I searched in Google and found serveral results regarding the UTF8 setting in springboot.
I tested the UTF16 charset in Java with the Unirest and could get the token properly.
try {
HttpResponse<JsonNode> response = Unirest.post("https://selectapi.datascope.refinitiv.com/RestApi/v1/Authentication/RequestToken")
.header("Prefer", "respond-async")
.header("Content-Type", "application/json; charset=utf-16")
.header("Accept", "application/json")
.body("{\"Credentials\": {\r\n \"Username\": \"<usrname>\",\r\n \"Password\": \"<password>\"\r\n }\r\n}".getBytes(StandardCharsets.UTF_16))
.asJson();
System.out.println(response.getHeaders());
String token = response.getBody().getObject().getString("value");
System.out.println("Token = "+token);
} catch (UnirestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}The output looks like this:
The Content-Length of the HTTP response is 812 bytes and the Content-Type is [application/json; charset=utf-16].
The Content-Length of the HTTP response is 405 bytes when the charset is utf-8, as shown below.
0
Answers
-
We are integrating the authentication API in a springboot application and making call to the authentication API using RestTemplate:
ResponseEntity<String> response = restTemplate.postForEntity(loginUrl, requestEntity1, String.class);
Here the login url is the authentication url and request entity contains the request headers & Body0 -
Thanks @Jirapongse, we had implemented this approach and the issue is now resolved
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 616 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 556 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 652 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛