<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>How to access custom service in webcontent in  liferay dxp</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=106861555" />
  <subtitle>How to access custom service in webcontent in  liferay dxp</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=106861555</id>
  <updated>2026-04-07T05:27:03Z</updated>
  <dc:date>2026-04-07T05:27:03Z</dc:date>
  <entry>
    <title>RE: How to access custom service in webcontent in  liferay dxp</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110687598" />
    <author>
      <name>Mohit Soni</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110687598</id>
    <updated>2018-08-13T09:26:41Z</updated>
    <published>2018-08-13T09:26:41Z</published>
    <summary type="html">&lt;p&gt;You can use following code to get the service inside FTL&lt;/p&gt;
&lt;p&gt;&amp;lt;#assign myService = serviceLocator.findService(&amp;quot;com.liferay.service.MyService&amp;quot;)&amp;gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Let me know the exception you are getting, before putting above,  you
  have to make sure ServiceLocator is enabled from System
  Settings.&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Mohit Soni</dc:creator>
    <dc:date>2018-08-13T09:26:41Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to access custom service in webcontent in  liferay dxp</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110684735" />
    <author>
      <name>Areti Srihari</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110684735</id>
    <updated>2018-08-10T14:28:48Z</updated>
    <published>2018-08-10T14:28:48Z</published>
    <summary type="html">&lt;h5&gt;Hi Amit Doshi, I have the same issue. Could you please give a
  solution like how you solved your problem.&lt;/h5&gt;
&lt;p&gt;Thanks.&lt;/p&gt;</summary>
    <dc:creator>Areti Srihari</dc:creator>
    <dc:date>2018-08-10T14:28:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to access custom service in webcontent in  liferay dxp</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=106861573" />
    <author>
      <name>A D</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=106861573</id>
    <updated>2018-04-18T21:12:44Z</updated>
    <published>2018-04-18T21:12:44Z</published>
    <summary type="html">Thanks. I am able to fix it.</summary>
    <dc:creator>A D</dc:creator>
    <dc:date>2018-04-18T21:12:44Z</dc:date>
  </entry>
  <entry>
    <title>How to access custom service in webcontent in  liferay dxp</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=106861554" />
    <author>
      <name>A D</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=106861554</id>
    <updated>2018-04-18T21:03:56Z</updated>
    <published>2018-04-18T21:03:56Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi Experts,&lt;br&gt;&lt;br&gt;We have developed one module based liferay service,  having my custom table defined in service.xml(UserTutorial),&lt;br&gt;&lt;br&gt;user-tutorial&lt;br&gt; --&amp;gt; user-tutorial-api&lt;br&gt;--&amp;gt;user-tutorial-service&lt;br&gt;&lt;br&gt; Everything is fine so far.&lt;br&gt;&lt;br&gt;Now I want to access "UserTutorialLocalService" in the template(Web content),  In liferay 6.2 it is working fine based on this approach (http://liferaytrends.blogspot.in/2012/05/access-liferay-service-util-and-custom.html), not sure how to do in DXP.&lt;br&gt;&lt;br&gt;So far I tried&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;
&amp;amp;lt;#assign tutorialService = serviceLocator.findService("user-tutorial","com.cac.usertutorial.service.TutorialLocalService") /&amp;amp;gt;
${tutorialService}
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt; It gives me below error.&lt;br&gt;&lt;blockquote&gt;com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator is not set for servlet context user-tutorial&lt;br&gt;	at com.liferay.portal.kernel.bean.PortletBeanLocatorUtil.locate(PortletBeanLocatorUtil.java:46)&lt;br&gt;	at com.liferay.portal.template.ServiceLocator.findService(ServiceLocator.java:63)&lt;br&gt;	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br&gt;	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)&lt;br&gt;	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)&lt;br&gt;	at java.lang.reflect.Method.invoke(Unknown Source)&lt;br&gt;	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)&lt;br&gt;	at freemarker.ext.beans.ReflectionCallableMemberDescriptor.invokeMethod(ReflectionCallableMemberDescriptor.java:52)&lt;br&gt;	at freemarker.ext.beans.MemberAndArguments.invokeMethod(MemberAndArguments.java:48)&lt;br&gt;	at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:62)&lt;br&gt;	at freemarker.core.MethodCall._eval(MethodCall.java:62)&lt;br&gt;	at freemarker.core.Expression.eval(Expression.java:78)&lt;br&gt;	at freemarker.core.Assignment.accept(Assignment.java:131)&lt;br&gt;	at freemarker.core.Environment.visit(Environment.java:324)&lt;br&gt;	at freemarker.core.MixedContent.accept(MixedContent.java:54)&lt;br&gt;	at freemarker.core.Environment.visit(Environment.java:324)&lt;br&gt;	at freemarker.core.Environment.process(Environment.java:302)&lt;br&gt;	at freemarker.template.Template.process(Template.java:325)&lt;br&gt;	at com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:135)&lt;br&gt;	at com.liferay.portal.template.AbstractSingleResourceTemplate.doProcessTemplate(AbstractSingleResourceTemplate.java:67)&lt;br&gt;	at com.liferay.portal.template.AbstractTemplate.write(AbstractTemplate.java:175)&lt;br&gt;	at com.liferay.portal.template.AbstractSingleResourceTemplate.processTemplate(AbstractSingleResourceTemplate.java:90)&lt;br&gt;	at com.liferay.portal.template.RestrictedTemplate.processTemplate(RestrictedTemplate.java:97)&lt;br&gt;	at com.liferay.journal.transformer.JournalTransformer.mergeTemplate(JournalTransformer.java:669)&lt;br&gt;	at com.liferay.journal.transformer.JournalTransformer.doTransform(JournalTransformer.java:340)&lt;br&gt;	at com.liferay.journal.transformer.JournalTransformer.transform(JournalTransformer.java:118)&lt;br&gt;	at com.liferay.journal.util.impl.JournalUtil.transform(JournalUtil.java:1177)&lt;br&gt;	at com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.getArticleDisplay(JournalArticleLocalServiceImpl.java:7262)&lt;br&gt;	at com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.getArticleDisplay(JournalArticleLocalServiceImpl.java:2142)&lt;br&gt;	at sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown Source)&lt;br&gt;	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)&lt;br&gt;	at java.lang.reflect.Method.invoke(Unknown Source)&lt;br&gt;	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:163)&lt;br&gt;	at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)&lt;br&gt;	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)&lt;br&gt;	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)&lt;br&gt;	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)&lt;br&gt;	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)&lt;br&gt;	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:169)&lt;br&gt;	at com.sun.proxy.$Proxy474.getArticleDisplay(Unknown Source)&lt;br&gt;	at com.liferay.journal.util.impl.JournalContentImpl.getArticleDisplay(JournalContentImpl.java:359)&lt;br&gt;	at com.liferay.journal.util.impl.JournalContentImpl.getDisplay(JournalContentImpl.java:223)&lt;br&gt;	at com.liferay.journal.content.web.internal.portlet.JournalContentPortlet.doView(JournalContentPortlet.java:125)&lt;br&gt;	at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:301)&lt;br&gt;	at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doDispatch(MVCPortlet.java:497)&lt;br&gt;	at javax.portlet.GenericPortlet.render(GenericPortlet.java:262)&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Any help will be great.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>A D</dc:creator>
    <dc:date>2018-04-18T21:03:56Z</dc:date>
  </entry>
</feed>
