ESB で共有したい静的ファイル (HTML ファイル、画像ファイル、純粋なデータ ファイル (.csv や .xls など) など) がいくつかあります。ESB を介してこれらの要求を受信する別の HTTP サーバーを実行すれば、これを実現できます。代わりに、ESB 自体で処理するのが好きです。着信要求 URL (たとえば、HTTP GET 要求 - http://myesb.com:8280/getstatus.html ) に基づいて、これらの静的ファイルをローカル サーバーのフォルダーから取得します。
VFS メソッドを試してみましたが、不要な「更新」メカニズムが組み込まれているようです。クライアントが要求している場合にのみ、これらのデータを「取得」したいと考えています。
要するに、私は次のように単純なマッピングを行うのが好きです:
http://myesb.com:8280/getstatus.htmlは /var/myapp/status/appstatus.html ファイルの内容を取得します。
更新 私は次のシーケンスを行いました-それを機能させる方法がわかりません:(
<sequence xmlns="http://ws.apache.org/ns/synapse" name="app1status">
<in>
<log level="custom">
<property name="Reached app1status page - in" value="app1 Status"/>
<property name="transport.vfs.ContentType" value="text/html"/>
<property xmlns:ns="http://org.apache.synapse/xsd" name="TRPURL:" expression="get-property('From')"/>
</log>
<property name="transport.vfs.FileURI" value="vfs:file:///opt/platform/traffic/app1status1.html" scope="transport" type="STRING"/>
<property name="HTTP_METHOD" value="GET"/>
<property name="ClientApiNonBlocking" action="remove" scope="axis2"/>
<header name="To" action="remove"/>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
</in>
<out>
<log level="custom">
<property name="::::::Out:::::Reached app1status" value=" From OUT"/>
<property name="messageType" value="text/html"/>
<property name="ContentType" value="text/html"/>
</log>
<send/>
</out>
</sequence>
<in>
メディエータでは、次の点に注意してください。
<property name="transport.vfs.FileURI" value="vfs:file:///opt/platform/traffic/app1status1.html" scope="transport" type="STRING"/>
私の意図は、ファイル appstatus1.html のコンテンツを取得して、応答として送り返すことです。しかし、コンテンツを取得して「RESPONSE」に追加することはできません
それができる方法を教えてください。
御時間ありがとうございます。