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

XML/XSL et SOAP Discussion :

Requete Soap Client


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut Requete Soap Client
    Bonjour,

    Je débute dans l'utilisation de SOAP via PHP, et dès le départ je rencontre des problèmes: je dois me connecter via un WSDL à un Web Service. La connexion fonctionne(getFunctions() et getTypes me renvoient bien les fonctions et les types), mais lorsque j'essaie d'utiliser une fonction, j'ai une erreur " Not Found
    500 Internal Server Error - SoapFault " et rien d'autre. y'a t'il un moyen de débugger ca, de recevoir un peu plus de données sur l'erreur(mes logs Php et Apache ne contiennent rien)...Merci d'avance pour votre aide

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
            ini_set('display_errors', 1);
            ini_set('error_reporting', -1);
     
            $file = "https://62.209.222.22/data-receiver-ws/endpoints/DataService.wsdl";
     
            $client = new \Soapclient($file, array(
                'version' => SOAP_1_1,
                'cache_wsdl' => WSDL_CACHE_NONE,
                'cache_ttl' => 86400,
                'trace' => true,
                'exceptions' => true
            ));
     
            $functions = $client->__getFunctions();
            $types = $client->__getTypes();
            foreach ($functions as $value) {
    		var_dump($value);
    		echo "<br>";
            }
            echo "<br>";
            foreach ($types as $value) {
    		var_dump($value);
    		echo "<br>";
            }
            $test = array(
                "Header" => array(
                    "Verb" => "get",
                    "Noun" => "EnergyAccountReport",
                    "Context" => "PRODUCTION",
                    "Timestamp" => date("Y-m-d H:i:s"),
                    "AckRequired" => true
                ),
                "Request" => array(
                    "StartTime" => "2015-02-01 00:00:00",
                    "EndTime" => "2015-03-01 00:00:00",
                    "Options" => array(
                        array(
                            "name" => "DataItem",
                            "Value" => "DAY_AHEAD_AGGREGATED_GENERATION"
                        ),
                        array(
                            "name" => "AREA|CTA",
                            "Value" => "10YFR-RTE------C"
                        )
                    )
                )
            );
     
            $result = $client->__soapCall("request", [$test]);
            print_r($result);

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Il peut y avoir plusieurs petites choses à regarder voire corriger, mais ceci saute aux yeux.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            //$result = $client->__soapCall("request", [$test]);
            $result = $client->__soapCall("request", array('parameter'=>$test));

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut
    Je viens d'essayer, mais ca me renvoie toujours la même chose...

    ps: pourquoi ajouter 'parameter'?? j'ai pas compris l'intérêt...

    Merci de ton aide.

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Quand vous avez certains types propre à xsd qui n'ont pas une correspondance simple et directe à php, il faut faire un peu plus. Dans votre cas, le serveur s'en servit de type xs:dateTime et par conséquence il faut le tenir compte.

    [1] D'abort vous définissez le time zone du client avec une déclaration comme ceci au début du php client.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    date_default_timezone_set('Europe/Paris');    //ou un zone approprié

    [2] Et puis pour certaines données, il faut réécrire comme ça ou de façons équivalentes.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //"Timestamp" => date("Y-m-d H:i:s"),
    "Timestamp" => date(DateTime::W3C),
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //"StartTime" => "2015-02-01 00:00:00",
    "StartTime"=>date(DateTime::W3C, strtotime('2015-02-01 00:00:00')),
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //"EndTime" => "2015-03-01 00:00:00",
    "EndTime"=>date(DateTime::W3C, strtotime('2015-03-01 00:00:00')),

    Voilà.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut
    Toujours le même résultat "Internal Server Error"...

    En tout cas merci de votre aide, et désolé pour les réponses à retardement, vous subissez le rythme de mon alternance

Discussions similaires

  1. [SOAP] Client d'un webservice sécurisé par SSL
    Par tom91 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/03/2006, 10h29
  2. [PHP] envoi d'une requete SOAP
    Par orzabal dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/03/2006, 14h52
  3. requete regroupement client [INCOMPLETE]
    Par amana69 dans le forum Access
    Réponses: 11
    Dernier message: 21/06/2005, 15h15
  4. [plugin - lomboz] pas de wizard Lomboz SOAP Client
    Par joseph_p dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 29/12/2004, 13h05
  5. [SOAP] : client en PHP, serveur en kylix + .so
    Par RezzA dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/01/2003, 16h53

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