wso2 esb json в json отсутствует преобразование двойных кавычек

У меня проблема с преобразованием json в json в wso2 esb, на самом деле я использую фабрику полезной нагрузки в прокси и вызываю прокси с содержимым rest и json. Вот мой поток интеграции: я вызываю прокси-сервер, и прокси-сервер отправляет запрос (с содержимым json) в хранилище сообщений jms, затем я определил обработчик сообщений для приема сообщений из хранилища сообщений и отправки их в определенную конечную точку (.net web апи). но проблема в том, что строки с числами автоматически преобразуются в целые элементы: "orderId": 10000 (я хочу, чтобы это была строка "orderId": "10000"), но когда я отправляю запрос напрямую с прокси-сервера на мою конечную точку (без с помощью брокера сообщений) он работает правильно. Не могли бы вы помочь мне решить эту проблему?


person Farzam Vatanzadeh    schedule 11.07.2016    source источник


Ответы (3)


Для получения более подробной информации см. >мой вопрос с более подробной информацией по этой проблеме, и похоже, что это ошибка в wso2 esb 4.9.0 wso2 jira

person Farzam Vatanzadeh    schedule 12.07.2016

Для вашей проблемы необходимо изменить форматировщики сообщений JSON. пожалуйста, выполните следующие шаги для этого.

  • измените свой рабочий каталог на [ESB Home]/repository/conf/axis2/axis2.xml

  • тогда вам нужно изменить форматировщики сообщений JSON вместо JsonStreamFormatter, используя org.apache.axis2.json.JSONMessageFormatter.

  <!--messageFormatter contentType="application/json"                                class="org.apache.synapse.commons.json.JsonStreamFormatter"/-->
    <messageFormatter contentType="application/json"
                              class="org.apache.axis2.json.JSONStreamFormatter"/>
person dneranjan    schedule 11.07.2016

Вы можете использовать следующий конструктор и средство форматирования в axis2.xml

org.apache.synapse.commons.json.JsonStreamBuilder
org.apache.synapse.commons.json.JsonStreamFormatter

Удалите существующий построитель и средство форматирования для «application/json» и добавьте следующее.

Добавить в раздел Formers

<messageFormatter contentType="application/json"
                          class="org.apache.synapse.commons.json.JsonStreamFormatter"/>

Добавить в раздел Строители

 <messageBuilder contentType="application/json"
                            class="org.apache.synapse.commons.json.JsonStreamBuilder"/>
person krishan    schedule 11.07.2016
comment
Я делал это раньше, но ничего не происходит, не могли бы вы взглянуть на мой новый вопрос , я объяснил свою проблему гораздо подробнее. спасибо - person Farzam Vatanzadeh; 12.07.2016