Liferay 6.1 portlet:部署时无法获取JSONWebService扫描

时间:2012-01-15 21:24:04

标签: liferay

有没有人知道这些步骤,以便在命中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方法。

我错过了一个设置吗?是否需要一些额外的配置?

感谢。

1 个答案:

答案 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

这就是全部:)