- 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.phpavec le code qui va bien et en créant levar/config/xmlrpc.ini.phpavec;<?php die(''); ?>sans rien d'autre. - Dans
var/config/defaultconfig.ini.phpsection[simple_urlengine_entrypoints]j'ai ajoutéxmlrpc="@xmlrpc" - Dans
var/config/defaultconfig.ini.phpj'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/controllersavec 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

