/api/~のページのリクエストがエラーになる

ColdFusion 11 と 2016で http://xxxxx.xxx.xxx/api/a.cfm のような Webルート直下のURLが /api/ の.cfmページリクエストがエラーになります。

エラーが発生する原因は、Webルートの直下の /api/ が ColdFusion の Restサービスで使用されるエンドポイントとして予約されているためです。そのため、Webルート直下に api というフォルダを設置して、その中に .cfm ページを配置しても、Restサービスが見つからなかった旨の500エラーが
発生しています。

実際、Webルート直下の /api/ はColdFusion 11では(登録されていますが)使用しません。使用するのは、ColdFusion 2016 Enterprise版のみです。それも、「API Managerソフトウェア」というColdFusionとは別のインストーラーを使って、そのソフトウェアからColdFusion の Restを検索する時だけに使用されます。

  • Webルート直下の /api/ に存在しない.cfm をリクエストをしても、404エラーではなく500エラーになる
  • /api/というURLで.cfmを配置したい

上記のような場合は、このRestサービス設定を削除してください。

【削除方法】

ColdFusionのweb.xml と Webサーバーとを接続した際に作成される uriworkermap.propertiesファイルに設定が登録されていますので、そのファイルを開き、該当するエントリを削除します

【例】

C:/ColdFusion2016/cfusion/wwwroot/WEB-INF/web.xml

<!--
    <servlet-mapping id="coldfusion_mapping_16">
        <servlet-name>CFRestServlet</servlet-name>
        <url-pattern>/api/*</url-pattern>
    </servlet-mapping>
-->

C:/ColdFusion2016/config/wsconfig/1/uriworkermap.properties

/api/* = cfusion

#/api/* = cfusion

設定後はWebサーバーのサービスを再起動してください。

uriworkermap.propertiesの設定は、ColdFusionとWebサーバーの接続コネクタを再定義(一旦、コネクタ設定を削除し、再度登録し直す)した場合は初期の状態に戻ります。接続コネクタを再定義した際は、その後、再び上記の変更作業を行ってください。

(ColdFusion 2018 の uriworkermap.properties は /api/のURLは別のURLに変更されました)
 


記事公開日:2020年07月03日
最終更新日:2021年12月06日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.