在这种情况下,我怎样才能获得" MyString" WSO2响应中的内容?
请求:
<payloadFactory media-type="json">
<format>{
"Name" : "$1",
"group": "$3"
}
</format>
<args>
<arg evaluator="xml" expression="$ctx:Name"/>
<arg evaluator="xml" expression="$ctx:group"/>
</args>
</payloadFactory>
<call>
<endpoint key="ep_Server"/>
</call>
响应:
Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">{"MyString":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsIlN5c3RlbUlkIjoyMSwiUHJvcGVydHlJZCI6OSwiSXNBZG1pbiI6ZmFsc2UsIkNyZWF0ZURhdGVUaW1lIjoiMjAxNy0xMS0wOFQxMDoyMjoxMi45MDA3MjE4KzA4OjAwIn0.k6FyUGwXOAeC63oGsPWz8ttwo1LeDG3vnTbw7dJ18GY"}</text></soapenv:Body></soapenv:Envelope>
答案 0 :(得分:1)
试试这个。
<log>
<property name="MyString" expression="json-eval($.MyString)"></property>
</log>
答案 1 :(得分:0)
在你的情况下,输出不是json它包含文本的xml,通常它表示你正在使用text / plain类型,我认为问题就在那里。 此外,您的输出与您的示例代码不匹配 您可以尝试在通话前提出以下信息:
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
您正在呼叫的服务正在返回的内容类型是什么?有效吗?如果不是,那么wso2 ei默认是考虑它的文本