Sling servlet txt extension not working with OSGi DS 1.2 annotations | Community
Skip to main content
tims19814439
Level 2
January 2, 2019

Sling servlet txt extension not working with OSGi DS 1.2 annotations

  • January 2, 2019
  • 2 replies
  • 6243 views

I am trying to create a servlet to serve a robots.txt. The servlet to handle this request is mapped on the website page resource and looks like this:

When I visit the page like this "/content/website.robots.txt" I am presented with an 404 error and the get of the servlet is never called.

When I change "sling.servlet.extensions" to xml and visit "/content/website.robots.xml" the get gets called and the servlet works.

I am using AEM 6.2 with OSGI 6.0.0

Is it impossible to map to .txt as extension or am I doing something wrong ?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

Gaurav-Behl
Level 10
January 3, 2019

Turn on 'Enable Plain Text' option on 'Apache Sling GET Servlet' in configMgr since you are using METHOD_GET and test if it works.

tims19814439
Level 2
January 3, 2019

This unfortunately just makes it possible for the default GET servlet to handle the request. However I would like my own servlet to handle the request.

joerghoh
Adobe Employee
Adobe Employee
January 3, 2019

It seems to me that you are using the Felix SCR annotations. In that case you need to add the

@Service()

annotation to the class definition as well (no additional parameters required). That should do the trick.

tims19814439
Level 2
January 3, 2019

I'm actually using the OSGI component annotation the felix annotations are not available in the 6.2 architype I'm using

tims19814439
Level 2
January 3, 2019

Hi,

You can use pattern instead

Servlet Filter for PDF


Thanks for your answer Arun Patidar​. At this point I don't really want to switch the whole interface to a sling filter so I will just map to .xml and rewrite from .txt to .xml in apache.

Thanks for your help everyone!