2016-04-19 4 views
1

Я создал API в WSO2 ESB (4.8.1), и я хотел отправить запрос PUT этому API с телом запроса. Я пробовал с sample , и мне захотелось записать значения свойств в результате определенного API.Невозможно прочитать параметры тела запроса JSON в wso2 ESB как api

Это мое тело запроса:

request body (JSON)

Это так, как я пытался войти название места:

XML log

Но я получаю сообщение об ошибке, как это :

(ОШИБКА - SynapseJsonPath #stringValue Из. Ошибка при оценке пути JSON. Возврат пустого результата. Ошибка >>> неверный путь)

error screenshot

Так как я могу читать эти значения?

+0

Поскольку изображения, которые вы разместили, отображают только текст, вероятно, вы должны отредактировать свой вопрос, включив в него фактический текст, чтобы как запрос, так и ошибки стали доступны для поиска. – dakab

+0

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

+0

, можете ли вы подтвердить, что $. распечатать в журнале полную полезную нагрузку JSON? –

ответ

3

Для достижения ваших потребностей, вы должны отправить "Content-Type" заголовок HTTP с запросом, как показано ниже,

"Content-Type : application/json" 

enter image description here

Затем вы можете войти в конкретный элемент JSON, как показано ниже.

<log> 
    <property name="location" expression="json-eval($.coordinates.location[0].name)"></property> 
</log> 

Затем вы можете увидеть следующее бревно,

enter image description here

Спасибо.

+0

его работая отлично. Благодарю. –

0
If you want to get single variable from user in json request you can use this code 


Use This json: 
    { 

    "namee":"UsmanYaqooooooooooob" 
    } 


Api Code: 
     <api xmlns="http://ws.apache.org/ns/synapse" name="Hello" context="/hello"> 
      <resource methods="POST" uri-template="/post"> 
       <inSequence> 
       <log level="custom"> 
        <property name="===========inSequence" value="****"></property> 
        <property name="locationsssssssss" expression="json-eval(.namee)"></property> 
       </log> 
       <payloadFactory media-type="json"> 
        <format>{"hello":"world"}</format> 
        <args></args> 
       </payloadFactory> 
       <property name="messageType" value="text/xml"></property> 
       <respond></respond> 
       </inSequence> 
      </resource> 
     </api> 

 Смежные вопросы

  • Нет связанных вопросов^_^