Expand my Community achievements bar.

Sling servlet is returning 406 error in AEM6.3

Avatar

Level 2

Hi Team,

When we call below sling servlet, we are getting "406 Not Acceptable" in AEM6.3.Could you please help us on this.

Code:

--------

import java.io.IOException;

import org.apache.felix.scr.annotations.sling.SlingServlet;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.servlets.OptingServlet;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;

@SlingServlet(
       label = "Samples - Sling All Methods Servlet",
       description = "Sample implementation of a Sling All Methods Servlet.",
      methods = "GET",
      paths = "/api/preauth/caregiver/getTestNumber"
)
public class GetTestNumber extends SlingAllMethodsServlet implements OptingServlet {

@Override
public void doGet(SlingHttpServletRequest inRequest, SlingHttpServletResponse response) {
       System.out.println("GetTestNumber Service");
  try {
        response.setContentType("text/html");
        response.getWriter().write("<html><head></head><body>Hello...! </body></html>");
         // By Default the 200 HTTP Response status code is used; below explicitly sets it.                   
     response.setStatus(SlingHttpServletResponse.SC_OK);
  } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
  }
}

@Override
public boolean accepts(SlingHttpServletRequest request) {
  // TODO Auto-generated method stub
  return true;
}
}

Thanks

Seran

2 Replies

Avatar

Employee Advisor

Why do you implement the OptingServlet interface? It should not be needed in your case.

Jörg