Когда вы делаете запрос на исторические данные от Datastream™ Веб-сервисов от Refinitiv™, иногда запрос возвращает ошибку вместо данных. Используйте этот рабочий процесс для доступа к Datastream Веб-сервисов сообщений об ошибке.
history функция возвращает ошибки в matlab.net.http.ResponseMessage объект. Например, предположим, что вы вводите недопустимое имя безопасности для sec входной параметр. Результат выхода имеет следующую форму:
d =
ResponseMessage with properties:
StatusLine: 'HTTP/1.1 200 OK'
StatusCode: OK
Header: [1×6 matlab.net.http.HeaderField]
Body: [1×1 matlab.net.http.MessageBody]
Completed: 0
Доступ к Body свойство с использованием записи через точку.
d.Body
ans =
MessageBody with properties:
Data: [1×1 struct]
Payload: []
ContentType: [1×1 matlab.net.http.MediaType]
ContentCoding: [0×0 string]Чтобы получить доступ к тексту сообщения об ошибке, получите доступ к вложенной структуре DataResponse хранится в Data свойство.
d.Body.Data.DataResponse
ans =
struct with fields:
AdditionalResponses: []
DataTypeNames: []
DataTypeValues: [3×1 struct]
Dates: []
SymbolNames: []
Tag: ''Затем получите доступ к SymbolValues поле в DataTypeValues массив структур.
d.Body.Data.DataResponse.DataTypeValues(1).SymbolValues
ans =
struct with fields:
Currency: []
Symbol: 'YYY'
Type: 0
Value: '$$ER: E100,INVALID CODE OR EXPRESSION ENTERED'Исправьте код на основе сообщения об ошибке в Value поле.