plugin ckWebServicePlugin paramétres vide
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:
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);
} |
Code:
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;
} |
Voilà mon test fonctionnel:
Code:
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); |
Le test de mon service retourne une fault parce le paramètre $param1 est vide.
voilà ce que vaux message dans le var_dump de $result :
Code:
1 2
| ["message"]=>
string(9) "$param1 =" |
Je ne comprends vraiment pas pourquoi...
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 :
Code:
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 |
Est ce que quelqu'un peux m'aider ?
en espérant avoir été suffisamment clair