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

Autres composants PHP Discussion :

Problème web services


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut Problème web services
    Bonsoir à tous,
    Je poste trés rarement mais cette fois ci je ne parviens pas à solutionner mon problème.

    Je crée un web service en utilisant zend_soap_server, quand j accède à l'url pour le wsdl tout semble correcte le xml s affiche bien.

    Puis je tente de consommer ce web service avec zend_soap_client, et le problème survient quand je tente d accéder a l action qui consomme ce ws.

    L erreur est la suivante :
    SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://srce/ws/index/?wsdl' : Premature end of data in tag html line 1
    Le code est :
    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
    <?php
    class WsController extends Zend_Controller_Action
    {
    ** *public function indexAction() {
    ** * * *if (is_null($this->getRequest()->getParam('wsdl'))) {
    ** * * * * *// Traitement de la requête
    ** * * * * *$server = new Zend_Soap_Server('http://srce/ws/index/?wsdl', array('soap_version' => SOAP_1_2,
    ** * * * * * * * * * * * * * * * * * * * * *'encoding' => 'UTF-8', 'compression' => SOAP_COMPRESSION_ACCEPT));
    ** * * * * *$server->setClass('Default_Services_Users');
    ** * * * * *$server->handle();
    ** * * *} else {
    ** * * * * *// Retour de la WSDL
    ** * * * * *$wsdl = new Zend_Soap_AutoDiscover();
    ** * * * * *$wsdl->setClass('Default_Services_Users');
    ** * * * * *$wsdl->setUri('http://srce/ws/index/?wsdl', array('soap_version' => SOAP_1_2,*
    ** * * * * * * * * * * * * *'encoding' => 'UTF-8', 'compression' => SOAP_COMPRESSION_ACCEPT));
    ** * * * * *$wsdl->handle();
    ** * * *}
    ** * * *exit;
    ** *}
    ** *
    ** *public function clientAction() {
    *
    ** * * *// Appel du WebService
    ** * * *try {
    ** * * * * *$client = new Zend_Soap_Client('http://srce/ws/index/?wsdl');
    ** * * * * *$client->setOptions(array('soap_version' => SOAP_1_2,*
    ** * * * * * * * * * * * * * * * * * * *'encoding' => 'UTF-8', 'compression' => SOAP_COMPRESSION_ACCEPT));
    ** * * * * *$result = $client->add(1, 2);
    ** * * *} catch(Zend_Exception $e) {
    ** * * * * *Zend_Debug::dump($e->getMessage());
    ** * * *}
    *
    ** * * *Zend_Debug::dump($result);exit();
    ** *}
    *
    ** *
    }
    ?>
    Comme vous pouvez le voir c est en local.
    L environnement est :
    PHP : 5.3+
    OS: ubuntu 10.04 LTS ou debian squeeze ( je test les deux)
    Php-soap installé

    En ce qui concerne les ws le client et serveur son sur la même application.

    Je vous prie de m excuser j ecris à partir de mon télephone.

    Seriez vous d où cela pourrait venir?

    Je vous remercie

  2. #2
    Membre éprouvé Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Par défaut
    Je ne me suis jamais vraiment servi de Zend_Soap, donc ce que je vais dire n'est peut-être pas très pertinent...
    Quelque remarques qui ne changeront sûrement rien à ton problème:
    - Tu pourrais peut-être remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Zend_Soap_Server('http://srce/ws/index/?wsdl',$tesOptions);
    /*par*/
    Zend_Soap_Server(null,$tesOptions);
    vu que l'url est la même que celle de l'action appelée.
    - Sinon, pour voir si le paramètre "wsdl" existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($this->getRequest()->has('wsdl')){/*code*/}
    Ça t'éviterait d'utiliser "is_null" tout en étant sûr d'avoir un boolean en retour.

    Pourrais-tu fournir le code de la méthode "add()" de ta classe "Default_Services_Users" ?
    Si il y a un problème il est probable que ce soit de ce coté là...

  3. #3
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Aucuun problème possible au niveau de ma classe "Default_Services_Users" c'est simplement un truc de base et j'ai juste mis une fonction qui prend deux paramètres et les retourne.
    De plus les commentaires sont nécessaires et ils sont bien mis en place, donc impossible que ça vienne de là.

    Je n'ai jamais utilisé
    $this->getRequest()->has('wsdl');
    Mais cela ne change rien au fait de passer ou non au bon endroit j'avais essayer avec getParam()

    Et j'ai déjà essayé de remplacer l'url par null mais le résultat est le même

Discussions similaires

  1. Problème Web Service AxisFault
    Par maniravitch dans le forum Services Web
    Réponses: 2
    Dernier message: 26/07/2012, 18h46
  2. problème Web Services
    Par jguyard dans le forum Flex
    Réponses: 0
    Dernier message: 16/01/2008, 18h19
  3. [Web Service][SOAP] Problème Web Service
    Par goddet dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/10/2007, 11h12
  4. Problème Web service : C# - IIS 6.0 - windows server 2003
    Par identifiant_bidon dans le forum Services Web
    Réponses: 3
    Dernier message: 20/04/2007, 17h33
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 15h50

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