Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
Service-Builder issue in Liferay 5.1.*
There is service-builder issue in Liferay 5.1.*
com.ext.portlet.user.NoSuchException is not generated but is used by other codes.
such as ExtUserPersistence, ExtUserUtil, etc.
---------------------------------------
Buildfile: C:\Training\PalmTree\workspace\ext\ext-impl\build.xml
build-service:
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/system.properties
[java] Loading file:/C:/Training/PalmTree/workspace/ext/ext-impl/classes/system-ext.properties
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/portal.properties
[java] Loading file:/C:/Training/PalmTree/workspace/ext/ext-impl/classes/portal-ext.properties
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
[java] 16:47:41,843 INFO [PortalImpl:228] Portal lib directory /C:/Training/PalmTree/workspace/ext/lib/portal/util-java.jar!/
[java] Building ExtUser
[java] Writing src\com\ext\portlet\user\service\persistence\ExtUserPersistenceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\persistence\ExtUserPersistence.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\persistence\ExtUserUtil.java
[java] Writing src\com\ext\portlet\user\model\impl\ExtUserModelImpl.java
[java] Writing src\com\ext\portlet\user\model\impl\ExtUserImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUserModel.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUser.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUserSoap.java
[java] Writing src\com\ext\portlet\user\service\base\ExtUserLocalServiceBaseImpl.java
[java] Writing src\com\ext\portlet\user\service\impl\ExtUserLocalServiceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalService.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalServiceFactory.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalServiceUtil.java
[java] Writing src\com\ext\portlet\user\service\base\ExtUserServiceBaseImpl.java
[java] Writing src\com\ext\portlet\user\service\impl\ExtUserServiceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserService.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserServiceFactory.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserServiceUtil.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceHttp.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceJSON.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserJSONSerializer.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceSoap.java
[java] java.lang.NullPointerException
[java] at java.io.Reader.<init>(Unknown Source)
[java] at java.io.InputStreamReader.<init>(Unknown Source)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:530)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:519)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:488)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1094)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2124)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:971)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:390)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:157)
compile:
[javac] Compiling 11 source files to C:\Training\PalmTree\workspace\ext\ext-service\classes
BUILD SUCCESSFUL
Total time: 7 seconds
com.ext.portlet.user.NoSuchException is not generated but is used by other codes.
such as ExtUserPersistence, ExtUserUtil, etc.
---------------------------------------
Buildfile: C:\Training\PalmTree\workspace\ext\ext-impl\build.xml
build-service:
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/system.properties
[java] Loading file:/C:/Training/PalmTree/workspace/ext/ext-impl/classes/system-ext.properties
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/portal.properties
[java] Loading file:/C:/Training/PalmTree/workspace/ext/ext-impl/classes/portal-ext.properties
[java] Loading jar:file:/C:/Training/PalmTree/workspace/ext/modules/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
[java] 16:47:41,843 INFO [PortalImpl:228] Portal lib directory /C:/Training/PalmTree/workspace/ext/lib/portal/util-java.jar!/
[java] Building ExtUser
[java] Writing src\com\ext\portlet\user\service\persistence\ExtUserPersistenceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\persistence\ExtUserPersistence.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\persistence\ExtUserUtil.java
[java] Writing src\com\ext\portlet\user\model\impl\ExtUserModelImpl.java
[java] Writing src\com\ext\portlet\user\model\impl\ExtUserImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUserModel.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUser.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\model\ExtUserSoap.java
[java] Writing src\com\ext\portlet\user\service\base\ExtUserLocalServiceBaseImpl.java
[java] Writing src\com\ext\portlet\user\service\impl\ExtUserLocalServiceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalService.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalServiceFactory.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserLocalServiceUtil.java
[java] Writing src\com\ext\portlet\user\service\base\ExtUserServiceBaseImpl.java
[java] Writing src\com\ext\portlet\user\service\impl\ExtUserServiceImpl.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserService.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserServiceFactory.java
[java] Writing ..\ext-service\src\com\ext\portlet\user\service\ExtUserServiceUtil.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceHttp.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceJSON.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserJSONSerializer.java
[java] Writing src\com\ext\portlet\user\service\http\ExtUserServiceSoap.java
[java] java.lang.NullPointerException
[java] at java.io.Reader.<init>(Unknown Source)
[java] at java.io.InputStreamReader.<init>(Unknown Source)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:530)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:519)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:488)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1094)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2124)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:971)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:390)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:157)
compile:
[javac] Compiling 11 source files to C:\Training\PalmTree\workspace\ext\ext-service\classes
BUILD SUCCESSFUL
Total time: 7 seconds
Attachments:
Last week, I have seen this problem in trunk and not in 5.1.x branch.
I had not updated my 5.1.x workspace since one week.
I had not updated my 5.1.x workspace since one week.
was this issue ever resolved? My company has recently updated to 5.1.2 and I am having the same problem with Service Builder
build-service:
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/system.properties
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/portal.properties
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
[java] 2008-10-06 20:44:15,933 INFO [PortalImpl:228] Portal lib directory /C:/Developer/conenza/lib/portal/util-java.jar!/
[java] Building CommunityEvent
[java] Building CommunityEventVenue
[java] Building CommunityEventInvite
[java] Building CommunityEventContact
[java] Building CommunityEventOrganizer
[java] Building CommunityEventMemberCompany
[java] Building CommunityEventMember
[java] Building CommunityEventMemberContactInfo
[java] Building CommunityEventOrgRegion
[java] Building CommunityEventMailItem
[java] Building CommunityEventPhoto
[java] java.lang.NullPointerException
[java] at java.io.Reader.<init>(Reader.java:61)
[java] at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:530)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:519)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:488)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1094)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2124)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:971)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:390)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:157)
compile:
[javac] Compiling 121 source files to C:\Developer\conenza\ext-service\classes
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:10: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:47: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:68: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:74: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:80: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
build-service:
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/system.properties
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/portal.properties
[java] Loading jar:file:/C:/Developer/conenza/modules/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
[java] 2008-10-06 20:44:15,933 INFO [PortalImpl:228] Portal lib directory /C:/Developer/conenza/lib/portal/util-java.jar!/
[java] Building CommunityEvent
[java] Building CommunityEventVenue
[java] Building CommunityEventInvite
[java] Building CommunityEventContact
[java] Building CommunityEventOrganizer
[java] Building CommunityEventMemberCompany
[java] Building CommunityEventMember
[java] Building CommunityEventMemberContactInfo
[java] Building CommunityEventOrgRegion
[java] Building CommunityEventMailItem
[java] Building CommunityEventPhoto
[java] java.lang.NullPointerException
[java] at java.io.Reader.<init>(Reader.java:61)
[java] at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:530)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:519)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:488)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1094)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2124)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:971)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:390)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:157)
compile:
[javac] Compiling 121 source files to C:\Developer\conenza\ext-service\classes
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:10: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:47: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:68: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:74: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
[javac] ^
[javac] C:\Developer\conenza\ext-service\src\com\saic\events\service\persistence\CommunityEventMailItemPersistence.java:80: cannot find symbol
[javac] symbol : class NoSuchCommunityEventMailItemException
[javac] location: package com.saic.events
[javac] com.saic.events.NoSuchCommunityEventMailItemException;
It generates everything else except the Exception files? Why is this?
chances are that the service builder is looking for a service.xml file in the root of the package you created. here's how to fix it:
say you create a service xml for com.liferay.example.Entity - you put this service xml in the root of ext-impl and run it and it fails halfway through, similarly to the messages you posted earlier. move the service.xml file to ext-impl/src/com/liferay/example and edit the build.xml in ext-impl as such:
you can then call "build-service-example" and it should work.
say you create a service xml for com.liferay.example.Entity - you put this service xml in the root of ext-impl and run it and it fails halfway through, similarly to the messages you posted earlier. move the service.xml file to ext-impl/src/com/liferay/example and edit the build.xml in ext-impl as such:
<target name="build-service-example">
<antcall target="build-service">
<param name="service.file" value="src/com/liferay/example/service.xml">
</antcall>
</target>you can then call "build-service-example" and it should work.
I followed the above instructions and was met with the same results. All my types are valid
Integer, Long, Boolean, String, Date
Integer, Long, Boolean, String, Date
I think there is something wrong with the service.xml, namely because of this:
which indicates for me that service builder is choking somewhere. it is not very fault tolerant and will not tell you what you've done wrong. but in this case, the line that service builder crashes on, 1094, is instructive:
this is where it writes out the service.xml to the package dir that was defined in the xml. so, put an empty file in the package directory for your service, and re-run build-service. after that succeeds, modify your ant build.xml to point the the "new" one in the package dir.
[java] at java.io.Reader.<init>(Reader.java:61)
[java] at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:530)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:519)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:488)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1094)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2124)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:971)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:390)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:157)</init></init></init></init>which indicates for me that service builder is choking somewhere. it is not very fault tolerant and will not tell you what you've done wrong. but in this case, the line that service builder crashes on, 1094, is instructive:
FileUtil.write(
refFileName,
StringUtil.read(
classLoader, refPackageDir + "/service.xml"));this is where it writes out the service.xml to the package dir that was defined in the xml. so, put an empty file in the package directory for your service, and re-run build-service. after that succeeds, modify your ant build.xml to point the the "new" one in the package dir.
SOLUTION::
If you upgrade to Liferay 5.1.* all previous services must now place their service.xml files in the root of the package level specified in the file.
If you were to not change the scheme in your previous services(prior to upgrade). Then when the 5.1.x Service Builder reads through the ext-spring or remoting-servlet-ext , it checks all other services that are in that file for their service.xml either for changes/ or dependencies
prior to your new service beans being generated in the xml.
This is smart because bean naming conflicts or injecting the wrong dependencies once the Spring Context is loaded.
If you upgrade to Liferay 5.1.* all previous services must now place their service.xml files in the root of the package level specified in the file.
If you were to not change the scheme in your previous services(prior to upgrade). Then when the 5.1.x Service Builder reads through the ext-spring or remoting-servlet-ext , it checks all other services that are in that file for their service.xml either for changes/ or dependencies
prior to your new service beans being generated in the xml.
This is smart because bean naming conflicts or injecting the wrong dependencies once the Spring Context is loaded.
Has anyone got luck in this?
Thanks,
Archi
Thanks,
Archi