Foren

what's the problem in my service.xml file

thumbnail
guru murthy, geändert vor 12 Jahren.

what's the problem in my service.xml file

Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Hi Everyone ,

I am working with Liferay plugins (V5.1.2) and i wrote the service.xml like below .


<?xml version="1.0" ?>

<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 5.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_5_1_0.dtd">

<service-builder package-path="com.sample.jsp.portlet">
<namespace>association</namespace>
<entity name="Position" local-service="true" remote-service="false" >
<column name="id" type="Integer" primary="true" id-type="increment" />
<column name="name" type="String" />
<column name="groupId" type="Long" />
<column name="parentId" type="Integer" />
<column name="description" type="String" />

<finder return-type="Position" name="Name">
<finder-column name="name" />
</finder>
<finder return-type="Collection" name="ParentId">
<finder-column name="parentId" />
</finder>
<finder return-type="Collection" name="GroupId">
<finder-column name="groupId" />
</finder>
</entity>
</service-builder>


So here there are 3 defined finder methods , when i called findByName("Admin") I got the below error .


12:19:04,658 ERROR [BasePersistenceImpl:52] Caught unexpected exception java.lang.IllegalArgumentException
com.liferay.portal.SystemException: java.lang.IllegalArgumentException: No positional parameters in query: SELECT COUNT(*) FROM com.sample.jsp.portlet.model.Position WHERE name = ?
at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:78)
at com.sample.jsp.portlet.service.persistence.PositionPersistenceImpl.countByName(PositionPersistenceImpl.java:1024)
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:310)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy559.countByName(Unknown Source)
at com.sample.jsp.portlet.service.persistence.PositionUtil.countByName(PositionUtil.java:226)
at com.sample.jsp.portlet.action.PositionPortlet.addPosition(PositionPortlet.java:73)
at com.sample.jsp.portlet.action.PositionPortlet.processAction(PositionPortlet.java:36)
at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:93)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:57)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:96)
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:630)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:575)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:618)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:354)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:622)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:407)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:189)
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:164)
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:443)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:708)
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:630)
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:144)
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:132)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:117)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
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:132)
at com.liferay.portal.servlet.filters.compression.CompressionFilter.processFilter(CompressionFilter.java:141)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
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:132)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:282)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
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:132)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:74)
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:132)
at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.processFilter(LayoutCacheFilter.java:432)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
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:132)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:199)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
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:630)
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.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:264)
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:132)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:74)
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 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:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalArgumentException: No positional parameters in query: SELECT COUNT(*) FROM com.sample.jsp.portlet.model.Position WHERE name = ?
at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:332)
at org.hibernate.impl.AbstractQueryImpl.setString(AbstractQueryImpl.java:457)
at com.liferay.portal.dao.orm.hibernate.QueryImpl.setString(QueryImpl.java:139)
at com.liferay.portal.kernel.dao.orm.QueryPos.add(QueryPos.java:122)
at com.sample.jsp.portlet.service.persistence.PositionPersistenceImpl.countByName(PositionPersistenceImpl.java:1002)
... 104 more



can anybody tell where i done mistake in my service.xml file . Please......
Thanks ...
G.Gurumurthy .
thumbnail
Pranay R Patadiya, geändert vor 12 Jahren.

RE: what's the problem in my service.xml file

Regular Member Beiträge: 177 Beitrittsdatum: 23.02.10 Neueste Beiträge
can you double check the name and type of the finder column?

Thanks,
Pranay
thumbnail
guru murthy, geändert vor 12 Jahren.

RE: what's the problem in my service.xml file

Regular Member Beiträge: 208 Beitrittsdatum: 12.08.11 Neueste Beiträge
Hi Pranay ,

I checked all things . The return type of finder method is Entity [Position] only . I inserted two rows in a table in manual process . after that I called findAll() method . it's returning the list with zero records .

Another scenario , I called countByName("Admin") . as per these method also i got exception as shown below .


java.lang.IllegalArgumentException: No positional parameters in query: SELECT COUNT(*) FROM com.sample.jsp.portlet.model.Position WHERE name = ?




Thanks ..
G.Gurumurthy