Hi,
One of client use TRTH api to require EOD data.
He wants to create a template for his EOD data, but always get the response with bad request.
Could you help him to find out what's going on? Thank you
There are part of the Java code:
JSONArray array = new JSONArray(); fieldList.forEach(field -> { array.put( new JSONObject() .put("FieldName", field) .put( "Format", JSONObject.NULL)); }); HttpPost httppost = new HttpPost(urlHost + "/Extractions/TickHistoryIntradayElektronTimeseriesTemplates"); httppost.addHeader("content-type", "application/json;odata.metadata=minimal"); httppost.addHeader("Authorization", "Token " + sessionToken); // Note: content fields are specific to each report template type // JSONOrderedObject TickTemplateJSONObject = new JSONOrderedObject().put("@odata.type", "#ThomsonReuters.Dss.Api.Extractions.ReportTemplates.TickHistoryElektronTimeseriesReportTemplate") .put("ShowColumnHeaders", false) .put("Name", reportTemplateName) .put("Headers", new JSONArray()) .put("Trailers", new JSONArray()) .put("ContentFields", array) .put("Condition", new JSONOrderedObject() .put( "MessageTimeStampIn", "GmtUtc" ) .put( "ApplyCorrectionsAndCancellations", true ) .put( "ReportDateRangeType", "Range" ) .put("QueryStartDate", startDate).put("QueryEndDate", endDate)); logger.info("Tick template creation JSON request content:\n" + TickTemplateJSONObject.toString()); StringEntity requestBody = new StringEntity(TickTemplateJSONObject.toString()); httppost.setEntity(requestBody); ResponseHandler<String> responseHandler = new BasicResponseHandler(); String response = httpclient.execute(httppost, responseHandler); JSONObject jsonResponse = new JSONObject(response); StringWriter out = new StringWriter(); jsonResponse.write(out); logger.info("JSON response contents:\n" + out); reportTemplateId = jsonResponse.getString("ReportTemplateId");
Response with bad request:
Exception in thread "main" org.apache.http.client.HttpResponseException: Bad Request at org.apache.http.impl.client.AbstractResponseHandler.handleResponse(AbstractResponseHandler.java:70) at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:66) at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:52) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:223) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) at com.algoone.quotation.trth.EODRequest.createTrthTickReportTemplate(EODRequest.java:146) at com.algoone.quotation.trth.EODRequest.run(EODRequest.java:54) at com.algoone.quotation.trth.EODRequest.main(EODRequest.java:36)