留言板

Deploying a Spring Portlet into Liferay 6.2

Andres Bustamante,修改在8 年前。

Deploying a Spring Portlet into Liferay 6.2

New Member 帖子: 2 加入日期: 15-5-31 最近的帖子
Hello community,

I'm trying to deploy a portlet developed with Spring Portlet MVC (3.2.4) on Liferay 6.2 but at the moment of installing the portlet as a WAR file I always get this error message "Your request failed to complete." and the log shows a problem with a null redirection like this:

13:05:33,347 ERROR [http-bio-8080-exec-4][PortletServlet:116] javax.portlet.PortletException: java.lang.IllegalArgumentException: is not a valid redirect
javax.portlet.PortletException: java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:166)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:247)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:78)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:210)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
...

Caused by: java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portlet.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:37)
at com.liferay.marketplace.appmanager.portlet.AppManagerPortlet.installApp(AppManagerPortlet.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:148)
... 141 more
...
13:05:33,396 ERROR [http-bio-8080-exec-4][render_portlet_jsp:132] null
java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portlet.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:37)
at com.liferay.marketplace.appmanager.portlet.AppManagerPortlet.installApp(AppManagerPortlet.java:129)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:148)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:247)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:78)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:210)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

I have tried changing the starting view, changing the "viewRendererUrl" in Spring's configuration but I always return to the same exception when installing the portlet through the App Manager. Any idea?

Thanks.
thumbnail
Jan Geißler,修改在8 年前。

RE: Deploying a Spring Portlet into Liferay 6.2

Liferay Master 帖子: 735 加入日期: 11-7-5 最近的帖子
Looks like Spring is not correctly configured, because you get an Error from Liferay MVC.
 com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:247)


can you post your configs? Like:
portlet.xml
liferay-portlet.xml
web.xml?
Andres Bustamante,修改在8 年前。

RE: Deploying a Spring Portlet into Liferay 6.2

New Member 帖子: 2 加入日期: 15-5-31 最近的帖子
Ok, here's my web.xml :

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>app</display-name>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/app-context.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>ViewRendererServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ViewRendererServlet</servlet-name>
        <url-pattern>/WEB-INF/servlet/view</url-pattern>
    </servlet-mapping>
    <mime-mapping>
        <extension>doc</extension>
        <mime-type>application/msword</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>xls</extension>
        <mime-type>application/vnd.ms-excel</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ppt</extension>
        <mime-type>application/vnd.ms-powerpoint</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>pdf</extension>
        <mime-type>application/pdf</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>js</extension>
        <mime-type>application/javascript</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>css</extension>
        <mime-type>text/css</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>jpg</extension>
        <mime-type>image/jpeg</mime-type>
    </mime-mapping>
</web-app>


Here's my portlet.xml

<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">

    <portlet>
        <portlet-name>MyPortlet</portlet-name>
        <display-name>My portlet</display-name>
        <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
        <init-param>
            <name>contextConfigLocation</name>
            <value>/WEB-INF/spring/MyPortlet-portlet.xml</value>
        </init-param>
        <init-param>
            <name>view-jsp</name>
            <value>/index.jsp</value>
        </init-param>
        
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>view</portlet-mode>
        </supports>
        <portlet-info>
            <title>MyPortlet</title>
            <short-title>MyPortlet</short-title>
            <keywords>Portlet</keywords>
        </portlet-info>
    </portlet>
    
</portlet-app>


Here's my liferay-portlet.xml :

<liferay-portlet-app>
    <portlet>
        <portlet-name>MyPortlet</portlet-name>
        <icon>/resource/images/logo.png</icon>
        <action-url-redirect>false</action-url-redirect>
        <maximize-edit>true</maximize-edit>
        <instanceable>true</instanceable>
        <render-weight>1</render-weight>
    </portlet>
    <role-mapper>
        <role-name>administrator</role-name>
        <role-link>Administrator</role-link>
    </role-mapper>
    <role-mapper>
        <role-name>guest</role-name>
        <role-link>Guest</role-link>
    </role-mapper>
    <role-mapper>
        <role-name>power-user</role-name>
        <role-link>Power User</role-link>
    </role-mapper>
    <role-mapper>
        <role-name>user</role-name>
        <role-link>User</role-link>
    </role-mapper>
</liferay-portlet-app>


Thanks in advance.
Sebastian Ulrich,修改在7 年前。

RE: Deploying a Spring Portlet into Liferay 6.2

New Member 帖子: 10 加入日期: 16-3-10 最近的帖子
Hello community,

I'm trying to deploy a portlet developed with Spring Portlet MVC (3.2.4) on Liferay 6.2 but at the moment of installing the portlet as a WAR file I always get this error message "Your request failed to complete." and the log shows a problem with a null redirection like this:

13:05:33,347 ERROR [http-bio-8080-exec-4][PortletServlet:116] javax.portlet.PortletException: java.lang.IllegalArgumentException: is not a valid redirect
javax.portlet.PortletException: java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:166)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:247)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:78)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:210)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
...

Caused by: java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portlet.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:37)
at com.liferay.marketplace.appmanager.portlet.AppManagerPortlet.installApp(AppManagerPortlet.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:148)
... 141 more
...
13:05:33,396 ERROR [http-bio-8080-exec-4][render_portlet_jsp:132] null
java.lang.IllegalArgumentException: is not a valid redirect
at com.liferay.portlet.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:37)
at com.liferay.marketplace.appmanager.portlet.AppManagerPortlet.installApp(AppManagerPortlet.java:129)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:148)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:247)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:78)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:210)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

I have tried changing the starting view, changing the "viewRendererUrl" in Spring's configuration but I always return to the same exception when installing the portlet through the App Manager. Any idea?

Thanks.