Solved
creating servlet in CQ - cannot be cast to javax.servlet.Servlet , Failed getting the service for reference
Hi all,
I tried the following sample program for creating servlet in CQ but getting below error in logs:
07.10.2013 11:27:19.156 *WARN* [OsgiInstallerImpl] org.apache.sling.servlets. resolver.internal. SlingServletResolver bindServlet: Failed getting the service for reference [javax.servlet.Servlet] java.lang.ClassCastException: com.adobe.training.core. MySafeMethodServlet cannot be cast to javax.servlet.Servlet
at org.apache.sling.servlets. resolver.internal. SlingServletResolver. createServlet( SlingServletResolver.java:974)
at org.apache.sling.servlets. resolver.internal. SlingServletResolver. bindServlet( SlingServletResolver.java:936)
Any reason why this is happening. Why its giving error like:
1) Failed getting the service for reference
2) cannot be cast to javax.servlet.Servlet
Below is the sample code.
------------------------------ -----------------
package com.adobe.training.core;
import java.io.IOException;
import javax.servlet. ServletException;
import javax.servlet.Servlet;
import org.apache.felix.scr. annotations.Reference;
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. SlingSafeMethodsServlet;
@SlingServlet(paths = "/bin/company/repo" , methods = "GET")
public class MySafeMethodServlet extends SlingSafeMethodsServlet
{
private static final long serialVersionUID = -3960692666512058118L;
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException , IOException
{
response.setHeader("Content- Type","application/json");
response.getWriter().print("{\ "coming\" : \"soon\"}");
}
}