我有一个代码使用彭博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