Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] service web soap

Posted by virtuel2000 on 07/21/2011 22:53

Bonjour a tous. Je commence ma premiere appli Web Service soap avec Jelix (ver 1.3b1). J'ai suivi en partie le tuto de la doc. J'ai créé le point d'entré avec la commande :

  php cmd.php createentrypoint -type soap soap.php

puis le contrôleur avec la commande :

  php cmd.php createctrl ulog server

(ulog étant le nom de mon projet, crée également par la commande createapp) j'ai ensuite déclaré le point d'entré (soap = "@soap"). le souci est que, quand je lance l'url http://monserveur.com/index.php?module=jWSDL&action=WSDL:wsdl&service=ulog~server j'ai l'erreur suivant dans mon fichier log :

2011-07-21 22:20:39	192.168.1.48	error	2011-07-21 22:20:39	192.168.1.48	[[18]]	Unknown module in the selector "jWSDL~WSDL:wsdl@classic"	/xxx/web/yyy/trunk/lib/jelix/core/selector/jSelectorActFast.class.php	50
<code>
	/index.php?module=jWSDL&action=WSDL:wsdl&service=ulog~server

array ( 'module' => 'jWSDL', 'action' => 'WSDL:wsdl', 'service' => 'ulog~server', )

	0	jSelectorActFast->_createPath()	/xxx/web/yyy/trunk/lib/jelix/core/selector/jSelectorActFast.class.php : 44
	1	jSelectorActFast->__construct()	/xxx/web/yyy/trunk/lib/jelix/core/jCoordinator.class.php : 163
	2	jCoordinator->process()	/xxx/web/yyy/trunk/ulog/www/index.php : 19
</code>

Je ne vois pas très bien ou j'ai merdé. Quelqu'un peut il m'aider ?

Merci d'avance

  [Opened] service web soap

Reply #1 Posted by virtuel2000 on 07/22/2011 02:23

Je teste autre approche, un peut au hasard ! Sachant que j'ai créé un entrypoint soap.php, je m'y connecte pour voir ! De la manière suivante :

http://monserveur.com:81/soap.php?module=jWSDL&action=WSDL:wsdl&service=ulog~server

Et j'ai l'erreur suivante :

2011-07-22 02:19:54	192.168.1.48	error	2011-07-22 02:19:54	192.168.1.48	[[200]]	The given locale key "jWSDL~errors.wsdl.generation" is invalid (for charset UTF-8, lang en_EN)	/xxx/web/yyy/trunk/lib/jelix/utils/jWSDL.class.php	185
<code>
	/soap.php?module=jWSDL&action=WSDL:wsdl&service=ulog~server

array ( 'module' => 'ulog', 'action' => 'server', )

	0	jWSDL->_compile()	/xxx/web/yyy/trunk/lib/jelix/utils/jWSDL.class.php : 160
	1	jWSDL->_updateWSDL()	/xxx/web/yyy/trunk/lib/jelix/utils/jWSDL.class.php : 117
	2	jWSDL->getWSDLFilePath()	/xxx/web/yyy/trunk/lib/jelix/core/jSoapCoordinator.class.php : 68
	3	jSoapCoordinator->getSoapServer()	/xxx/web/yyy/trunk/lib/jelix/core/jSoapCoordinator.class.php : 50
	4	jSoapCoordinator->processSoap()	/xxx/web/yyy/trunk/ulog/www/soap.php : 24
</code>

Il semble y avoir un souci de localisation... Je ne sais pas, tout d'abord si c'est logique de me connecter directement sur le entrypoint, et si oui, ce qui cause ce souci de localisation.

Merci d'avance pour vos lumières

  [Opened] service web soap

Reply #2 Posted by foxmask on 07/22/2011 09:00

Bonjour,

A priori je penche, pour la premiere erreur de locale, pour une absence de wsdl.generation dans le fichiers errors du module core jelix.

Ensuite si j'essaye de deviner ce que ce msg d'erreur WSDL donne, ca sent un pb de generation de WSDL.

Pour en être sûr il faudrait que Laurentj passe par là :-)

Sinon c'est bel et bien le bon entrypoint qui est utilisé


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Re: service web soap

Reply #3 Posted by virtuel2000 on 07/22/2011 10:20

Merci pour cette première réponse ! En réalité, j'ai pris le testapp, dans lequel il y a aussi un exemple de service web soap. Visblement, il faut passet pas le point d'entré&e par défaut, donc index.php (et pas soap.php), et un autre post découvert entre temps à tendance à dire cela aussi (j'avoue que je ne sais pas trop). En utilisant le point d'entrée soap.php, j'ai corrigé un petit souci. En effet, j'avais laissé la méthode indev cré automatiquement. je l'ai supprimé, et laissé juste la méthode hello. Résultat, plus de message d'erreur concernant la traduction, mais un retour qui ressemble à l'XML suivant :

<SOAP-ENV:Envelope>
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
           <faultcode>SOAP-ENV:Client</faultcode>
           <faultstring>Bad Request</faultstring>
        </SOAP-ENV:Fault>
     </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Voilà. Donc je ne sais toujours pas si je dois cherche du côté du index.php ou de soap.php.

JE continu mes investigation, et met à jour ce post. Et si qq1 à des idées, je suis preneur

  [Opened] service web soap

Reply #4 Posted by laurentj on 07/30/2011 11:21

Bonjour,

Il faut installer le module jWSDL avec la commande installmodule, sur le point d'entrée index.

Le point d'entrée soap.php est dédié uniquement aux services web soap, pas wsdl.

 
Page
  1. service web soap