XPages Как обрабатывать входящее сообщение FORM POST PunchOutOrderMessage (POOM)

Я настраиваю сторону решения PunchOut.

https://punchoutcommerce.com/guides/punchout/cxml-punchout-setup-request/

Все работает нормально до фактического «Cart-PunchOut». (Создание PunchOutReguest, перенаправление в интернет-магазин продавцов, совершение покупок работает нормально) В моем PORequest есть URL-адрес, на который будет перенаправлен пользователь при нажатии «PunchOut Cart». В соответствии с реализацией продавец выполняет FORM POST с файлом cXML в скрытом поле ввода, например: https://punchoutcommerce.com/guides/punchout/cxml-punchout-order-message/#cart_transmission.

На моем postBack xPage я попробовал несколько разных решений, чтобы получить дескриптор HTML-кода FORM POST и обработать его в моем Java-компоненте. Но, кажется, ничего не работает!

Может ли кто-нибудь указать мне правильное направление, как обрабатывать входящую HTML-ФОРМУ POST на моем xPage?

Моя проблема НЕ в том, как декодировать строку cxml-base64 в моем bean-компоненте, моя проблема в том, как вообще получить данные формы в моем xPage и заполнить/создать экземпляр моего JavaBean, предпочтительно через ServerSideJavaScript.

После еще некоторого копания, чтобы убедиться, что я действительно получаю что-то взамен, я ясно вижу это в chrome DevTools Network Inspector:

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы сможете получить доступ к полям формы, используя метод getRequestParameterValuesMap() на ExternalContext.

ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
Map<String, String[]> inputFieldMap = ec.getRequestParameterValuesMap();

Я использую это в приложении, где поля формы берутся из формы, не созданной самим XPages.

Если вы хотите получить доступ к полям формы с помощью SSJS, посмотрите этот ответ.

Другие вопросы по теме