Quantcast
Viewing latest article 18
Browse Latest Browse All 1068

【iDempiere Lab】HTTP ERROR 400 Ambiguous URI path encoding

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)

◆修正前

◆修正後

<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>


Viewing latest article 18
Browse Latest Browse All 1068

Trending Articles