留言板

Using Liferay-ui:disscussion

Esteban Lopez,修改在13 年前。

Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
I'm trying to use discussions in a custom portlet but the database doesn't save my comments. Have anybody do it?
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
Hi Esteban,

Which version of liferay are you using? Is this in a plugin? What are you doing in the action class to save it?

If using 6.0.5 you can use this method in MVC portlet or if not just copy the code:

	public void invokeTaglibDiscussion(
			ActionRequest actionRequest, ActionResponse actionResponse)
		throws Exception {

		PortletConfig portletConfig = getPortletConfig();

		PortalClassInvoker.invoke(
			true,
			"com.liferay.portlet.messageboards.action.EditDiscussionAction",
			"processAction",
			new String[] {
				"org.apache.struts.action.ActionMapping",
				"org.apache.struts.action.ActionForm",
				PortletConfig.class.getName(), ActionRequest.class.getName(),
				ActionResponse.class.getName()
			},
			null, null, portletConfig, actionRequest, actionResponse);
	}
Esteban Lopez,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
Sorry
I'm using Liferay 6.0.5.
Yes it is in a plugin, in a portlet-plugin.
I was trying to use the liferay action but. The action doesn't execute.
Have I created an action with this code??
Can't I use liferay actions?
If I can use liferay actions?How can I do that?

An acttion has a processAction method, has this method to call the method that you have wrote here?

Sorry for my english and thanks.
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
You can specify the action class like so in portlet.xml:

	<portlet>
		<portlet-name>1</portlet-name>
		<display-name>Test/display-name&gt;
		<portlet-class>com.liferay.test.portlet.TestPortlet</portlet-class>
</display-name></portlet>


In your TestPortlet class you can add the method in my previous post.

Then in your JSP, form action just make an action URL like so:

<form action="<portlet:actionURL name="invokeDiscussionTagLib"></portlet:actionURL>" class="uni-form" method="post" name="<portlet:namespace />fm">
Esteban Lopez,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
I tried what you have said but it still doesn't work.

Here are my portlet.xml, view.jsp and TestPortlet.java

Am i doing something wrong?? Can you help me??
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
You might want to add a System.out.println() in your testportlet.java to see if it actually runs.

I think in your view.jsp, the discussionURL should actually be this one:

<portlet:actionURL name="invokeDiscussionTagLib"></portlet:actionURL>
Esteban Lopez,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
I've used it as you say and I have a new problem. It doens't find the method and thrws and exception.

16:27:48,908 ERROR [PortletServlet:96] javax.portlet.PortletException: java.lang.NoSuchMethodException: com.liferay.portlet.messageboards.action.EditDiscussionAction.processActi
on(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.portlet.PortletConfig, javax.portlet.ActionRequest, javax.portlet.ActionResponse)


I have test my class and it runs. But the exception is thrown in the method:

PortalClassInvoker.invoke
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
Sorry I gave you the version from MVC portlet where it's under the portal classloader. From a plugin it should be:

		Object[] args = new Object[] {
			new NullWrapper("org.apache.struts.action.ActionMapping"),
			new NullWrapper("org.apache.struts.action.ActionForm"),
			getPortletConfig(), actionRequest, actionResponse
		};

		PortalClassInvoker.invoke(
			"com.liferay.portlet.messageboards.action.EditDiscussionAction",
			"processAction", args);


Some java magic I don't really understand =P
Esteban Lopez,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
Thank you very much it finally works.
But it would be perfect if I can use too the method processAction in the portlet because when I implement de processAction, invokeTaglibDiscussion don't work.

You are helping me a lot. Thank you again
Esteban Lopez,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 26 加入日期: 10-11-3 最近的帖子
Hi Amos, I have a new problem,

Yesterday discussions work correctly but today the reply button doesn't work. It doesn't have functionality y when I click it nothings happen.
thumbnail
Phu Pham Cong,修改在13 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 16 加入日期: 10-11-30 最近的帖子
Hi Amos Fong,
I tried your code.Delete & add new comment successful but I have problem in edit comment.

