Справочник по XML для HTTP-коннектора

| Документация MuleSoft

Anypoint Connector для HTTP (HTTP Connector) прослушивает события или выполняет операции на основе протокола HTTP или HTTPS. При использовании протокола HTTPS коннектору требуется конфигурация дочернего элемента контекста TLS. В следующих примерах показан источник HTTP-коннектора и конфигурация операций в формате XML.

Пример конфигурации XML прослушивателя HTTP

Родительский элемент http:listener-config организует элементы соединения, такие как прослушивание порт и tls:context внутри дочернего элемента http:listener-connection . В следующем примере показана конфигурация XML:

 
  
    
      
    
  

В следующем примере показана XML-конфигурация источника http:listener в потоке:

 
  
  
 

Для доступа к атрибутам прослушивателя HTTP используйте синтаксис DataWeave, как показано в следующей таблице:

Объект HTTP Механизм выполнения Mule 3. x Двигатель среды выполнения Mule 4.x

Метод

#[inboundProperties.’http.method’]

#[атрибуты.метод]

#[inboundProperties.'http.listener.path']

#[атрибуты.listenerPath]

Относительный путь

#[inboundProperties.'http.relative.path']

#[attributes.relativePath]

URI запроса

#[inboundProperties.’http.request.uri’]

#[атрибуты.requestUri]

Строка запроса

#[inboundProperties.’http.query.string’]

#[атрибуты.queryString]

Параметры запроса

#[inboundProperties. ’http.query.params’]

#[атрибуты.queryParams]

Параметры URI

#[inboundProperties.’http.uri.params’]

#[атрибуты.uriParams]

Версия

#[inboundProperties.’http.version’]

#[атрибуты.версия]

Схема

#[inboundProperties.’http.scheme’]

#[атрибуты.схема]

Заголовки

#[inboundProperties]

#[атрибуты.заголовки]

Удаленный адрес

#[inboundProperties.’http.remote.address’]

#[атрибуты.remoteAddress]

Сертификат клиента

#[inboundProperties. ’http.client.cert’]

#[атрибуты.clientCertificate]

Пример конфигурации HTTP-запроса XML

Родительский элемент http:request-config организует элементы соединения запроса внутри дочернего элемента элемент http:request-connection . В следующем примере показана конфигурация XML:

 
  
    
      
    
    
      

В следующем примере показана XML-конфигурация операции http:request в потоке:

 
   
 

HTTP-запрос возвращает HttpResponseAttributes . Для доступа к атрибутам HTTP-запроса используйте синтаксис DataWeave, как показано в следующей таблице:

Объект HTTP Механизм выполнения Mule 3.x Двигатель среды выполнения Mule 4.x

Код состояния

#[inboundProperties.’http.status]

#[attributes.statusCode]

Фраза причины

#[inboundProperties.’http.reason’]

#[attributes.reasonPhrase]

Заголовки

#[inboundProperties]

#[атрибуты.заголовки]

В следующем примере показана XML-конфигурация операции http:load-static-resource в потоке:

html"/>

Пример XML-конфигурации HTTP Basic Security Filter

В следующем примере показана XML-конфигурация операции http:basic-security-filter в потоке:

 
   
   
   

HTTP-запрос, ответ и тело ответа об ошибке XML, пример

Определение тела HTTP-запроса, ответа и ответа об ошибке необязательно. Если вы явно не определяете элемент body, запрос или ответ возвращает полезные данные по умолчанию.

В следующем примере показана XML-конфигурация операции http:request , которая определяет пользовательское тело , ключ/значение параметр запроса , заголовок X-Custom и uri-params с переменной uriParamsMap , которая заполняет параметр URI uriParam :

 
   
       #['Пользовательское тело']
   
#[{'X-Custom' : 'Custom'}] #[uriParamsMap] #[{'ключ'' : 'значение''}]

В следующем примере показана конфигурация XML для источник http:listener , в котором отсутствует определенный элемент body . Возвращаемое значение является полезной нагрузкой по умолчанию. Полезная нагрузка определяет http:response на успешное выполнение, состоящее из 200

statusCode и Ok как ReasonPhrase с заголовками Name 900 08 как содержание и Что-то как someValue :

 
   
       
           #[{"Имя" : "контент", "Что-то" : какое-то значение}]
       
   
 

В следующем примере показана XML-конфигурация источника http:listener , который определяет ответ на сбой выполнения, который возвращает 502 statusCode и Failure

как ReasonPhrase с заголовком . с Ошибка как FIRE и body как К сожалению, что-то не так :

   
       
           #['Ой, что-то не так']
       
       
           #[{"Ошибка" : "ПОЖАР"}]
       
   
 

См.

также
  • Ссылка на HTTP-коннектор

XML межмашинный протокол, управляющий интеллектуальными сокетами NETIO

XML означает расширяемый язык разметки. Это язык, который использует теги в определенной структуре. XML предназначен для файлов данных; в первую очередь для обмена данными между приложениями и для публикации документов, где он используется для описания структуры содержимого отдельно от внешнего вида.

Структура XML используется, например, в форматах файлов MS Excel и MS Word.

Структура данных XML может быть передана в текстовом файле (обычное расширение .xml).

 

В контексте продуктов NETIO

продукты NETIO используют структуру XML для чтения и записи в качестве одного из REST API. Этот API можно рассматривать как передачу текстового файла netio.xml по http(s) в любом направлении. Чтение (загрузка) файла служит для определения состояния устройства и получения измеренных значений. Записав (загрузив) файл, можно изменить состояния вывода. Не обязательно переносить всю конструкцию; для переключения одного выхода достаточно передать всего одну группу тегов.

Имя пользователя и пароль (для чтения или для чтения+записи) передаются в стандартном заголовке http (или https). Поэтому пароли не содержатся в файле netio.xml.

XML через HTTP(s) является одним из предпочтительных протоколов REST API, поскольку он построен на основе http. Протоколы M2M API, основанные на http, как правило, являются наиболее надежными в отношении корпоративных ИТ-сред, механизмов безопасности, заблокированных портов и т. д.

 

Как работает протокол NETIO XML

  1. Состояние устройства (розетки ВКЛ/ВЫКЛ + потребление электроэнергии) можно прочитать как файл http://device-IP/ netio.xml по IP-адресу устройства. Файл netio.xml можно загрузить, а содержащуюся в нем структуру данных можно отобразить с помощью веб-браузера.
     
  2. Выходы управляются по протоколу XML путем загрузки файла netio.xml на устройство с помощью http(s) post.
     
  3. Чтобы опробовать XML API, конечные пользователи могут использовать различные инструменты и утилиты (например, cURL). Для тестирования XML M2M API пользователи NETIO могут воспользоваться преимуществами Инструмент загрузки файлов по HTTP(s) в веб-интерфейсе. Подробное описание см. в AN20 .

 

Интеграция с использованием XML M2M API

При профессиональной интеграции XML-данные отправляются в виде потока данных с точкой доступа /netio.xml вместо передачи текстовых файлов. В реализации NETIO протокола REST XML одно и то же соединение TCP/IP с http-сервером в устройстве может использоваться для записи на устройство, а затем для чтения обновленных состояний вывода.