如何从 portlet 调用 Service Builder 构建的服务

How to invoke the service built by Service Builder from portlet

问题是我创建了一个 Liferay portlet 来调用一个

之前由 Liferay Service Builder 创建的服务(名称为 LocaleContentLocalServiceUtil),

该服务在 Liferay 中有效,但是当我调用该服务时

从 portlet,我得到了 NullerpointerException。

然后我激活了调试模式,发现 LocaleContentLocalServiceUtil 中 PortalBeanLocatorUtil.locate(LocaleContentLocalService.class.getName()) 的 return 值为 null。

有谁知道如何解决这个问题,或者可以给我一些指导,请帮助我。

在您的 portlet 的 liferay-plugin-package.properties 中添加以下 属性。确保服务 jar 是您部署的 portlet webapps 的类路径。

required-deployment-contexts=your-service-portlet

如果此 属性 不存在,请尝试将您的服务-api.jar 复制到 tomcat/lib/ext 并从服务和所有其他 portlet 中删除。