It throws null pointer exception in eclipse's console.
And on view page I have got message look like: "You have entered invalid data. Please try again."

in my class Java code:
public void invokeTaglibDiscussion(ActionRequest actionRequest,
			ActionResponse actionResponse) throws Exception {	
		  Object[] args = new Object[] {
				             new NullWrapper("org.apache.struts.action.ActionMapping"),
				              new NullWrapper("org.apache.struts.action.ActionForm"),
				             getPortletConfig(), actionRequest, actionResponse
				          };
				  try{
				         PortalClassInvoker.invoke(
				              "com.liferay.portlet.messageboards.action.EditDiscussionAction",
				              "processAction", args);
				  }catch(Exception e){
					  e.printStackTrace();
				  }
		
	}


JSP code below:

&lt;%
WindowState windowState = null;
PortletMode portletMode = null;

PortletURL currentURLObj = null;

if (renderRequest != null) {
	windowState = renderRequest.getWindowState();
	portletMode = renderRequest.getPortletMode();

	currentURLObj = PortletURLUtil.getCurrent(renderRequest, renderResponse);
}
else if (resourceRequest != null) {
	windowState = resourceRequest.getWindowState();
	portletMode = resourceRequest.getPortletMode();

	currentURLObj = PortletURLUtil.getCurrent(resourceRequest, resourceResponse);
}

String currentURL = currentURLObj.toString();

idea ideaObj = ideaLocalServiceUtil.getidea(1);
%&gt;

<liferay-ui:panel-container extended="<%= false %>" id="wikiCommentsPanelContainer" persiststate="<%= true %>">
			<liferay-ui:panel collapsible="<%= true %>" extended="<%= true %>" id="wikiCommentsPanel" persiststate="<%= true %>" title="<%= LanguageUtil.get(pageContext, &quot;comments&quot;) %>">
				<portlet:actionurl var="discussionURL" name="invokeTaglibDiscussion"></portlet:actionurl>

				<liferay-ui:discussion className="<%= idea.class.getName() %>" classPK="<%= ideaObj.getIdeaId() %>" formAction="<%= discussionURL %>" formName="fm2" ratingsEnabled="true" redirect="<%= currentURL %>" subject="<%= ideaObj.getTitle() %>" userId="<%= ideaObj.getCreatedByUser() %>" />
			</liferay-ui:panel>
</liferay-ui:panel-container>


please advise.

Thanks in advance.
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
Do you have the error stacktrace from eclipse?
thumbnail
Phu Pham Cong,修改在13 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 16 加入日期: 10-11-30 最近的帖子
Yes, I have. Something likes that:
java.lang.NullPointerException
	at com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.updateDiscussionMessageStatus(MBMessageLocalServiceImpl.java:2097)
	at com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.updateStatus(MBMessageLocalServiceImpl.java:1492)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
	at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy134.updateStatus(Unknown Source)
	at com.liferay.portlet.messageboards.service.MBMessageLocalServiceUtil.updateStatus(MBMessageLocalServiceUtil.java:610)
	at com.liferay.portlet.messageboards.workflow.MBMessageWorkflowHandler.updateStatus(MBMessageWorkflowHandler.java:63)
	at com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil.startWorkflowInstance(WorkflowHandlerRegistryUtil.java:113)
	at com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.updateMessage(MBMessageLocalServiceImpl.java:1334)
	at com.liferay.portlet.messageboards.service.impl.MBMessageLocalServiceImpl.updateDiscussionMessage(MBMessageLocalServiceImpl.java:1219)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
	at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy134.updateDiscussionMessage(Unknown Source)
	at com.liferay.portlet.messageboards.service.impl.MBMessageServiceImpl.updateDiscussionMessage(MBMessageServiceImpl.java:540)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
	at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy135.updateDiscussionMessage(Unknown Source)
	at com.liferay.portlet.messageboards.service.MBMessageServiceUtil.updateDiscussionMessage(MBMessageServiceUtil.java:220)
	at com.liferay.portlet.messageboards.action.EditDiscussionAction.updateMessage(EditDiscussionAction.java:182)
	at com.liferay.portlet.messageboards.action.EditDiscussionAction.processAction(EditDiscussionAction.java:64)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:72)
	at com.liferay.portal.kernel.util.PortalClassInvoker.invoke(PortalClassInvoker.java:219)
	at com.liferay.portal.kernel.util.PortalClassInvoker.invoke(PortalClassInvoker.java:125)
	at com.vsii.demo.demoDiscussion.invokeTaglibDiscussion(demoDiscussion.java:29)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:138)
	at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:227)
	at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:69)
	at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:199)
	at com.vsii.demo.demoDiscussion.processAction(demoDiscussion.java:18)
	at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
	at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
	at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
	at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:687)
	at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:360)
	at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:768)
	at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:571)
	at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:229)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:152)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:508)
	at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:485)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:309)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter.processFilter(ThemePreviewFilter.java:88)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:137)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:133)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:261)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter.processFilter(ThemePreviewFilter.java:88)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:126)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:221)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:45)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:81)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:179)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:239)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)
