Foros de discusión

Error with service builder in ext plugin in liferay 6ee-sp1 [SOLVED]

Lirone75 M., modificado hace 12 años.

Error with service builder in ext plugin in liferay 6ee-sp1 [SOLVED]

Regular Member Mensajes: 118 Fecha de incorporación: 19/03/07 Mensajes recientes
Hello,

I try to create a new service in ext plugin.

In docroot/WEB-INF/ext-service/src I created this service.xml :

<!--?xml version="1.0" encoding="UTF-8"?-->

<service-builder package-path="my.service.package">
	<author>me</author>
	<namespace>myService</namespace>

	<entity name="MyEntityl"></entity>
	
</service-builder>


Then I had this error :

[java] com.liferay.portal.kernel.xml.DocumentException: ${service.file} (No such file or directory) Nested exception: ${service.file} (No such file or directory)


I read here the hint to fix it :
http://www.liferay.com/community/forums/-/message_boards/message/8020689
http://www.liferay.com/community/forums/-/message_boards/message/5464304


So I run the ant task with option -Dservice.file=docroot/WEB-INF/ext-service/src/service.xml
It seems that now it finds the service.xml, because some classes was generated, and above all now it seems that it tries to find another service.xml file defined by the attribue package-path of the service.xml (package-path="my.service.package"), as I have now this error :


[java] java.io.IOException: Unable to open resource in class loader my/service/package/service.xml
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:604)
[java] at com.liferay.portal.kernel.util.StringUtil.read(StringUtil.java:567)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getEntity(ServiceBuilder.java:1215)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createRemotingXml(ServiceBuilder.java:2742)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:1063)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:375)
[java] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:140)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:764)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:218)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:132)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:105)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[java] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:357)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:385)
[java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[java] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:423)
[java] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:137)



I don't understand why and how to fix this problem, did you ever had this problem ?
thumbnail
Mika Koivisto, modificado hace 12 años.

RE: Error with service builder in ext plugin in liferay 6ee-sp1

Liferay Legend Mensajes: 1519 Fecha de incorporación: 7/08/06 Mensajes recientes
You need to place your service.xml in docroot/WEB-INF/ext-impl/src/my/service/package/service.xml and run service builder with
ant build-service -Dservice.file=docroot/WEB-INF/ext-impl/src/my/service/package/service.xml
Lirone75 M., modificado hace 12 años.

RE: Error with service builder in ext plugin in liferay 6ee-sp1

Regular Member Mensajes: 118 Fecha de incorporación: 19/03/07 Mensajes recientes
Mika Koivisto:
You need to place your service.xml in docroot/WEB-INF/ext-impl/src/my/service/package/service.xml and run service builder with
ant build-service -Dservice.file=docroot/WEB-INF/ext-impl/src/my/service/package/service.xml



Yes after many times, I conclude this. But I also expected why ?

Many people works with me on this issue, and proposes to me another solution because the ant task build-service in build-common-ext.xml was not correct and seems buggy, and so adviced me to copy/paste "build-service" ant task located in file build-common-plugin.xml in build-common-ext.xml.

Indeed, copying "build-service" from build-common-plugin.xml to build-common-ext.xml, makes things works also very fine.

So why doesn't it work like for other types of plugins : portlet, hook ?
thumbnail
Mika Koivisto, modificado hace 12 años.

RE: Error with service builder in ext plugin in liferay 6ee-sp1

Liferay Legend Mensajes: 1519 Fecha de incorporación: 7/08/06 Mensajes recientes
It works similarly to old Ext where you could have several service.xml's like in the core portal itself.