有没有人知道这些步骤,以便在命中localhost时出现我们自己的portlet服务构建器实体和方法:8080 / my-portlet / jsonws?我的所有实体都是远程服务注释的。 @JSONWebService在我的所有课程上。我已经在web.xml中添加了一大块XML(每http://www.liferay.com/community/wiki/-/wiki/Main/JSON+Web+Services - 一个非常好的wiki,否则)。但我没有看到任何事情发生。
我可以浏览http://localhost:8080/api/jsonws并查看门户网站的 JSON方法。
我错过了一个设置吗?是否需要一些额外的配置?
感谢。
答案 0 :(得分:1)
一定是一些错过配置:)让我重复这里的步骤。
安装Liferay 6.1 CE GA1后,尝试通过以下网址访问JSONWS api:http://localhost:8080/api/jsonws
和(例如):http://localhost:8080/knowledge-base-portlet/api/jsonws
现在,使用最新的Liferay SDK创建您的portlet。在* ServiceImpl中创建至少一个服务方法。运行服务构建器
在portlet web.xml
中添加以下代码:
<servlet>
<servlet-name>JSON Web Service Servlet</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalClassLoaderServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>com.liferay.portal.jsonwebservice.JSONWebServiceServlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JSON Web Service Servlet</servlet-name>
<url-pattern>/api/jsonws/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSON Web Service Servlet</servlet-name>
<url-pattern>/api/secure/jsonws/*</url-pattern>
</servlet-mapping>
构建战争并最终将Portlet部署到Liferay。片刻之后,portlet将被部署并可用。 JSONWS将扫描您的类并查找所有服务方法。要测试一切是否正常,请访问:http://localhost:8080/*portlet-context*/api/jsonws
这就是全部:)