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

Bibliothèques et frameworks PHP Discussion :

[Web Service] appeler un code CGI depuis une page PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut [Web Service] appeler un code CGI depuis une page PHP
    Bonjour tous le monde,

    j'ai une question : est-ce que c'est possible d'appeler un code CGI depuis une page PHP avec les web services ?

    merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si ton cgi propose un web service oui

  3. #3
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    si ton cgi propose un web service oui
    Comment un code cgi propose t-il un web service ? pour moi c'est une classe qui fait un traitement précis

    Et comment ce fait l'appel ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    en faisant du SOAP, du REST n'importe quel type web service

  5. #5
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    peux-tu me donner un exemple complet d'un serveur CGI et un client PHP utilisant les web services ?

    merci bcp.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    quelle est l'appli CGI ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Voici un exemple d'un code cgi :
    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
     
    #!/usr/bin/perl
      #print ("Content-type: text/html\n\n");
      use SOAP::Transport::HTTP;
     
      SOAP::Transport::HTTP::CGI   
        -> dispatch_to('Demo')     
        -> handle;
     
      package Demo;
     
      sub hi {                     
        return "hello, world";     
      }
     
      sub GoodBye { my ($name) = @_;
     
                return 'Goodbye, ' . $name . "\n";
        }
     
    	1;

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si c'est du SOAP utilise la classe SOAP du PHP

  9. #9
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    je l'ai essayé mais ça bloque : pas de réponse ! (avec 2 maniérés )

    Pouvez-vous l'essayer et me donner le code ?

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    on ne connais pas ton API, montre ton code

  11. #11
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Voici le code php 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
    <HTML>
    <BODY>
    <?php
    require_once('nusoap/lib/nusoap.php');
    $client = new nusoap_client('http://localhost/cgi-bin/hibye.cgi');
    $param = array('$name'=>'aaaa');
    if ($client->fault) {
        echo '<p><b>Fault: ';
        echo($result);
        echo '</b></p>';
    } else {
        // Check for errors
        $err = $client->getError();
        if ($err) {
            // Display the error
            echo '<p><b>Error: ' . $err . '</b></p>';
        } else {
            // Display the result
            echo($client->call('GoodBye', $param ));
        }
    }
    ?>
    </BODY>
    </HTML>

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    utilise direct l'extension SOAP du PHP

  13. #13
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    ça bloque !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $wsdl = 'http://localhost/cgi-bin/hibye.cgi';  
    $options = array('cache_wsdl' => WSDL_CACHE_NONE);    // pour effacer le cache
    try {
    	$soapclt = new SoapClient($wsdl, $options);
    	$res = $soapclt->GoodBye("aaaa");
    	echo $res;  
    } catch (SoapFault $fault) {
    	trigger_error("ERREUR WS-CLIENT A.PHP (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
    	}
    ?>

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fais un __getFunctions

  15. #15
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    le code bloque tjs à l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $soapclt = new SoapClient($wsdl, $options);
    Est ce que le code marche chez-toi?

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    j'en sais rien, j'ai pas accès a ton CGI ...

  17. #17
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    tu peux le copier en localhost ! mais as-tu une exemple complet (serveur cgi, client php) ?

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ah c'est que ça

    ton fichier c'est pas le wdsl, c'est l'adresse de ton serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $location= 'http://localhost/cgi-bin/hibye.cgi';  
    $options = array(
        'location' => $location,
        'uri' => ''
    ); 
    $soapclt = new SoapClient(null, $options);

  19. #19
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    ça se débloque unpeu;

    $soapclt = new SoapClient(null, $options); marche très bien mais lorsque je demande l'affichage des fonctions avec $soapclt->__getFunctions() j'ai NULL

    une idée ?

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je peux pas devenier les choses à toi de regarder les erreurs en attrapant les exceptions

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/03/2015, 08h27
  2. Réponses: 3
    Dernier message: 09/07/2007, 16h37
  3. [Système] Inclure du code PERL dans une page php ?
    Par Munkey74 dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2007, 09h18
  4. [Système] Executer un script CGI dans une page php
    Par RadicalBob dans le forum Langage
    Réponses: 1
    Dernier message: 25/04/2007, 17h46
  5. Appel d'un lien depuis une page de site
    Par eugiragal dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/04/2007, 09h46

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