Когда вы выполняете запрос исторических данных из веб-сервисов Datastream®, иногда запрос возвращает ошибку вместо данных. Используйте этот рабочий процесс, чтобы получить доступ к сообщениям об ошибке веб-сервисов 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
.