Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour,
Je cherche quelqu’un qui puisse m’aider sur un échange XML. J’ai une version php 4.3.10.
Je possède la structure XML de ma requête ( une requête test), j’ai également à disposition un fichier WSDL ainsi que l’adresse du serveur.
J’ai eu beau depuis des semaine consulter tout ce que je pouvais sur la toile comme exemple ( et il y en a), je n’arrive pas a m’en sortir. J’ai essayé d’utiliser la classe NuSoap mais je ne vois pas comment démarrer avec elle. Quel protocole choisir SOAP, méthode REST ?
Merci d’avance pour votre aide précieuse,
Hors ligne
tu cherche à lire, ou offrir un fichier xml ?
si t cherche à en offrir un, il te suffit de lire tes données "normalement", et de les reformater en xml...
si tu cherche à en lire un, cette portion de code pourrait t'aider : Récuperer un flux rss distant avec php4
Hors ligne
Bonjour KaZhaR,
Ce que je cherche tout simplement c'est a interroger un serveur distant.
Je dois communiquer avec un site Hôtelier pour récupérer les disponibilités des chambres. Je demande donc dans ma requêtes xml, par exemple, quelles sont les chambres d'hôtel disponibles à Paris du 01 juin au 02 juin pour 1 personne, et en retour le serveur me renvoi une liste correspondant au critère de ma demande. En fait tout le coté serveur existe déjà. Je dois simplement savoir comment lui adresser ma question....
Hors ligne
eh bien, je pense qu'il faut que tu recupere le lecteur que je t'ai donné plus haut
et tu ajoute des exclusions, via des if.
si veux afficher les chambres libres, tu fait un
if ($row[xx] == 0) { ... }ps : sujet déplacé en php - sql
Hors ligne
Ok, merci pour le tuyau, mais si je ne me trompe pas, le lien que tu me donne est très utile pour lire la réponse donnée par le serveur. En revanche mon problème est bien plus "bête"... je ne sais pas comme faire pour envoyer ma requête de demande de dispos, peux-tu me guider la dessus?
Hors ligne
bah, apres, ca dépends de la maniere dont le serveur veut que tu l'envoie...
un flux xml est une page qui contient toutes les infos, en brut
apres, à toi de les reformater comme tu le désire...
Hors ligne
Oui mais comment envoyer ma requête vers le serveur?
D'après ce que j'ai compris, je peux mettre toute ma requête XML dans une string ( ex: $xml) et je dois effectuer un $HTTP_RAW_POST_DATA ? Ou bien un simple post?
Comment puis-je faire? Il doit bien y avoir un moyen... pour le moment je n'ai trouvé personne sur la toila capable de m'expliquer cela... soit je ne suis pas clair du tout car je n'emploi pas les bon termes, soit ... ce doit être franchement très compliqué ![]()
Hors ligne
Oais mais là c'est pas la lecture dont il a besoin mais de soumettre sa requête.
Ton hébergeur (enfin celui de la BDD) doit bien avoir un système pour faire ca ? Je ne sais pas moi,... Mais t'as un login / pwd pour attaquer la base ? Tu connais les noms des bases, tables et autres dont tu as besoin ?
Hors ligne
Bonjour palmivore,
Effectivement, tu as bien cerné ce que je demande... En fait j'ai tout ce qu'il me faut.....
Je posséde un exemple de requete xml qui doit fonctionner, fournit par la chaine hoteliere. Dans le header sont inclus les login et password.J'ai également une url de test du webservices.
Ils m'ont également fourni un accés a un fichier WSDL, c'est trés beau, je comprends bien a quoi ça sert, mais je ne sais pas comment le faire concrétrement.
La chaine hoteliere a développé son system en .NET, et donc la bas, personne ne peu m'aider en PHP...
Je me trouve donc un peux comme un gourdin, avec tout cela, car je ne sais pas comment soumettre cette requette au serveur.... Tu peux me guider la dessus?
Hors ligne
en fait je souhaiterais soumettre cette requêtte
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://tourico.com/travelservices/"> - <SOAP-ENV:Header> - <m:LoginHeader xmlns:m="http://tourico.com/webservices/"> <m0:username>bookit</m0:username> <m0:password>111111</m0:password> </m:LoginHeader> </SOAP-ENV:Header> - <SOAP-ENV:Body> - <m:BookHotel xmlns:m="http://tourico.com/webservices/"> <m:recordLocatorId>0</m:recordLocatorId> - <m:hl> - <Hotel hotelId="5443" provider="localTgsProvider" name="Westin Times Square" address="270 West 43rd Street New York New York 10036" category="Deluxe" bestVal="0" thumb="http://66.193.234.51/5443westin times square - front.jpg" starsLevel="4.5" minAverPrice="200.84" desc="The Westin New York at Times Square is Manhattan`s newest achievement of architecture and art." location="Manhattan, New York ,NY, US" currency="USD"> - <RoomType productId="5443;8813;2790" name="Superior" nights="2" startDate="2005-08-13T00:00:00.0000000-04:00"> <Avail offset="0" status="false" /> <Avail offset="1" status="false" /> - <Occup occupId="5443;8813;2790;2;1;0" maxAdult="1" maxChild="0" price="401.68" tax="51.69" avrNightPrice="200.84"> <Room seqNum="1" adultNum="1" childNum="0" /> <Price offset="0" value="200.84" /> <Price offset="1" value="200.84" /> </Occup> </RoomType> </Hotel> </m:hl> - <m:selectedAdditions> - <m:RoomSelectionInfo> <m:roomId>1</m:roomId> - <m:contactPassenger> <m:firstName>Paul</m:firstName> <m:middleName /> <m:lastName>Fillit</m:lastName> <m:homePhone /> <m:mobilePhone /> </m:contactPassenger> - <m:selectedBoardBase> <m:id>0</m:id> <m:price>0</m:price> </m:selectedBoardBase> - <m:selectedSupplement> - <m:SupplementInfo> <m:id>0</m:id> <m:price>0</m:price> </m:SupplementInfo> </m:selectedSupplement> <m:bedType>NotRelevant</m:bedType> <m:occupancyId>5443;8813;2790;2;1;0</m:occupancyId> <m:note>String</m:note> </m:RoomSelectionInfo> </m:selectedAdditions> <m:provider>localTgsProvider</m:provider> <m:paymentType>Obligo</m:paymentType> <m:AgentRefNumber>0</m:AgentRefNumber> </m:BookHotel> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Hors ligne
C'est mon fichier test, il corespond a une requete qui fonctionne!
Est-ce compliqué?
Hors ligne
Pour être franc, j'en sais rien. Je n'utilises pas ces méthodes
Par contre, il doit y avoir une méthode précise pour soumettre la requête... Perso, j'enverrais un mail à l'hébergeur pour avoir un exmple même si c en .NET... Ca donne toujours des idées sur la méthode à utiliser.
Hors ligne
salut,
Ce que tu dois faire c'est renvoyer le fichier exemple qu'on t'a fourni en changeant les paramètres dans les balises. Si tu regardes les paramètres des balises roomType et room tu verra qu'elles contiennent les informations de la recherche que tu souhaites effectuer.
Tu dois donc trouver les balises a modifier en fonction des paramètres de recherche que tu as.
Hors ligne