Когда вы выполняете запрос исторических данных из веб-сервисов 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
поле .