Использование кеша с сервисами json\rest в wso2esb
С 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 и затем, включив кеш, я получаю полное представление моего json в xml, когда я нажимаю на кеш
Кто-нибудь знает, где я должен искать, чтобы решить эту проблему? С уважением,
1 ответ
Попробуйте добавить следующее свойство в вашей последовательности.
например:
<inSequence>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
---------------------------