Во-первых, при использовании разрешающей конечной точки (с помощью ключевого выражения) мы не можем дать URL-адрес напрямую [1] . Мы должны заранее определить конечную точку и дать только ключ конечной точки в полезной нагрузке.
Во-вторых, чтобы ключевое выражение анализировало xpath, сообщение должно быть создано заранее. Поскольку посредник вызовов не осведомлен о содержимом, он не будет создавать сообщение. Поэтому мы должны использовать контент-зависимый посредник для создания сообщения.
Ниже приведен пример последовательности, который будет работать.
<inSequence>
<log level="full"/>
<call>
<endpoint key-expression="//a"/>
</call>
<respond/>
</inSequence>
Теперь полезная нагрузка должна быть такой, как
<root>
<a>testEndpoint</a>
</root>
Изменить:
Конечная точка с именем 'testEndpoint' должна быть определена с URL-адресом бэкэнда.
Вам необходимо определить конечную точку [2] . Например, я использую конечную точку адреса .
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="testEndpoint">
<address uri="http://www.mocky.io/v2/5ca6db71340000132f76b192">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
</address>
</endpoint>