thumbnail
Phu Pham Cong,修改在13 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 16 加入日期: 10-11-30 最近的帖子
Hi Amos Fong,

I tried with Blogs portlet.
- Add new blog entry
- Add new comment: comment1
- Edit comment1
- click publish

I have the same problems.
Blogs is temporarily unavailable.
Tam Nguyen Minh,修改在13 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 16 加入日期: 10-12-1 最近的帖子
Hi everybody,

I tried your code and got the same problem. But look like it's a global problem, I can't edit comment comes from any blog (Add>More...>Collaboration>Blogs or Manage>Control Panel>My Community>Blogs - blog comments come from portal). They throw same error Null pointer exception in console.

Please see attachment picture
thumbnail
Phu Pham Cong,修改在13 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 16 加入日期: 10-11-30 最近的帖子
Tam & Me have the same problem?

any one plsss help us.

Thanks in advance.
thumbnail
Amos Fong,修改在13 年前。

RE: Using Liferay-ui:disscussion

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
Yea it looks like a problem with editing comments in general. What version are you using? This sounds like this issue:

http://issues.liferay.com/browse/LPS-13256

Look at fisheye to see the changes so you can create a patch for yourself.
Jan Bub,修改在13 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 78 加入日期: 11-3-2 最近的帖子
Hey. I tried it on 6.06. First time it seemed to work but know I have the same issue. Also with the official Page Comment PlugIn. Hoping for 6.0.7.
thumbnail
Navin D Singh,修改在11 年前。

RE: Using Liferay-ui:disscussion

Junior Member 帖子: 40 加入日期: 08-7-15 最近的帖子
LifeRay 6.0 SP2 EE with Tomcat 6.0

Can anyone help me to get around the issue I am facing while creating message board entry through web services.
No problem when deleting, getting the information but when I try to create an entry this is what I get:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.rmi.RemoteException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:HQ-10642-E4310

java.rmi.RemoteException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.liferay.portlet.messageboards.service.http.Portlet_MB_MBMessageServiceSoapBindingStub.addMessage(Portlet_MB_MBMessageServiceSoapBindingStub.java:554)
at MessageBoardBroker.main(MessageBoardBroker.java:64)
kalkidan chekol,修改在8 年前。

RE: Using Liferay-ui:disscussion

New Member 帖子: 3 加入日期: 15-6-15 最近的帖子
if you are using Liferay 6.2

use :
PortletActionInvoker.processAction("com.liferay.portlet.messageboards.action.EditDiscussionAction", null, actionRequest, actionResponse);

in your java class that extends MVCPortlet.

worked for me.