Foros de discusión

Crear un servicio y publicar en tunnel-web

Daniel Valverde, modificado hace 10 años.

Crear un servicio y publicar en tunnel-web

New Member Mensajes: 13 Fecha de incorporación: 8/07/13 Mensajes recientes
Buenas a todo,

Necesito desarrollador un servicio y publicarlo por el tunnel-web, se que liferay tiene el service-builder la cuestion es que como yo he usado service - builder hasta ahora le tienes que definir unas entidades en el service.xml y cuando creas el servicios estas entidades generadas te genera las respectivas tablas, y no es lo que necesito lo que necesito es un servicio con una serie de funcionalidades definidad y que sean accesible desde el tunnel-web por SOAP sin que sea necesario de definir una entidad.

Gracias por adelantado.
thumbnail
Gustavo Fernández Gómez, modificado hace 10 años.

RE: Crear un servicio y publicar en tunnel-web

Regular Member Mensajes: 191 Fecha de incorporación: 26/10/07 Mensajes recientes
Un servicio definido en el service-builder creo que no tiene que tener necesariamente capa de acceso a datos. Por ejemplo puedes usar este xml y verás que genera la capa de servicio pero no el DAO.


<!--?xml version="1.0"?-->

<service-builder package-path="net.zylk.portlet.asset.ext.builder" auto-namespace-tables="true">
	<author>zylk.net</author>
	<namespace>AssetExtServices</namespace>
	<entity name="AssetExt" local-service="true" remote-service="true">
		<reference package-path="com.liferay.portlet.asset" entity="AssetTag" />
		<reference package-path="com.liferay.portlet.asset" entity="AssetEntry" />
		<reference package-path="com.liferay.portlet.journal" entity="JournalArticle" />
	</entity>
	<exceptions>
		<exception>AssetExtGenericException</exception>
	</exceptions>
</service-builder>


No se si es la mejor opción pero así consigues un servicio que liferay expone en las capas que quieras, que es transaccional con respecto a los servicios inyectados etc ... y que no tiene acceso a datos ni crea tablas (creo). Nosotros en nuestros proyecto de liferay usamos este modelo para agrupar funcionalidades de liferay y exponerlas como servicios para consumirlas después.
Daniel Valverde, modificado hace 10 años.

RE: Crear un servicio y publicar en tunnel-web

New Member Mensajes: 13 Fecha de incorporación: 8/07/13 Mensajes recientes
Gustavo Fernández Gómez:
Un servicio definido en el service-builder creo que no tiene que tener necesariamente capa de acceso a datos. Por ejemplo puedes usar este xml y verás que genera la capa de servicio pero no el DAO.


<!--?xml version="1.0"?-->

<service-builder package-path="net.zylk.portlet.asset.ext.builder" auto-namespace-tables="true">
	<author>zylk.net</author>
	<namespace>AssetExtServices</namespace>
	<entity name="AssetExt" local-service="true" remote-service="true">
		<reference package-path="com.liferay.portlet.asset" entity="AssetTag" />
		<reference package-path="com.liferay.portlet.asset" entity="AssetEntry" />
		<reference package-path="com.liferay.portlet.journal" entity="JournalArticle" />
	</entity>
	<exceptions>
		<exception>AssetExtGenericException</exception>
	</exceptions>
</service-builder>


No se si es la mejor opción pero así consigues un servicio que liferay expone en las capas que quieras, que es transaccional con respecto a los servicios inyectados etc ... y que no tiene acceso a datos ni crea tablas (creo). Nosotros en nuestros proyecto de liferay usamos este modelo para agrupar funcionalidades de liferay y exponerlas como servicios para consumirlas después.


Gracias Gustavo por tu pronta respuesta, eso es lo que verdaderamente queremos hacer nosotros un servicio que agrupa las funcionalidades del gestor de documentos de liferay y publicarlo para que lo puedan consumir.
thumbnail
Sampsa Sohlman, modificado hace 10 años.

RE: Crear un servicio y publicar en tunnel-web

Regular Member Mensajes: 230 Fecha de incorporación: 27/09/07 Mensajes recientes
Hola Daniel,

Por favor, trata hacer pregunta solo un vez emoticon

Mira mi respuesta en https://www.liferay.com/community/forums/-/message_boards/message/27044008