私の場合、適切なクエリ サーバーを使用すると、通常は処理されて返送される XML 応答が常に返されます。しかし同時に、サーバーの構成は、不適切なクエリがあった場合に XML ではなく HTML 応答を返すようになっています。機能する唯一のものは、単にユーザーに送り返されるだけです。何らかの方法で解析プロセスを回避し、エラーを個人的な形式で送信することは可能ですか?
詳細:
だから私は応答コードを取得します
<property xmlns:ns="http://org.apache.synapse/xsd" name="Status" expression="$axis2:HTTP_SC" scope="default" type="STRING"/>
プロセッサを選択し、取得したすべてをユーザーに送信するだけです
<switch xmlns:ns="http://org.apache.synapse/xsd" source="$axis2:HTTP_SC">
<case regex="401">
<send/>
</case>
この場合、すべてが機能しました。ここでは、ユーザーが HTML サーバーの応答をそのまま受け取るだけです。
しかし!このように応答の本文を置き換えようとすると
<case regex="401">
<payloadFactory media-type="xml">
<format>
<error xmlns="">
<message>some message</message>
</error>
</format>
</payloadFactory>
<send/>
エラーが発生する
[2013-09-11 15:20:06,669] ERROR - AnonymousListMediator Error while building messageorg.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: Unexpected lose tag </head>; expected </link>. at [row,col {unknown-source}]: [13,6] at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
回答を置き換えようとすると (障害メディエーターを介しても)、このエラーが発生します。何か案は?