在wso2 esb中,如何将text/html转换为application/json
在wso2 esb中,我得到的响应是在wso2 esb中,如何将text/html转换为application/json,wso2,wso2esb,Wso2,Wso2esb,在wso2 esb中,我得到的响应是 {"success":true,"data":"1234"} 标题为text/html,因此我尝试使用 <property name="messageType" scope="axis2" type="STRING" value="application/json"/> <property name="ContentType" scope="axis2" type="STRING" value="application/json"/>
{"success":true,"data":"1234"}
标题为text/html,因此我尝试使用
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
<property name="ContentType" scope="axis2" type="STRING" value="application/json"/>
因此,当wso2 ESB message builder for text/html在处理过程中将文本转换为二进制格式时,如何获取json数据 我这样解决了这个问题
{
"binary": "eyJzdWNjZXNzIjp0cnVlLCJkYXRhIjoie1wicmF0ZV9oclwiOjIwLFwicmV2ZW51ZVwiOjEwMCxcIm5leHRfZGF5X3ByZWRpY3RlZFwiOjEwMH0ifQ=="
}
步骤1->获取有效载荷。
脚本中介程序:
<script language="js"><![CDATA[var temp = mc.getPayloadXML();
mc.setProperty("RESPONSE", temp);]]></script>
<property expression="base64Decode(get-property('RESPONSE'))"
name="DecodeBody" scope="default" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<script language="groovy"><![CDATA[
import groovy.json.*;
String s=mc.getProperty("DecodeBody");
def processed = new JsonSlurper().parseText(s.toString());
mc.setPayloadJSON(JsonOutput.toJson(processed));
]]></script>
步骤2->将二进制文件转换为字符串。
财产调解人:
<script language="js"><![CDATA[var temp = mc.getPayloadXML();
mc.setProperty("RESPONSE", temp);]]></script>
<property expression="base64Decode(get-property('RESPONSE'))"
name="DecodeBody" scope="default" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<script language="groovy"><![CDATA[
import groovy.json.*;
String s=mc.getProperty("DecodeBody");
def processed = new JsonSlurper().parseText(s.toString());
mc.setPayloadJSON(JsonOutput.toJson(processed));
]]></script>
步骤3->字符串到JSON
脚本中介程序:
<script language="js"><![CDATA[var temp = mc.getPayloadXML();
mc.setProperty("RESPONSE", temp);]]></script>
<property expression="base64Decode(get-property('RESPONSE'))"
name="DecodeBody" scope="default" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<script language="groovy"><![CDATA[
import groovy.json.*;
String s=mc.getProperty("DecodeBody");
def processed = new JsonSlurper().parseText(s.toString());
mc.setPayloadJSON(JsonOutput.toJson(processed));
]]></script>
是否为application/json启用了相关的消息生成器?