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

Langage PHP Discussion :

Web Service, SOAP et WSDL [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut Web Service, SOAP et WSDL
    Bonjour,

    je suis en train de tenter de faire un serveur de WebService en PHP.
    J'ai crée ma page service.php qui cree le serveur SOAP et qui définit la fonction de mon WebService et, j'ai ensuite crée mon WSDL.

    Quand je tente d'accéder a service.php j'obtiens une ereur :

    WSDLSOAP-ERROR: Parsing WSDL: Couldn't load from 'C:\Program Files\EasyPHP6.0dev\www\service.wsdl' : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x72 0x65 0x6E
    A priori je dois avoir une erreur dans mon WSDL mais je n'arrive pas la trouver, je m'arrache les cheveux...

    Voici le code de mes pages:

    service.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    	 function circ($rayon) {
            return $rayon * 6.28;
        }
     
    // Création de l'objet serveur SOAP 
    $server = new SoapServer('service.wsdl', array('soap_version' => SOAP_1_2));
    $server->addfunction('circ');
    $server->handle();
     
    ?>

    service.wsdl
    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
     
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
        xmlns:tns="http://localhost/" 
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
        xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost/">
    <types>
    <xsd:schema targetNamespace="http://localhost/">
     <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
     <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
    </xsd:schema>
    </types>
    <message name="circRequest">
      <part name="input" type="xsd:integer" /></message>
    <message name="circResponse">
      <part name="resultat" type="xsd:integer" /></message>
    <portType name="MonServicePortType">
      <operation name="circ">
        <documentation>Trouver la circonférence dun cercle par son rayon</documentation>
        <input message="tns:circRequest"/>
        <output message="tns:circResponse"/>
      </operation>
    </portType>
    <binding name="MonServiceBinding" type="tns:MonServicePortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="circ">
        <soap:operation soapAction="http://localhost/circ" style="rpc"/>
        <input><soap:body use="encoded" namespace="http://localhost/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
        <output><soap:body use="encoded" namespace="http://localhost/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
      </operation>
    </binding>
    <service name="MonService">
      <port name="MonServicePort" binding="tns:MonServiceBinding">
        <soap:address location="http://localhost/service.php"/>
      </port>
    </service>
    </definitions>

    Si quelqu'un peut m'aider je lui serai reconnaissant.

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Je doute que tu utilises PHP6. Il n'y a pas de release actuellement.

    Concernant ton souci, c'est lorsque le ws cherche à parser ton wsdl que l'erreur se produit, en effet, ton fichier n'est pas correctement encodé en utf-8, et, utf-8 étant l'encodage par défaut lorsque non spécifié => erreur.

  3. #3
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Salut et merci de ta reponse !

    donc dois donc specifier "encoding="ISO-8859-1"" dans mon wsdl mais ou dois-je mettre l'encodage ? dans la balise definitions ?


    Je doute que tu utilises PHP6. Il n'y a pas de release actuellement.
    Sisi easyPhp a sorti une bêta en version dev de Php 6.0

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Tu peux spécifier l'encodage dans la balise <?xml > qui est situé en entête de ton fichier WSDL, si elle n'existe pas, tu peux la rajouter.

    Vérifies également que ton fichier lui-même est bien encodé en utf-8 avec ton éditeur de texte.

    OK pour PHP6, je trouvais juste étonnant que tu sois sur une version de dev mais c'est cool de se faire la main sur les nouveautés

  5. #5
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Bonjour !

    Je reviens a la charge pour ce problème de Web Service.
    J'ai corrigé mon erreur de WSDL, seulement maintenant il me pète une erreur sur l'appel à la création de mon SoapServeur ..

    Cannot instantiate non-existent class: soapserver

    J'ai hébergé mon webservice sur les pages perso de free .. pensez qu'il soit possible de faire du Soap chez Free ? Je ne trouve aucune documentation sur le sujet.

    Merci d'avance

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    D'après le phpinfo de free.fr, les extensions SOAP ne sont pas disponibles :

    http://free.box.free.fr/info.php3

  7. #7
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Ouais merci Thomas !

    Je viens de voir ca .. ils sont encore en Php4 ...

    Par contre pour faire du Soap avec Php4 je vais devoir passer par NuSoap ou quelquechose comme ca je suppose.. possible avec free ?

    (Il a free, il a tout compris ... non mais franchement ! je suis déçu !)

    Merci

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Tu peux activer PHP5 sur free, il suffit d'écrire ceci dans ton fichier .htaccess :
    Je ne sais pas si tu peux installer nusoap sur free également.

  9. #9
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    il est accesible ou le .htaccess ? il n'y a rien a la racine de mon repertoire ....
    Faut-il que je me le créé ?

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Oui il faut le créer.

  11. #11
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Merci de ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Web Service SOAP Fichier WSDL / Extraction des données dans un classeur
    Par crusaders dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/12/2014, 12h05
  2. GWT et WSDL (web services SOAP)
    Par M4v3rick dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 09/12/2010, 10h29
  3. [Web Service] Web Service SOAP : Accès au WSDL
    Par gui38 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 02/03/2010, 16h15
  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