2016-01-12 116 views
0

我在WSO2 API管理器中使用內嵌JavaScript原型功能,並試圖設置不同的HTTP響應狀態。這可能嗎?如果是這樣怎麼辦?WSO2 API管理器原型API HTTP響應狀態

到目前爲止,我已經嘗試設置HTTP_SC屬性,但這似乎沒有任何效果。 mc.setProperty('HTTP_SC', "404");

回答

0

我有同樣的要求,後引擎蓋下多探索能夠找到一個可行的解決方案,以添加以下屬性。

之所以設置該屬性:

mc.setProperty('HTTP_SC', "404"); 

沒有工作是屬性需要在Axis2的範圍進行設定(如Abimaran說的)。 mc.setProperty不會將其設置在該範圍內。此外,MessageContext對象不提供設置範圍的方法。

「部署爲原型」操作實際上是通過將指定的內嵌腳本合併到速度模板並將生成的API定義存儲到文件中來創建API定義文件。

  • 模板:./repository/resources/api_templates/prototype_template.xml
  • 輸出位置:倉庫/部署/服務器/突觸CONFIGS /默認/ API/

輸出文件將有在格式名稱:

提供商 - API名稱 - 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中元素的開始。

0

您需要<send/>中介

<header name="To" action="remove"/> 
<property name="RESPONSE" value="true"/> 
<property name="HTTP_SC" value="403" scope="axis2"/>