Bloomberg API를 사용하여 Bloomberg로부터 데이터를 요청하는 코드가 있습니다. 필요한 외부 JAR을 수정하고 새 JDK (JDK 1.8)를 설치 한 후 아무런 문제없이 실행되었습니다. 그러나 블룸버그에서 증권을 요청하고자하는 회사 ID를 편집 한 후 다시 실행했을 때 다음 예외가 표시되었습니다.Bloomberg 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()'는 _Tue를 제공합니다. Aug 16 09:44:44 SGT 2016_ 'dateFormat.format (new java.util.Date());'는 두 PC 모두에서 _20160816_ 을 제공합니다. – Krish