У меня есть рабочий процесс, который выбирает список книг на основе прогнозируемой стоимости продажи R 5000.00, где автором является «Siko Luyanda». При тестировании запроса, который я создал, он возвращает мне 2 записи. Мой рабочий процесс возвращает те же записи, ну и счастливы.
Я использовал узел Formatter для создания sql-запроса, который передается моему ODBC-узлу с момента запроса MySQl Server. На панели содержимого рабочего процесса для HTTP-метода endppoint установлено значение GET. Вызов моего рабочего процесса с помощью php через вызов API работает нормально:
$results = invokeFlowgear("https://domain.flowgear.io/authorbooksaleslist", , "login", "pwd", 30,array());
Полученный результат — это то, что я получаю из консоли рабочего процесса и самой базы данных, я счастлив.
Однако в ту минуту, когда я изменяю свою конечную точку для использования POST, мой запрос не выполняется. Возьмем, к примеру, HTML-форму, которая использует метод POST, чтобы скрыть публикуемые поля.
В этот момент я получаю исключение, которое говорит: «Служба недоступна», если я устанавливаю свою конечную точку для публикации в качестве метода, что означает, что я не могу выполнить запрос «POST-SELECT» через рабочий процесс и вызов API. Ниже показано, как я вызываю рабочий процесс с переменными переменными бара в качестве полей публикации.
$results = invokeFlowgear("https://domain.flowgear.io/authorbooksaleslist", "login", "pwd", 30,
array(
'salesValue' => 5000.00,
'authorId' => 3
));
Значения в массиве — это то, что я хочу передать внутри узла Formatter, прежде чем результаты будут отправлены на узел ODBC. В конце концов я должен получить свои результаты в списке обратно.
Можно ли когда-либо иметь конечную точку HTTP POSt, передавать значения через API для SQL-запроса, который будет выполняться в базе данных, и предоставлять результаты в зависимости от того, какой путь я выберу?
Идея состоит в том, что на каком-то этапе мы захотим получить конфиденциальную информацию, даже если мы просто хотим выбрать информацию из базы данных.
Ваш HTTP-метод в рабочем процессе должен быть установлен на POST, если вы вызываете конечную точку методом POST.
Flowgear будет заполнять переменные в панели переменных только в том случае, если тело запроса представляет собой одноуровневую полезную нагрузку JSON, представляющую собой простую пару ключ-значение.
Если вы используете другую форму сообщения, вы можете получить доступ к телу сообщения через специальное свойство Variable Bar FgRequestBody.
Надеюсь это поможет.
Других решений пока нет …