在 WSO2 中读取纯文本响应

Reading plain text response in WSO2

我是WSO2的新蜜蜂。我正在使用 wso2esb-4.7.0。我想做的是这个 (a) 呼叫休息服务。其余服务的输入是XML。我已经创建了一个代理,我正在使用 tryIT UI 传递输入 XML (2) 来自 rest 服务的示例响应是 [1234],我需要从中提取字符串 1234 并分配给一个变量以供进一步处理。 我的 TCP 监视器显示正确的响应来自后端休息服务。我尝试了各种选项来读取响应和提取字符串,但运气不佳。

此外,tryIt UI 将响应显示为 SomeJunkValue 现在定义

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="testUpdateSubstanceProxy"
       transports="http"
       statistics="enable"
       trace="enable"
       startOnLoad="true">
   <target inSequence="callUpdateSubstanceURISequnec">
      <outSequence>
         <property name="messageType" value="text/plain" scope="axis2"/>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

<sequence xmlns="http://ws.apache.org/ns/synapse" name="callUpdateSubstanceURISequnec" onError="fault" trace="enable">
   <property name="messageType" value="text/plain" scope="axis2"/>
   <send receive="gov:/receiveSubstanceIdSequnce">
      <endpoint key="gov:/CallUpdateURISubstanceAddressPoint"/>
   </send>
</sequence>

<sequence name="receiveSubstanceIdSequnce" xmlns="http://ws.apache.org/ns/synapse">
   <send/>
  <!--  A sample response is [1234]. How do I extract 1234 from the response and assign it to a variable-->   
</sequence>

<endpoint xmlns="http://ws.apache.org/ns/synapse">
   <address uri="http://localhost:7014/ourURL" format="pox">
      <suspendOnFailure>
         <progressionFactor>1.0</progressionFactor>
      </suspendOnFailure>
      <markForSuspension>
         <retriesBeforeSuspension>0</retriesBeforeSuspension>
         <retryDelay>0</retryDelay>
      </markForSuspension>
   </address>
</endpoint>

尝试使用

  <property xmlns:m0="http://ws.apache.org/commons/ns/payload"
                      name="payload"
                      expression="$body/m0:text"/>

这会将文本内容读取到名为 payload

的 属性

我最终写了 class 调解器来处理这个问题。想知道有没有更好的