0

使用 wso2esb 4.7.0,我部署了以下服务来执行代理并公开从不同服务器获取的相同 json:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="crmws"
       transports="http"
       statistics="enable"
       trace="enable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="messageType" value="text/xml" scope="axis2"/>
         <cache id="c1"
                scope="per-host"
                collector="false"
                hashGenerator="org.wso2.caching.digest.DOMHASHGenerator"
                timeout="6"
                maxMessageSize="10000">
            <implementation type="memory" maxSize="10000"/>
         </cache>
         <send>
            <endpoint>
               <address uri="http://crm/backoffice/webservice.php" format="rest">
                  <timeout>
                     <duration>3000</duration>
                     <responseAction>fault</responseAction>
                  </timeout>
               </address>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"/>
         <property name="messageType" value="application/json" scope="axis2"/>
         <cache id="c1" scope="per-host" collector="true"/>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

然后我尝试实现一些缓存功能,但即使第一次连接顺利,当我点击缓存时,我得到一个带有 text/xml 内容类型的空答案。

更新 20131204 我在 4.8.0 发布后重试,然后启用缓存,当我点击缓存时,我在 xml 中获得了我的 json 的完整表示

有谁知道我必须在哪里解决这个问题?问候,

4

1 回答 1

0

尝试在您的序列中添加以下属性。

例如:

 <inSequence>
     <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
---------------------------
于 2013-09-11T02:03:53.893 回答