Bonjour,
J'utilise symfony 1.4. et le plugin ckWebServicePlugin.
Mon service fonctionne parfaitement
Cependant j'ai un soucis au niveau des testes fonctionnels.
Mon web services reçoit une requête avec des paramètres vides.
J'explique mon cas.
Voilà mon service:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 /** * Service MonService. * * @WSMethod(name='MonService', webservice='monAppSOAPI') * @WSHeader(name='AuthHeader', type='AuthData') * * @param string $param1 parametre numero 1 * * @return ResultMonService */ public function executeMonService($request) { $param1 = $request->getParameter('param1' , ''); $message ='$param1 = '.$param1 ; $this->result = new ResultMonService( '1', 'Test', $message); }Voilà mon test fonctionnel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //ResultMonService resemble juste à ceci : public function __construct($id, $name, $message) { $this->id = $id; $this->name = $name; $this->message = $message; }
Le test de mon service retourne une fault parce le paramètre $param1 est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php $app = 'monAPi'; $debug = true; include_once(dirname(__FILE__).'/../../bootstrap/soaptest.php'); error_reporting(E_ALL); ini_set('display_errors', '1'); $authData = new ClientAuthData('xxx', 'xxx'); $param1 = 'plop'; Doctrine_Core::loadData(sfConfig::get('sf_data_dir').'/fixtures/monservice'); $c = new ckTestSoapClient($options); $c ->addRequestHeader('AuthHeaderElement', $authData) ->MonService($param1) ->isFaultEmpty(); $result = $c->getResult(); var_dump($result);
voilà ce que vaux message dans le var_dump de $result :
Je ne comprends vraiment pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ["message"]=> string(9) "$param1 ="
J'ai fait la manip décrite ici:
http://blog.adin.pro/2012-12-21/ckwe...-empty-params/
Mais ça n'a rien changé.
J'ai aussi un message d'erreur surement lié à mon soucis :
Est ce que quelqu'un peux m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PHP Strict Standards: Declaration of ckTestSoapClient::__doRequest() should be compatible with SoapClient::__doRequest($request, $location, $action, $version, $one_way = NULL) in /xxxxxxx/plugins/ckWebServicePlugin/lib/test/ckTestSoapClient.class.php on line 506
en espérant avoir été suffisamment clair
Partager