как обращаться с кодом ответа http-коннектора - PullRequest
2 голосов
/ 09 марта 2019

В настоящее время в mule у меня есть процесс потока, который устанавливает http-соединение сasticsearch. Мы используем API прокрутки и все соединения в порядке. Я пытаюсь создать поток для обработки 404 status code, который будет возвращен в случае истечения срока действия scroll_id по запросу. На данный момент я добавил код 404 в раздел дополнительных настроек для раздела "Failure Status Code Validator" на коннекторе http. Что я хочу сделать, так это то, что когда 404 возвращается из этого конкретного http-вызова (что, как мы знаем, связано с истечением срока действия scroll_id), мы делаем еще один http-вызов на другой шлюз. Поэтому, когда 404, сделайте еще один http-вызов для отдельной ссылки.

Спасибо заранее. Я все еще изучаю XML-код, но если у вас есть опыт работы с GUI в любой точке студии, это было бы чрезвычайно полезно.

1 Ответ

1 голос
/ 11 марта 2019

Я сделал это, установив success status code validator на вкладке «Дополнительно» http-коннектора.

Перед установкой этого значения при получении 404 mulesoft вызовет исключение по умолчанию для кода ошибки 4xx. В настоящее время я до сих пор не могу понять, как это переопределить или установить что-то дополнительное, и это может быть связано с этим конкретным проектом, который я беру на себя. Однако в разделе валидатора кода успеха я установил значения 200,404, что говорит о том, что коды состояния 200 и 404 могут передаваться следующему компоненту в потоке. По умолчанию, если вы не установили 404, mulesoft снова выдаст встроенное сообщение об ошибке по умолчанию для кода состояния 404. Поэтому, поскольку я говорю mulesoft, что с этим нужно обращаться, я могу перейти к следующему компоненту в моем проекте. В следующем потоке сразу после исходящего http-вызова во внешнюю службу отдыха у меня есть choice-component, который оценивает, каков код состояния http-вызова. Чтобы сделать это, вы можете использовать это: #[message.inboundProperties.'http.status' == '404'] что говорит, используйте этот конкретный путь потока, если код состояния 404, иначе используйте путь по умолчанию.

enter image description here

...