質問
現在、[ネットワーク]→[REST]→[GET実行]を使い、データを取得しようとしています。
今回、レスポンスデータはJSONですが、以下のエラーが発生しました。
=======================
Integrate_Project,REST0000E,com.appresso.ds.script.runtime.ComponentFailedException: [[APIデータ取得(ネットワーク/REST/GET実行)]の処理に失敗しました。原因:[com.appresso.ds.common.xmlfw.xml.InvalidXMLContentException: XML文書の作成中に不正な文字が見つかりました。文字(Unicode: 0xf)はXML勧告の定める文字([2] Char)に適合しません。]
=======================
- 取得したレスポンスデータの中にXMLでは利用できない文字が含まれていたため発生した認識ですが、正しいでしょうか
- このエラーを発生させる可能性のある文字の一覧について教えてください
- [不正なXML文字削除]以外に回避策があれば教えてください
- [不正なXML文字削除]ではどのように不正な文字が削除されるか教えてください
回答
-
ご認識の通り、取得したレスポンスデータの中にXMLの要素内容として不正な文字が含まれているためにエラーが出力されております。
RESTの[GET実行]処理では、レスポンスボディがJSON形式のデータの場合、XML形式に変換されて結果データに出力されます。
- 不正な文字については、XMLの仕様を定めているW3CのXML勧告に準拠しております。
XML勧告の詳細については、下記のリンクからご確認ください。
2.2 Charactersに文字に関する記載がございます。
Extensible Markup Language (XML) 1.0 (Fifth Edition)
URL:https://www.w3.org/TR/xml/ - XML勧告を参考に、あらかじめ入力データにXMLの要素内容として不正な文字を含めない、または事前に置換いただく等の方法がございます。
- 不正な文字だけ削除され、その部分は詰められます。
例) あい<不正な文字>うえお→あいうえお
参考資料
不正なXML文字削除処理
コメント
0件のコメント
記事コメントは受け付けていません。