Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list

Importing the SocialUtils using @Reference annotation causing servlet status is unsatisfied

Avatar

Not applicable

Hi folks,

When I am importing the SocialUtils using @Reference annotation servlet status is unsatisfied in component list.

@Reference

private SocialUtils socialUtils;

getting this message

Reference socialUtils["Unsatisfied","Service Name: com.adobe.cq.social.ugcbase.SocialUtils","Cardinality: 1..1","Policy: static","Policy Option: reluctant","No Services bound"]

But I can see the SocialUtilsImpl is enabled and in the component list also.


1863

com.adobe.cq.social.ugcbase.impl.SocialUtilsImpl
active

Really appreciate any inputs..

3 Replies

Avatar

Level 3

Hi Kanchan,

Can you share the entire code with me?

You can email it to vmitra@adobe.com. It's a but difficult to debug the same with the information that you have provided.

Thanks

Varun

Avatar

Not applicable

Hi varunmitra,

Thanks for the reply. I am pasting the code here.

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import org.apache.felix.scr.annotations.Reference;

import org.apache.felix.scr.annotations.ReferenceCardinality;

import org.apache.felix.scr.annotations.ReferencePolicy;

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;

import org.apache.sling.commons.json.JSONException;

import org.apache.sling.commons.json.JSONObject;

import org.apache.sling.jcr.api.SlingRepository;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.adobe.cq.social.ugcbase.SocialUtils;

@SlingServlet(paths = "/bin/socialcloud.json", methods = {"GET"}, extensions = {"json" })

public class SocialIntegrationServlet extends SlingSafeMethodsServlet{

  /**

  *

  */

  private static final long serialVersionUID = 6999713032167059980L;

  /**

  *

  */

  private static final Logger log = LoggerFactory.getLogger(SocialIntegrationServlet.class);

  @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY, policy = ReferencePolicy.STATIC)

    private SlingRepository repository;

  @Reference

  private SocialUtils socialUtils;

  @Override

  protected void doGet(SlingHttpServletRequest request,

  SlingHttpServletResponse response) throws ServletException,

  IOException {

  //log.info("socialUtils is::::::::"+socialUtils);

  String sUsername = request.getParameter("user");

  Cookie[] cookies = request.getCookies();

  try {

  response.setCharacterEncoding("utf8");

         response.setContentType("application/json");

        

         JSONObject result = new JSONObject();

         result.put("result", "Got your call");

       

  response.getWriter().write(result.toString(4));

  } catch (JSONException e) {

  e.printStackTrace();

  }

  }

}

If I am removing the @Reference SocialUtils then the servlet is working properly.

Avatar

Level 4

Did you solve this issue?