Foren

Création d'un Web service

Lechat Jérémy, geändert vor 12 Jahren.

Création d'un Web service

New Member Beiträge: 14 Beitrittsdatum: 13.04.12 Neueste Beiträge
Bonjour je suis étudiant et actuellement en stage.
Le sujet de mon stage est le développement d'un portail collaboratif et on a décidé d'utiliser Liferay comme support.
Je suis donc débutant sur cette technologie.
J'utilise Liferay IDE sur eclipse, un serveur Tomcat et une bdd MySQL

Avec le service builder, j'ai créé un portlet une entité "Tool" et généré la table de ma base de données.
Dans ce portlet, j'ai réussi à lire les informations de ma base de données, les modifier, les supprimer et en ajouter.

Je souhaite maintenant créer un second portlet qui utilisera des entités "Tool" dans un but différent. Je souhaite donc créer des services web sur le premier portlet. C'est à partir de ce moment que ça coince ...

Pour créer mes services j'ai:
[indent]
- mis la variable "remote-service" du fichier service.xml à true pour générer les fichiers.
<service-builder package-path="com.liferay.tool">
	<namespace>TB</namespace>
	<entity name="Tool" local-service="true" remote-service="true">
		<!-- PK fields -->
		<column name="toolId" type="long" primary="true">
		</column>

		<!-- Audit fields -->
		<column name="userId" type="long"></column>
		<!-- Other fields -->
		<column name="name" type="String"></column>
		<column name="path" type="String"></column>
		<column name="imagePath" type="String"></column>
		<column name="nfm_bd" type="long"></column>
		<column name="nfm_bg" type="long"></column>

		<!-- Order -->
		<order by="desc">
			<order-column name="name"></order-column>
		</order>
		<!-- Finder methods -->
		<finder name="Name" return-type="Collection">
			<finder-column name="name"></finder-column>
		</finder>
	</entity>
</service-builder>

-Fait un build-service
-créé une méthode de test dans la classe com.liferay.tool.service.http.ToolServiceSoap
-Ajouter un servlet dans le fichier web.xml
<servlet> 
	  	<servlet-name>JSON Web Service Servlet</servlet-name> 
	  	<servlet-class>com.liferay.portal.kernel.servlet.PortalClassLoaderServlet</servlet-class> 
	  	<init-param> 
	  		<param-name>servlet-class</param-name> 
	  		<param-value>com.liferay.portal.jsonwebservice.JSONWebServiceServlet</param-value> 
		</init-param> 
		<load-on-startup>0</load-on-startup> 
	</servlet> 
	<servlet-mapping> 
		<servlet-name>JSON Web Service Servlet</servlet-name> 
		<url-pattern>/api/jsonws/*</url-pattern> 
	</servlet-mapping> 
	<servlet-mapping> 
		<servlet-name>JSON Web Service Servlet</servlet-name> 
		<url-pattern>/api/secure/jsonws/*</url-pattern> 
	</servlet-mapping>

- Fait un build-WSDD
[/indent]

Je visualise la liste des webs service de mon portail à l'url:
http://127.0.0.1:8080/api/axis

Mais mon service n’apparaît pas, j'ai beau chercher, je ne comprend pas pourquoi.

j'ai bien mon fichier server-config avec dedans:
<service name="Plugin_TB_ToolService" provider="java:RPC" style="rpc" use="encoded">
		<operation xmlns:operns="urn:http.service.tool.liferay.com" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="numTest" qname="operNS:numTest" returnqname="numTestReturn" returntype="rtns:int" soapaction=""> </operation>
		<parameter name="allowedMethods" value="numTest" />
		<parameter name="className" value="com.liferay.tool.service.http.ToolServiceSoap" />
		<parameter name="typeMappingVersion" value="1.2" />
		<parameter name="wsdlPortType" value="ToolServiceSoap" />
		<parameter name="wsdlServiceElement" value="ToolServiceSoapService" />
		<parameter name="wsdlServicePort" value="Plugin_TB_ToolService" />
		<parameter name="wsdlTargetNamespace" value="urn:http.service.tool.liferay.com" />
	</service>


j'ai un jar nommé ToolBox-portlet-service.jar dans mon dossier lib ...

Il me manque certainement quelque chose, quelqu'un pourrait m'expliquer à quel moment je me suis planté dans ma démarche svp.

Merci d'avance
thumbnail
Leo Pratlong, geändert vor 12 Jahren.

RE: Création d'un Web service

Expert Beiträge: 363 Beitrittsdatum: 06.07.10 Neueste Beiträge
Avez-vous une erreur quelconque qui apparaît dans les logs ?
Lechat Jérémy, geändert vor 12 Jahren.

RE: Création d'un Web service

New Member Beiträge: 14 Beitrittsdatum: 13.04.12 Neueste Beiträge
Bonjour,

Je suis désolé,j'avais oublier ce post.

J'ai régler mon problème mais je ne sais pas trop d'où venait mon erreur. J'ai tout recommencé depuis le début en suivant cette démarche

Web service Liferay 6

Et j'ai réussi à le faire fonctionner sans savoir d'où venait l’erreur exactement ...

Merci quand même de votre réponse
thumbnail
Leo Pratlong, geändert vor 12 Jahren.

RE: Création d'un Web service

Expert Beiträge: 363 Beitrittsdatum: 06.07.10 Neueste Beiträge
Pas de problèmes emoticon. Merci pour le lien !
thumbnail
python shi, geändert vor 11 Jahren.

RE: Création d'un Web service

New Member Beiträge: 11 Beitrittsdatum: 03.07.12 Neueste Beiträge
Hi, Lechat,

your style="rpc", I have a problem about call liferay json web service use apache httpclient, the post json string just can be JSON RPC format, can't be normal, why?
If call liferay json web service must comply with JSON RPC 2.0 specification?


Thanks.