我有一個代碼使用彭博API向彭博社索取數據。 在修復了所需的外部JAR並安裝了新的JDK(JDK 1.8)之後,它運行沒有任何問題。但是,當我編輯了我想向彭博社申請的證券的公司ID後,再次運行它時,顯示出以下例外情況。彭博社API遇到的NotFoundException
Exception in thread "main" com.bloomberglp.blpapi.NotFoundException: securityData not found in: HistoricalDataResponse
at com.bloomberglp.blpapi.impl.aL.e(ElementImpl.java:3070)
at com.bloomberglp.blpapi.impl.aL.d(ElementImpl.java:3045)
at com.bloomberglp.blpapi.impl.aL.getElement(ElementImpl.java:558)
at com.bloomberglp.blpapi.impl.h.getElement(MessageImpl.java:164)
at bbg_upload.test1.processHistoricalStockDataResponse(test1.java:252)
at bbg_upload.test1.handleResponseEvent(test1.java:221)
at bbg_upload.test1.doo(test1.java:206)
at bbg_upload.test1.main(test1.java:117)
我對彭博API還不是很熟悉。但是,當我試圖在另一臺PC上運行相同的代碼時,它運行時未顯示上述例外情況。
中的代碼行252以下, (具體線路,其中「securityData」是)
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String available_date = dateFormat.format(new java.util.Date());
Element securityDataArray = msg.getElement("securityData");
String ticker = securityDataArray.getElementAsString("security");
String line = "";
String value = "";
Element fieldDataArray = securityDataArray.getElement("fieldData");
我一直在谷歌上搜索,爲什麼我得到這個錯誤。我認爲這不是彭博API的實現,因爲它可以在另一臺PC上成功運行。它可能與環境變量有關?
我試着做以下 'String available_date = dateFormat。format(new java.util.Date()。toString());' 但它給了我'java.lang.IllegalArgumentException' format()方法只對Date對象操作而不是字符串。 此外,我試着在兩臺PC上打印出日期,它給了我相同的格式。即 'new java.util.Date()'given _Tue Aug 16 09:44:44 SGT 2016_ 'dateFormat.format(new java.util.Date());''給出_20160816_ 在兩臺PC – Krish