- 1
[Opened] [RESOLU] Xml-rpc 404 not found - pb sur ma config !
Posted by e-media on 10/03/2012 11:57
Bonjour Laurent,
J'utilise actuellement jelix 1.3.3, avec le module jcommunity + master_admin et avec les points d'entrée www/index.php et www/admin.php correctement configurés et fonctionnels.
J'essaye d'utiliser xml-rpc comme indiqué dans la Doc xml-rpc 1.3.3.
J'ai suivi à la lettre :
- Créé le point d'entrée
www/xmlrpc.php
avec le code qui va bien et en créant levar/config/xmlrpc.ini.php
avec;<?php die(''); ?>
sans rien d'autre. - Dans
var/config/defaultconfig.ini.php
section[simple_urlengine_entrypoints]
j'ai ajoutéxmlrpc="@xmlrpc"
- Dans
var/config/defaultconfig.ini.php
j'aimodulesPath="lib:jelix-admin-modules/,lib:jelix-modules/,app:modules/,app:admin-modules/"
- J'ai créé dans
admin-modules/myModule/controllers/default.xmlrpc.php
class defaultCtrl extends jController { /** * */ public $pluginParams = array( '*' => array('auth.required' => false) ); function index() { $rep = $this->getResponse('xmlrpc'); $rep->response = array("TEST" => "xmlrpc", "version" => "1.0" ); return $rep; } }
- appel depuis un client xml-rpc la méthode
'myModule:default:index'
(idem si je deplace le controller versmodules/myModulePublic/controllers
avec appel'myModulePublic:default:index'
)
En retour j'ai un xml ;-) qui contient
<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <struct> <member> <name>error</name> <value><string>404 not found (wrong action)</string></value> </member> </struct> </value> </param> </params> </methodResponse>
Aurais-je omis quelque chose dans la config ? ou d'autres pistes car là je sèche...
Merci pour ta réponse. e-media
e-media
[Opened] Xml-rpc 404 not found - pb sur ma config ?
Posted by e-media on 10/03/2012 16:05
Visiblement à force de jLog j'ai remonté que l'exception part de jSelectorActFast
:
... protected function _createPath(){ global $gJConfig; if(!isset($gJConfig->_modulesPathList[$this->module])){ throw new jExceptionSelector('jelix~errors.selector.module.unknown', $this->toString()); }else{ $this->_path = $gJConfig->_modulesPathList[$this->module].'controllers/'.$this->controller.'.'.$this->request.'.php'; } } ...
Dans la méthode process()
de jCoordinator.class.php
j'ai bien le bon module (myModule), la bonne action (default:index)., mais c'est le code suivant qui instancie un jSelectorActFast
et qui propage l'exception notfoundAct en xml puisque xmlrpc.
... try{ $this->action = new jSelectorActFast($this->request->type, $this->moduleName, $this->actionName); if($gJConfig->modules[$this->moduleName.'.access'] < 2){ throw new jException('jelix~errors.module.untrusted',$this->moduleName); } $ctrl = $this->getController($this->action); }catch(jException $e){ if ($gJConfig->urlengine['notfoundAct'] =='') { throw $e; } try { $this->action = new jSelectorAct($gJConfig->urlengine['notfoundAct']); $ctrl = $this->getController($this->action); }catch(jException $e2){ throw $e; } } ...
Donc que doit contenir $gJConfig->_modulesPathList[$this->module] ? ou est-ce que c'est initialisé ?
e-media
[Opened] Xml-rpc 404 not found - pb sur ma config ou bug ? Ticket ou pas Ticket ?
Posted by e-media on 10/04/2012 09:55
En regardant de plus près grace à jLog j'ai :
2012-10-04 09:42:30 127.0.0.1 notice module=myModule 2012-10-04 09:42:30 127.0.0.1 notice modPathlist: array ( 'jelix' => ...\\...\\htdocs\\lib\\jelix/core-modules/jelix/', )
Mais ou sont passés les éléments de la configuration du defaultconfig.ini.php
?
modulesPath="lib:jelix-admin-modules/,lib:jelix-modules/,app:modules/,app:admin-modules/"
Pour info j'ai rajouté la ligne précédente aussi dans mon var/config/xmlrpc/config.ini.php
directement apres le die(), en vain...
;<?php die(''); ?> ;for security reasons , don't remove or modify the first line modulesPath="lib:jelix-admin-modules/,lib:jelix-modules/,app:modules/,app:admin-modules/"
Ne serais-ce pas un bug au final ? Ou il me manque quelques infos pour parachever ma config ? Laurent ticket ou pas ticket ?
Merci pour vos éclaircissements. e-media
e-media
[Opened] Xml-rpc 404 not found - pb sur ma config !
Posted by e-media on 10/04/2012 11:35
Ca y est je viens de résoudre ce pb, pour ceux qui sont preneur de l'info, il faut rajouter dans var/config/installer.ini.php
une section
[xmlrpc] myModule.installed=1 myModule.version=0.1pre
- Sinon pour être plus rigoureux, il faut procéder à l'ajout de l'entrypoint dans le fichier
project.xml
:
... <entry file="xmlrpc.php" config="xmlrpc/config.ini.php" type="xmlrpc"/> </entrypoints> ...
- puis lancer la commande suivante depuis un shell :
php cmd.php installmodule -ep xmlrpc.php myModule
@+ e-media
e-media
[Opened] [RESOLU] Xml-rpc 404 not found - pb sur ma config !
Posted by laurentj on 10/05/2012 13:11
Bonjour,
il aurait tout simplement fallu, au début, utiliser la commande jelix-script createentrypoint
qui fait tout pour toi.
Mais je reconnais qu'il y a un manque dans le manuel.
[Opened] [RESOLU] Xml-rpc 404 not found - pb sur ma config !
Posted by e-media on 10/05/2012 13:46
Ok merci, Laurent, pour cette info.
J'en prends bonne note et améliore ma connaissance de jelix grace à ton retour.
e-media
e-media
- 1