IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Symfony2] Création d'un web service SOAP


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [Symfony2] Création d'un web service SOAP
    Bonjour à tous,

    J'ai voulu créer un web service de type SOAP depuis mon projet Symfony2, seulement je rencontre une erreur un peu tenace !

    Dans mon contrôleur, j'ai tout d'abord créé la méthode serveur :

    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
     
     public function indexAction()
        {
        	$server = new \SoapServer('http://localhost/citelis2/lib/Payline.wsdl');
        	$server->setObject($this->get('payline_service'));
        	$server->returnURL = 'http://www.payline.com/';
        	$server->cancelURL = 'http://www.payline.com/';
        	$server->notificationURL = '';
     
        	$response = new Response();
        	$response->headers->set('Content-Type', 'text/xml; charset=ISO-8859-1');
     
        	ob_start();
        	$server->handle();
        	$response->setContent(ob_get_clean());
     
        	return $response;
        }
    Ensuite, toujours dans mon contrôleur, j'ai crée la méthode coté client :

    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
    26
    27
     
     public function createAction()
        {
    		...	
        	if ($request->getMethod() == 'POST') {    		
        	        $array = array();
        		$array['payment']['amount'] = $_POST['amount'];
        		$array['payment']['currency'] = $_POST['currency'];
        		$array['payment']['action'] = 101;
        		$array['payment']['mode'] = 'CPT';
        		$array['order']['ref'] = $_POST['ref'];
        		$array['order']['amount'] = $_POST['amount'];
        		$array['order']['currency'] = $_POST['currency'];
        		$array['payment']['contractNumber'] = '99999999';
        		$array['contracts'] = '99999999';
        		$array['secondContracts'] = '';
     
        		$client = new \Soapclient('http://localhost/example_lvl/web/app_dev.php/commande/soap?wsdl', true);
        		$result = $client->soapCall('doWebPayment',$array);
     
        		if(isset($result) && $result['result']['code'] == '00000'){
        			header("location:".$result['redirectURL']);
        			exit();
        		}
        		elseif(isset($result)) {
        			echo 'ERROR : '.$result['result']['code']. ' '.$result['result']['longMessage'].' <BR/>';
        		}
    Lorsque j'exécute l'URL "http://localhost/example_lvl/web/app_dev.php/commande/soap?wsdl", j'ai bien mon fichier WSDL qui est retourné donc je suppose que la méthode coté serveur fonctionne correctement...

    Cependant, à l'appel de la fonction "$client->soapCall('doWebPayment',$array);", je rencontre le message d'erreur suivant :

    CRITICAL - Uncaught PHP Exception SoapFault: "SoapClient::SoapClient(): Invalid parameters" at E:\Workspace\example_website\src\Example\CommandeBundle\Controller\CommandeController.php line 182
    Quelqu'un a-t-il déjà rencontré ce type d'erreur ?

    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Points : 82
    Points
    82
    Par défaut
    SoapClient::SoapClient(): Invalid parameters
    C'est écrit, le constructeur attends un tableau en deuxième paramètre.

    Pourquoi tu dis que l'erreur vient de $client->soapCall alors que l'erreur PHP te dis SoapClient::SoapClient() ?

Discussions similaires

  1. Appels de Web services (SOAP) ?
    Par ovdbc dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 17/10/2007, 11h28
  2. Création d'un web service
    Par lr dans le forum Services Web
    Réponses: 8
    Dernier message: 26/06/2007, 11h51
  3. Déploiement web services SOAP sur Websphere 5.1
    Par g_rare dans le forum Websphere
    Réponses: 1
    Dernier message: 19/03/2007, 10h30
  4. web services, soap et compression.
    Par renaudjuif dans le forum Langage
    Réponses: 6
    Dernier message: 31/07/2006, 15h44
  5. [Web Service] [SOAP] Envoie requete
    Par _beber85 dans le forum JDBC
    Réponses: 1
    Dernier message: 08/06/2006, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo