如何在WSO2 Integration Studio中访问application/vnd.oracle.adf.resourceitem+json响应字段?
处理application/vnd.oracle.adf.resourceitem+json格式响应的字段提取方案
步骤1:强制将响应识别为JSON
WSO2 Integration Studio默认仅对application/json类型内容自动解析为JSON结构,对于application/vnd.oracle.adf.resourceitem+json这类自定义JSON媒体类型,需手动指定消息类型,让后续JSON表达式正常工作。
在Sequence或API流程中添加Property Mediator,设置参数:
- Property Name:
messageType - Value:
application/json - Scope:
axis2
此操作会让WSO2将目标响应当作标准JSON解析,后续即可用熟悉的json-eval()表达式访问字段。
步骤2:提取字段并保存为属性
假设Oracle ADF API响应结构示例如下:
{ "Products": { "productId": "P1001", "productName": "Wireless Headphones", "price": 199.99 }, "links": [...] }
使用Property Mediator结合json-eval()提取字段,比如提取productName并保存为属性:
- Property Name:
productName - Value:
json-eval($.Products.productName) - Scope:
default(可根据需求选择axis2/transport)
嵌套字段的提取语法与标准JSON路径一致,例如json-eval($.Products.details.stockQuantity);若字段名含特殊字符,需用引号包裹,比如json-eval($.Products['product-name'])。
步骤3:验证提取结果
添加Log Mediator,设置Log Level为INFO,在Log Message中引用保存的属性,示例:
Extracted Product Name: {get-property('productName')}
运行流程后查看日志,确认字段是否正确提取。
额外注意事项
- 若API响应根结构为数组(如
[{"Products": {...}}, ...]),路径需调整为json-eval($[0].Products.productName)来访问第一个元素的字段。
内容的提问来源于stack exchange,提问作者Rayan
相关产品推荐
相关产品推荐

