Accueil > Forum > > > > php5 + soap
php5 + soap
mardi 7 février 2006 à 10:29:01 |
php5 + soap

B4loo
|
Bonjour, étant débutant en php (quelques notions de VB) je rencontre un problème avec l'utilisation de SOAP (php5). Mon problème est que je dois génerer une requête SOAP avec une entête de ce genre : <soap:Header> <Agency xmlns="namespace"> <Code> string</Code> <Culture> string</Culture> </Agency> <Partner xmlns="namespace"> <Name> string</Name> <Password> string</Password> </Partner> </soap:Header> Après plusieurs tuto et quelques doc je vois qu'il existe un constructeur 'new soapHeader()' qui s'ecrit : $head = new soapHeader ("le name space", "le nom de l entete", "le contenue de l entete") Mon probleme est qu' avec cet appel je n'arrive pas à generer mon entête comme voulu Ex: $entete = '<soap:Header> <Agency xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Code> string</Code> <Culture> string</Culture> </Agency> <Partner xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Name> string</Name> <Password> string</Password> </Partner> </soap:Header>'; $head = new soapHeader("monnamspace","entete",$entete); cet appel donne ca : <soap:Header> <entete> <Agency xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Code> string</Code> <Culture> string</Culture> </Agency> <Partner xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Name> string</Name> <Password> string</Password> </Partner> </entete>
</soap:Header> Ou "entete" est le second paramaetre de "soapHeader()", j ai aussi essayer sous forme de tableau, d'objet ... Rien a faire je m en sort pas ... j ai aussi vu k'il y a la fonction "setSoapHeaders()" mais encore une fois sans résultata pour moi ... Si quelqu'un pouvait me donner un coup de main, m'aiguiller sur une idée ce serai super cool ! merci d'avance =) Ps : j'ai essayé et ca fonctionne avec NuSoap ("en local) mais le serveur sur lequel je dois poser le script n'est pas en local et n' pas NuSoap .... 'one day programming kicks my ass ' =]-
|
|
mardi 7 février 2006 à 10:47:03 |
Re : php5 + soap

malalam
|
Hello, heu, il faudra que tu expliques mieux quel est ton problème. L'extension Soap dont tu parles n'est pas en standard dans php, mais je suppose que tu as installé ce qu'il faut...? Ensuite, SOAP, c'est un flux xml, c'est tout. Et générer un flux xml en php n'est pas sorcier. Enfin, après avoir lu un peu la doc sur cette extension que je n'ai jamais utilisée, je te suggèrerais d'utiliser __soapCall () en conjonction avec ton soapHeader (). [ Lien ]
|
|
mardi 7 février 2006 à 11:01:27 |
Re : php5 + soap

B4loo
|
slt malalam, avec php 5 l'extension soap devient un standard : [ Lien ] donc pas besoin d'instalation particulière. Ensuite Soap n'est pas qu'un flux XML mais est basé comme : [ Lien ]J'utilise deja la fontion __soapCall qui permet "d'executer une requête", son cartouche : class SoapClient { mixed __soapCall ( string function_name [, array arguments [, array options [, mixed input_headers [, array &output_headers]]]] ) } String function_name = Le nom de la fontction a appelé : OK En cas d'utilisation de SOAP en mode WSDl , ce qui est mon cas, seul ce paramètre est necessaire. Mais cela ne résolu pas mon probleme de "formatage" d'entête ... Pour rappel voila le format d'entête que j aimerai avoir : <Agency xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Code> string</Code> <Culture> string</Culture> </Agency> <Partner xmlns="http://schemas.costacrociere.com/WebAffiliation"> <Name> string</Name> <Password> string</Password> </Partner> </soap:Header> Merci quand même ;) 'one day programming kicks my ass ' =]-
|
|
mardi 7 février 2006 à 11:49:27 |
Re : php5 + soap

malalam
|
C'est pas ce qu'il y a de marqué sur la doc, mais si tu le dis, je te crois :-) (c'est un standard, mais pas fourni en standard au complet) Et je sais ce qu'est SOAP, j'ai pas mal travaillé avec. Et je te garantis qu'on s'en sort très bien sans l'extension concernée. Et je ne comprends toujours pas ton problème pour construire ton header : c'est un flux xml... Si ça peut t'aider, il y a quelques threads et articles interessants sur le net : [ Lien ] [ Lien ]
|
|
mardi 7 février 2006 à 12:16:10 |
Re : php5 + soap

B4loo
|
Por construire une "enveloppe" soap de ce genre :
<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> <entete> aaaa </entete> </soap:Header> <soap:Body> <Fonction xmlns="nameSpace" /> </soap:Body> </soap:Envelope>
voici le code : //on creer le client $client=new soapclient('adresse du fichier wsdl');
//on creer le Header $head = new soapHeader("nameSpace", "entete","aaaa");
//appel de la foction voulu en locurence celle-ci n'a pas de parametre $client->__soapCall('Fonction', $tableauDeParam,$tableauDoptions,$head);
Seulement ce que j aimerai c'est ca :
<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> <entete> aaaa </entete> <entete2> bbbb </entete2> </soap:Header> <soap:Body> <Fonction xmlns="nameSpace" /> </soap:Body> </soap:Envelope>
......?......?.....
Ps : example de code avec NuSoap qui fonctionne tres bien chez moi $client=new soapclient('...../..../Export.asmx'); $client->setHeaders(' <Agency xmlns="nameSpace"> <Code>xxxxx</Code> <Culture /> </Agency> <Partner xmlns="nameSpace"> <Name>xxxxx</Name> <Password>xxxxx</Password> </Partner>'); //Fonction a apeller,Parametre,Namespace,SoapAction $result=$client->call('ExportPrice',"","","SoapAction");
'one day programming kicks my ass ' =]-
|
|
mardi 7 février 2006 à 13:10:48 |
Re : php5 + soap

