я имел такое же требование и после того, как много исследуя под капотом был в состоянии найти приемлемое решение.
Причина установки свойства:
mc.setProperty('HTTP_SC', "404");
не работает в том, что имущество должно быть установлено в объеме axis2 (как сказал Abimaran). mc.setProperty не устанавливает его в этой области. Кроме того, объект MessageContext не предоставляет способ установки области.
Действие «Развернуть как прототип» фактически создает файл определения API, объединяя указанный встроенный скрипт в шаблон скорости и сохраняя полученное определение API в файл.
- Шаблон: ./repository/resources/api_templates/prototype_template.xml
- Выход местоположение: хранилище/разворачивание/сервер/синапс-конфиги/по умолчанию/API/
Выходной файл будет иметь имя в формате:
поставщик - API Name-vVERSION.xml
где появляется поставщик быть имя пользователя из API создателя.
Что я сделал добавить фильтр к шаблону:
<filter source="boolean(get-property('HTTP_SC'))" regex="false">
<then>
<property name="HTTP_SC" value="200" scope="axis2"/>
</then>
<else>
<property name="HTTP_SC" expression="get-property('HTTP_SC')" scope="axis2"/>
</else>
</filter>
Я добавил его сразу после аналогичного блока (для обработки CONTENT_TYPE) в начале элемента inSequence.