Service-Builder issue in Liferay 5.1.*

thumbnail
31576, modified 17 Years ago. Liferay Master Posts: 993 Join Date: 4/27/07 Recent Posts
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
thumbnail
807074, modified 17 Years ago. Liferay Master Posts: 535 Join Date: 5/16/08 Recent Posts
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.
thumbnail
1389309, modified 17 Years ago. New Member Posts: 4 Join Date: 10/6/08 Recent Posts
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;
thumbnail
1389309, modified 17 Years ago. New Member Posts: 4 Join Date: 10/6/08 Recent Posts
It generates everything else except the Exception files? Why is this?
thumbnail
11261, modified 17 Years ago. New Member Posts: 8 Join Date: 6/27/07 Recent Posts
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:

<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.
thumbnail
1389309, modified 17 Years ago. New Member Posts: 4 Join Date: 10/6/08 Recent Posts
I followed the above instructions and was met with the same results. All my types are valid
Integer, Long, Boolean, String, Date
thumbnail
11261, modified 17 Years ago. New Member Posts: 8 Join Date: 6/27/07 Recent Posts
I think there is something wrong with the service.xml, namely because of this:

[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.
thumbnail
1389309, modified 17 Years ago. New Member Posts: 4 Join Date: 10/6/08 Recent Posts
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.
thumbnail
594176, modified 15 Years ago. Regular Member Posts: 237 Join Date: 3/25/08 Recent Posts
Has anyone got luck in this?

Thanks,
Archi