GRenard
|
Perso, je n'ai pas vu de modification sur www.php.net/soap depuis un bon bout étant traducteur. Cherchez, Essayez et Testez avant de Poser une question ! [ Lien ]
|
|
mardi 7 février 2006 à 13:23:33 |
Re : php5 + soap

malalam
|
ahhhh,
mais __soapCall prend une variable de "type" mixed pour les headers en input :
mixed __soapCall ( string function_name [, array arguments [, array options [, mixed input_headers [, array &output_headers]]]] )
Ce qui veut dire que tu dois logiquement pouvoir mettre un tableau de headers.
|
|
mardi 7 février 2006 à 14:58:31 |
Re : php5 + soap

B4loo
|
ok, kool pour les tableaux mais c'est la mon problème, je ne sais pas comment arriver à ce resultat :
<soap:Header> <entete> <code>aaaa </code> <code2>bbb</code2> </entete> <entete2> <code>bbbb </code> <code2>ccc</code2> </entete2> </soap:Header>
'one day programming kicks my ass ' =]-
|
|
mardi 7 février 2006 à 15:45:59 |
Re : php5 + soap

B4loo
|
Ok j ai trouvé ;)
je post dans le cas ou quelqu'un ai le mm pb :
//On creer deux nouveau header $head2 = new SoapHeader ("NameSpace", "Partner", array('Name'=>xxxx,'Password'=>xxxx),true); $head1 = new SoapHeader ("NameSpace", "Agency", array('Code'=>xxx,'Culture'=>'xxxx'), true);
//on en fait un tableau $head4 = array($head1,$head2);
//on creer le client $client = new SoapClient("URL du WSDl");
//Appel de la fonction avec le tableau d' header $response = $client->__soapCall("Fonction",array(),array(),$head4);
le resultat du header : <soap:Header> <Agency> <code>aaaa </code> <Culture>bbb</Culture> </Agency> <Partner> <Name>bbbb </Name> <Password>ccc</Password> </Partner> </soap:Header>
Merci pour votre aide !
'one day programming kicks my ass ' =]-
|
|
Cette discussion est classée dans : string, entete, php5, soap, soapheader
Répondre à ce message
Sujets en rapport avec ce message
envoi de mail en php5 [ par maxparo ]
Bonjour, J'ai un problème pour envoyer un mail à partir d'un formulaire en php. Mon serveur de mail est postfix et d'après l'hébergeur la fonction ma
Erreur syntaxe sql : mystère [ par daporoty ]
Bonjour, J'ai une erreur sql sur une requète ou il n'y a pas de problème !? Récupération des données d'un formulaire et update de la table : [code=
Problème avec erreur 403 hébergé par 1&1 [ par situsavais ]
Bonjour à tous, J'ai créé un site et j'ai un problème avec l'erreur 403. J'ai pourtant testé tous les CHMOD possible, actuellement je suis en 777 (je
Probleme de To_String [ par Genildf ]
Bonjour je suis tout nouveau en php et je souhaite faire ma combobox en fonction du contenu de ma base SQL le problème c'est que n'arrive pas a défini
Un truc que je capte pas [ par vxr888 ]
Salut, J'essaye de travailler avec des csv mais la fonction fgetcsv me pose un soucis. Dans les FAQ il est dit : array fgetcsv ( resource $handle [,
SOAP et XML [ par j3r3m067 ]
Salut à tous, Voilà je dois générer une chaine XML qui doit après j'intégrer dans une enveloppe SOAP, mon problème est que je suis limité à la lib P
Utilisation de la fonction mysql_escape_string( ) [ par aljessy ]
Je n'arrive pas à utiliser la commande mysql_escape_string(). en effet j'essaye de sécurisé l'accès à ma base de donnée voici la syntaxe que je tape
entete HTML dans Include - méthode [ par ju0123456789 ]
Bonjour, Tout d'abord je m'excuse si ma question n'est pas dans la bonne rubrique, je ne savais pas laquelle choisir. Petite question toute simple, j
Class 'SoapClient' not found in [ par Amineworkgroup ]
Bonjour, Afin d'interroger un service web, j'ai développé un bout de code qui marche sans problème en local, une fois que je le met en ligne il do
PHP5 Installation du package PEAR (Ubuntu) [ par begueradj ]
Azul à tous, J'aimerais savoir comment je pourrais installer et configurer le package PEAR (PHP5, sous Ubuntu 10.04) afin que je puisse implémenter u
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|