Highlighted

Cannot get HttpContext trough BundleContext in AEM 6.4

Avatar

Avatar

ralvarado88

Avatar

ralvarado88

ralvarado88

26-07-2018

Hi!

I am working on migrating some bundles from AEM 6.2 to 6.4 and I ran into the following issue:

I have an Activator.java in a bundle with the following code:

@Override

public synchronized void start(final BundleContext bc) throws Exception {

     myBundleContext= bc

     private ServiceTracker<HttpService, HttpService> tracker = new ServiceTracker<HttpService, HttpService>(myBundleContext, HttpService.class, null) {

          @Override

          public HttpService addingService(ServiceReference<HttpService> sRef) {

               ServiceReference<HttpContext> httpSRef = bundleContext.getServiceReference(HttpContext.class);

               HttpContext hc = bundleContext.getService(httpSRef);

               //some more code here working with the hc object...

           }

     }

}

When I start the bundle and run this code in AEM 6.2, I can successfully retrieve the HttpContext.class serviceReference and then get the HttpContext service, but when I run the exact same code in AEM 6.4 I get a null reference when trying to retrieve the HttpContext.class serviceReference.
I am aware that this kind of thing (using an activator and getting the HttpContext serviceReference) are not that common to do. I have already googled the problem for quite a while, read all kind of forums and threads but no luck yet.
I also checked that the service name  and class are still the same in 6.2 and 6.4 and also the getServiceReference(Class) method is not deprecated in 6.4

So I'm starting to suspect that for some reason the HttpContext is not available in 6.4 as it was in 6.2. Not sure if it's something that was done intentionally or if it's a bug


Any help on this would be very appreciated!

Thanks!!

Replies

Highlighted

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831
Arun_Patidar
MVP

27-07-2018

Hi,
could you please check if HttpContext service is available at http://localhost:4502/system/console/status-Services  ?

I can't see this service in AEM6.3 and AEM6.4

Thanks

Arun

Highlighted

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K
smacdonald2008

27-07-2018

Highlighted

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K
smacdonald2008

27-07-2018

I used Dep Finder on 6.4

Dep11.png

Highlighted

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831
Arun_Patidar
MVP

27-07-2018

Hi,

I think service is missing or deprecated.

Please Use ServletContextHelper instead of HttpContext

Both have the same purpose.

ServletContextHelper works with AEM6.4

Thanks

Arun

Highlighted

Avatar

Avatar

ralvarado88

Avatar

ralvarado88

ralvarado88

06-08-2018

Thanks! actually the service is not available in 6.3 and 6.4
No idea why it is not

Highlighted

Avatar

Avatar

ralvarado88

Avatar

ralvarado88

ralvarado88

06-08-2018

Hi guys

As you mentioned above, the HttpContext service is not available in AEM 6.3 and 6.4
The good news is that what this service did in 6.2 was using the org.apache.sling.auth.core.AuthenticationSupport handleSecurity method, and the AuthenticationSupport service is available in 6.3 and 6.4.
I managed to solve it by creating a custom HttpContext that inside uses the AuthenticationSupport class. I explain it here:

https://medium.com/@rijoalvi/aem-6-4-httpcontext-use-case-5824e486ebaf

Thank you all for your help with this!

Highlighted

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831
Arun_Patidar
MVP

07-08-2018

Thanks rijoalvi for posting this.

Highlighted

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K
smacdonald2008

07-08-2018

Thanks for posting solution.