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] Authentification HTTP


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut [Web Service] Authentification HTTP
    Bonsoir à tous!!

    J'ai un soucis au tour de l'authentification HTTP. je dois utiliser un webservice distant.

    ce dernier dispose d'une authentification apache "HTTP Authentication"

    Je dois réaliser un script en PHP afin d'envoyer des requêtes à ce webservice et récupérer des résultats automatiquement sans que j'interviens pour taper le nom d'utilisateur et le mot de passe.

    sachant que je connais ces infos et donc je dois les injecter dans mon script mais je ne sais pas comment le faire.

    mon script est le suivant:
    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
    $client= "http://mon_serveur/webservices?wsdl";
    $client = new SoapClient($client,true);
     
    $err = $client->getError();
    if ($err) { 
     
    echo 'erreur du constructeur: ' . $err ;
     
     }
     
     
    $result = $client->call('ma_methode', array('name' => 'test')); 
     
    var_dump($result);
     
    if ($client->fault) { 
     
    echo 'Fault: '.$fault;
    var_dump($result); 
     } else { 
     
    $err = $client->getError();
     
    if ($err) {
     
    echo 'Erreur 2: ' . $err ;
     } else { 
     
     var_dump($result);
     }
     }
    j'obtiens toujours
    HTTP Error: HTTP authentication failed
    même en essayant $client= "login:password@http://mon_serveur/webservices?wsdl";

    j'ai le même message d'erreur.

    Merci de m'orienter

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Par le paramètre options du constructeur de l'objet SoapClient :
    Pour les identifications HTTP, vous devez utiliser les options login et password.
    Extrait de sa documentation.

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut Problème authentification HTTP
    Merci pour ta réponse,

    J'ai vu la doc et j'ai essayé
    $client = new SoapClient("some.wsdl", array('login' => "some_name",
    'password' => "some_password"));

    j'ai tjr l'erreur "HTTP Error: HTTP Authentication failed "

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Salut et bienvenue dans les forums de Developpez .com !

    tu peux intégrer le pseudo et le mot de passe dans l'url :

  5. #5
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut Problème athentification HTTP
    Merci Sub0,

    J'ai deja essayé ça tu peux voir dans mon premier post:

    $client= "login:password@http://mon_serveur/webservices?wsdl";


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Par défaut
    Il existe une librairie php qui s'appelle CURL et qui sert à remplir des formulaires automatiquement. Je l'ai pas mal utilisé et donc je te conseille d'essayer de travailler avec.

    Des tutos et infos:

    Le manuel:
    http://fr.php.net/curl
    Un exemple tuto:
    http://www.seoblackout.com/2008/02/1...ue-formulaire/
    Un exemple pour un login a google adsence:
    http://www.askapache.com/webmaster/l...using-php.html

    Pour le reste j'ai pas les liens, mais en cherchant sur google j'avais trouvé quelques exemples intéressants.

    Je me tiens à ta disposition au cas ou.

  7. #7
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut
    Merci firehawk.2 pour ta réponse,

    Mon problème n'est pas l'envoi des données mais l'authentification sur un serveur distant !!!

    à ce moment là il n'y a aucun formulaire à remplir, juste la fenêtre d'authentification de Windows Apache.

    Ces informations sont récuparables dans les variables:

    $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'] mais moi je veux que mes utilisateurs accèdent au serveur distant sans s'authentifier du moment que je dois injecter qlq part dans mon code cette étape d'authentification .

    J'espère que mon explication est claire.

    Merci

  8. #8
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Ok, j'ai peut-être une piste...
    Il est apparemment possible de définir les identifiants directement dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                                'password'       => "some_password"));

  9. #9
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut
    merci pou ta réponse,

    tu peux voir sans mon post un peu plus haut !

    j'ai deja utilisé ça et ça marche pas

Discussions similaires

  1. Spring security + Web service: Authentification
    Par Toinou87 dans le forum Services Web
    Réponses: 1
    Dernier message: 11/07/2009, 15h32
  2. Problème d'accès à un web Service en HTTPS.
    Par eric39 dans le forum Services Web
    Réponses: 2
    Dernier message: 17/12/2008, 09h55
  3. WEB SERVICES & authentification
    Par mickael.guilbert dans le forum Glassfish et Payara
    Réponses: 7
    Dernier message: 07/07/2008, 15h58
  4. Pocket Pc Web Service Et Https
    Par lizati dans le forum Services Web
    Réponses: 2
    Dernier message: 29/06/2007, 09h20
  5. [Web Service] Authentification
    Par Stef_D dans le forum Delphi
    Réponses: 9
    Dernier message: 15/02/2007, 17h05

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