Json 如何在WSO2 ESB中获取响应主体
WSO2 ESB中的响应格式如下:Json 如何在WSO2 ESB中获取响应主体,json,wso2esb,wso2ei,Json,Wso2esb,Wso2ei,WSO2 ESB中的响应格式如下: <testresponse xmlns="http://abcd/service"> <cookie>yummy</cookie> <product>YM11</product> <place>US</place> </testresponse > 您可以使用payloadFactory <payloadFactory media-
<testresponse xmlns="http://abcd/service">
<cookie>yummy</cookie>
<product>YM11</product>
<place>US</place>
</testresponse >
您可以使用payloadFactory
<payloadFactory media-type="xml">
<format>
<jsonObject>
<cookie>$1</cookie>
<product>$2</product>
<place>$3</place>
</jsonObject>
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
$1
$2
$3
)
如果不需要XML,最好的方法是直接构建json对象
<payloadFactory media-type="json">
<format>
{
"cookie": $1,
"product": $2,
"place": $3
}
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
{
“饼干”:$1,
“产品”:$2,
“地点”:$3
}
yummy YM11 US无效,您需要一个“容器”我已经更改了有效负载,但响应是相同的。。。。因为响应元素无法删除。如果我删除response元素,有效负载将如下更改,产品和位置将删除:$1这正是我最初回答的内容,因为您的xml无效,您无法实现这一点,您需要一个封闭元素。我知道您的意思是响应元素必须包含在payloadFactory中。但我希望我可以删除响应元素…你对WSO2有什么想法吗?因为我想删除xml响应元素并切换json格式,下面是我的示例:原始格式:{“response”:{“cookie”:yummy,“product”:“YM11”,“place”:US,}}我希望我可以得到这样的json格式:{“cookie”:yummy,“product”:“YM11”,“place”:US,}谢谢。那么我明白你想要什么了,你应该直接解释一下。。。我已经用两种解决方案编辑了我的答案,它们可以满足您的需要
<payloadFactory media-type="xml">
<format>
<jsonObject>
<cookie>$1</cookie>
<product>$2</product>
<place>$3</place>
</jsonObject>
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
<payloadFactory media-type="json">
<format>
{
"cookie": $1,
"product": $2,
"place": $3
}
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>