text/htmlを返さなければならないGETRESTWebサービス(Rest API)を構築しました。シーケンス内には、Webページ( http://www.mypage.comなど)を呼び出し、その内容をString変数に取り込むメディエーターがあります。
その後、コンテンツ内の文字列をいくつか置き換えて、text/htmlとしてクライアントに送り返す必要があります。
問題は、ページに戻したときに、esbがすべて<html>
のタグと他のタグを<html>
タグに置き換えたことです。したがって、Webブラウザはhtmlページをレンダリングせず、ページ自体にタグを書き込むだけです。
主なアイデアは、サーブレットへのプロキシのように機能することです。ここで、サーブレットを呼び出し、応答を取得し、取得したde htmlおよびjavascript内で文字列を置換して、クライアントに送信します。
シーケンスxmlは次のとおりです。
<resource methods="GET" uri-template="/view">
<inSequence>
<log level="full"/>
<header name="To" action="remove"/>
<property name="URL" value="http://www.mypage.com"/>
<sequence key="MyMediator"/>
<property name="RESPONSE" value="true"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<property name="ContentType" value="text/html" scope="axis2"/>
<enrich>
<source type="property" clone="true" property="RESPONSE_MSG"/>
<target type="body"/>
</enrich>
<send/>
</inSequence>
そこで、htmlを含む文字列変数(JavaクラスであるメディエーターMyMediatorから取得し、Webページwww.mypage.comを呼び出します)をプロパティ'RESPONSE_MSG'に入れて、それを本文に書き込もうとします(エンリッチ) 。
この場合、設定したプロパティがXMLではなく文字列であるため、エラーが発生します。
エンリッチの代わりにpayloadFactoryを使用すると、XMLが生成され、。でhtmlタグが取得されます<html>
。
<
メディエーターから文字列変数を送信でき、文字列内のすべてのhtmlタグがとに置き換えられるxmlに変換されない効果的な方法を知りたい>
です。または、上記のコードのようにエラーなしで送信できます。プロパティRESPONSE_MSGに入力した変数に別のタイプを使用する必要がありますか?
前もって感謝します!