サーブレットパスが/ api/v1 /、/ api/v2 /で始まるカスタムサーブレットがあります。これらの は5.6.1で問題なく動作していました。 6.2にアップグレードした直後(6と6.1をスキップ)、これらのサーブレットは404を提供し始めました。AEM 6.2アップグレード:アップグレード後カスタムサーブレットパスが機能しない
これらのパスをfelixコンソール構成でリストすると、Apache sling servlet/scriptリゾルバとエラーハンドラが動作するはずです。私はまだ404を取得しました。
また、サーブレットリゾルバを使用してパスが評価されているかどうかを確認すると、正しいサーブレットのクラスを指しています。
6.2用に追加の設定が必要ですか?
追加最近の要求のログ:あなたへの初期調査から
Request 47301 (GET /bin/offers/list) by admin - RequestProgressTracker Info
0 TIMER_START{Request Processing}
0 COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
0 LOG Method=GET, PathInfo=/bin/offers/list
0 TIMER_START{ResourceResolution}
0 TIMER_END{0,ResourceResolution} URI=/bin/offers/list resolves to Resource=ServletResource, servlet=com.xyz.v2.servlets.OffersListServlet, path=/bin/offers/list
0 LOG Resource Path Info: SlingRequestPathInfo: path='/bin/offers/list', selectorString='null', extension='null', suffix='null'
0 TIMER_START{ServletResolution}
0 TIMER_START{resolveServlet(/bin/offers/list)}
0 TIMER_END{0,resolveServlet(/bin/offers/list)} Using servlet com.xyz.v2.servlets.OffersListServlet
0 TIMER_END{0,ServletResolution} URI=/bin/offers/list handled by Servlet=com.xyz.v2.servlets.OffersListServlet
/API/V2 /ユーザー
Request 47279 (GET /api/v2/user) by admin - RequestProgressTracker Info
0 TIMER_START{Request Processing}
0 COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
0 LOG Method=GET, PathInfo=/api/v2/user
0 TIMER_START{ResourceResolution}
0 TIMER_END{0,ResourceResolution} URI=/api/v2/user resolves to Resource=ServletResource, servlet=com.xyz.servlets.UserServlet, path=/api/v2/user
0 LOG Resource Path Info: SlingRequestPathInfo: path='/api/v2/user', selectorString='null', extension='json', suffix='null'
0 TIMER_START{ServletResolution}
0 TIMER_START{resolveServlet(/api/v2/user)}
0 TIMER_END{0,resolveServlet(/api/v2/user)} Using servlet com.xyz.servlets.UserServlet
0 TIMER_END{0,ServletResolution} URI=/api/v2/user handled by Servlet=com.xyz.servlets.UserServlet
0 LOG Applying Requestfilters
0 LOG Calling filter: com.adobe.granite.resourceresolverhelper.impl.ResourceResolverHelperImpl
0 LOG Calling filter: org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter
0 LOG Calling filter: com.adobe.granite.rest.impl.servlet.ApiResourceFilter
0 LOG Including resource ApiResourceWrapper, type=granite/rest/core/resource, path=/api/v2/user, resource=[ServletResource, servlet=com.xyz.servlets.UserServlet, path=/api/v2/user] (SlingRequestPathInfo: path='/api/v2/user', selectorString='null', extension='json', suffix='null')
0 TIMER_START{resolveServlet(/api/v2/user)}
0 TIMER_END{0,resolveServlet(/api/v2/user)} Using servlet com.adobe.granite.rest.impl.servlet.DefaultGETServlet
0 LOG Applying Forwardfilters
をログからスタックトレースを共有してください。 –
そのようなログはありません。しかし、私は最近のリクエストログを共有することができます。 –
エラーは発行中か、ディスパッチャを使用しているか?この場合、パブリッシュが処理中である場合は、エラーハンドラ自体を変更していない限り、ログには例外がいくつかあります。注目すべき点は、サーブレットリゾルバがサーブレットを解決することができるということです。それはサーブレットがうまく動作するようになっており、その中のコードが問題を引き起こしている可能性があります。 –