HTMLやPDFのレポートの下部に表示されているリンクをクリックすると、正常であればレポートだけの画面が表示されますが、「HTTP ERROR 400 Ambiguous URI path encoding」と表示される場合があります。
この回避方法について調査及び研究しその成果をまとめています。
このエラーはJettyが出力しており、URLに日本語が含まれていることに起因します。
ファイル名に日本が含まれないようにすると(英数字のみのファイル名になるように印刷書式を設定すると)エラーにはなりません。
エラーの回避方法
「HTTP ERROR 400 Ambiguous URI path encoding」のエラーに遭遇したら、%idempiere-server%jettyhome/etc/jetty.xmlのファイルの「UriCompliance」の設定を変更してみて下さい。
iDempiere ver12(Jetty 12.0.11)
◆修正前
Clik here to view.

◆修正後
Clik here to view.

<Set name="uriCompliance"><Call class="org.eclipse.jetty.http.UriCompliance" name="from"><Arg>UNSAFE</Arg></Call></Set>
iDempiere ver11(Jetty 10.0.18)
iDempiere ver11(jetty10.0.18)では、「HTTP ERROR 400 Ambiguous URI path encoding」のエラーは確認していません。
iDempiere ver10(Jetty 10.0.09)
iDempiere ver10(jetty10.0.09)では、「HTTP ERROR 400 Ambiguous URI path encoding」のエラーは確認していません。
iDempiere ver9(Jetty 10.0.7)
iDempiere ver9(Jetty 10.0.7)では、「Bad Message 400」「reason: Ambiguous URI path encoding」と表示されます。
◆修正後
下記の一文をjetty.xmlに追加します。
<Set name="uriCompliance"><Call class="org.eclipse.jetty.http.UriCompliance" name="from"><Arg><Property name="jetty.httpConfig.uriCompliance" default="RFC3986"/></Arg></Call></Set>
Clik here to view.
