如何在 WSO2 ESB 中获得响应 body
How can I get the response body in WSO2 ESB
WSO2 ESB中这样的响应格式:
<testresponse xmlns="http://abcd/service">
<cookie>yummy</cookie>
<product>YM11</product>
<place>US</place>
</testresponse >
但是我只想要body,我该怎么办?
<cookie>yummy</cookie>
<product>YM11</product>
<place>US</place>
目标是将 xml 转换为 JSON object,如下所示
{
"cookie": "yummy",
"product": "YM11",
"place": "US"
}
您可以使用 payloadFactory
<payloadFactory media-type="xml">
<format>
<jsonObject>
<cookie></cookie>
<product></product>
<place></place>
</jsonObject>
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
但如前所述,您需要一个封闭元素,否则您的 xml 将根本无效。如果目标是输出 Json,则此元素应称为 jsonObject(在此处查找更多信息:https://docs.wso2.com/display/EI600/JSON+Support)。
如果您不需要 XML,最好的方法是直接构建您的 json 对象
<payloadFactory media-type="json">
<format>
{
"cookie": ,
"product": ,
"place":
}
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
WSO2 ESB中这样的响应格式:
<testresponse xmlns="http://abcd/service">
<cookie>yummy</cookie>
<product>YM11</product>
<place>US</place>
</testresponse >
但是我只想要body,我该怎么办?
<cookie>yummy</cookie>
<product>YM11</product>
<place>US</place>
目标是将 xml 转换为 JSON object,如下所示
{
"cookie": "yummy",
"product": "YM11",
"place": "US"
}
您可以使用 payloadFactory
<payloadFactory media-type="xml">
<format>
<jsonObject>
<cookie></cookie>
<product></product>
<place></place>
</jsonObject>
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>
但如前所述,您需要一个封闭元素,否则您的 xml 将根本无效。如果目标是输出 Json,则此元素应称为 jsonObject(在此处查找更多信息:https://docs.wso2.com/display/EI600/JSON+Support)。
如果您不需要 XML,最好的方法是直接构建您的 json 对象
<payloadFactory media-type="json">
<format>
{
"cookie": ,
"product": ,
"place":
}
</format>
<args>
<arg evaluator="xml" expression="//cookie"/>
<arg evaluator="xml" expression="//product"/>
<arg evaluator="xml" expression="//place"/>
</args>
</payloadFactory>