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

PHP & Base de données Discussion :

Passer des valeurs dans soap header et body en PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Haïti

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Passer des valeurs dans soap header et body en PHP
    Salut à tous,

    Je voudrais passer des valeurs pour communiquer à un web service (SOAP) dans le header de SOAP ainsi que le body. Je n'arrive pas à trouver des resultats apres mon essaie, je voudrais consumer la fonction ConsultarAfiliado.

    Si quelqu'un m'aiderait à le faire je serais tres reconnaissant.

    1. structure du SOAP

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header>
        <AuthenticationHeader xmlns="https://xxxxxxxx.do/">
          <Cedula>string</Cedula>
          <Password>string</Password>
          <Proveedo>int</Proveedo>
        </AuthenticationHeader>
      </soap:Header>
      <soap:Body>
        <ConsultarAfiliado xmlns="https://arssenasa.gob.do/">
          <TipoDocumento>int</TipoDocumento>
          <NumDocumento>string</NumDocumento>
        </ConsultarAfiliado>
      </soap:Body>
    </soap:Envelope>

    • Passer des valuers au header à cedula, password, proveedo et au body

    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
    $wsdl = "http://931.57.41.43/WSAutorizaciones/WSAutorizacionLaboratorio.asmx?WSDL";
    $client = new SoapClient($wsdl, array('trace' => 1));  // The trace param will show you errors stack
     
    $auth =array('Cedula' => '00109457515', 'Password' => 'dmfvmxm2', 'Proveedo' => '12077');
    $header = new SoapHeader('NAMESPACE','AuthenticationHeader',$auth,false);
    var_dump($client->__setSoapHeaders($header));
     
    // web service input params
    $request_param = array('TipoDocumento' => '2', 'NumDocumento' => '021827151');
    $responce_param = null;
    try {
    $responce_param = $client->ConsultarAfiliado($request_param);
     
    print_r($responce_param->ConsultarAfiliadoResponse);
    } catch (Exception $e) {
    echo "<h2>Exception Error!</h2>";
    echo $e->getMessage();
    }

  2. #2
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $header = new SoapHeader('NAMESPACE','AuthenticationHeader',$auth,false);
    Vous envoyez vraiment le mot 'NAMESPACE'?
    Il faut envoyer l'adresse du WS, a priori cela 'https://arssenasa.gob.do/'

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Haïti

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Problème résolu
    Citation Envoyé par bourvil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $header = new SoapHeader('NAMESPACE','AuthenticationHeader',$auth,false);
    Vous envoyez vraiment le mot 'NAMESPACE'?
    Il faut envoyer l'adresse du WS, a priori cela 'https://arssenasa.gob.do/'

    Merci, tu m'as sauvé la vie, après tant de jours de recherche.

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

Discussions similaires

  1. Tri des valeurs dans un DBGrid
    Par soviet dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/06/2015, 14h18
  2. Réponses: 3
    Dernier message: 02/05/2014, 11h47
  3. [CXF] Passer des informations dans le Header
    Par goldest dans le forum Services Web
    Réponses: 0
    Dernier message: 18/07/2008, 11h00
  4. Passer des valeurs dans mon actionform sans les afficher
    Par tonito53 dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/01/2007, 11h36
  5. Passer des Image avec SOAP
    Par pef421 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/03/2004, 21h32

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