Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

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.
 

#1 26-05-2005 04:24:32

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Aide sur échange XML (Client)

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

 

#2 26-05-2005 04:32:55

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Aide sur échange XML (Client)

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

 

#3 26-05-2005 04:40:55

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

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

 

#4 26-05-2005 04:44:30

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Aide sur échange XML (Client)

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

Code:

if ($row[xx] == 0) { ... }

ps : sujet déplacé en php - sql

Hors ligne

 

#5 26-05-2005 05:14:41

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

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

 

#6 26-05-2005 05:29:07

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Aide sur échange XML (Client)

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

 

#7 26-05-2005 06:10:50

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

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é wink

Hors ligne

 

#8 26-05-2005 06:21:22

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Aide sur échange XML (Client)

bah, étant donné que tout flux xml est un fichier
il te suffit d'ouvrir ce fichier avec la fonction fopen()
puis, de lire le fichier avec fread()

Hors ligne

 

#9 26-05-2005 06:24:11

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Aide sur échange XML (Client)

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

 

#10 26-05-2005 06:36:01

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

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

 

#11 26-05-2005 06:40:57

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Aide sur échange XML (Client)

Les données dont tu as besoin sont dans ce fichier ? Il s'update automatiquement ?

Hors ligne

 

#12 26-05-2005 07:48:12

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

en fait je souhaiterais soumettre cette requêtte

Code:

- <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

 

#13 26-05-2005 07:49:18

Pierre
Membre
Date d'inscription: 26-05-2005
Messages: 11

Re: Aide sur échange XML (Client)

C'est mon fichier test, il corespond a une requete qui fonctionne!
Est-ce compliqué?

Hors ligne

 

#14 26-05-2005 08:52:32

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Aide sur échange XML (Client)

Pour être franc, j'en sais rien. Je n'utilises pas ces méthodes sad

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

 

#15 27-05-2005 04:27:15

kirius
Membre
Date d'inscription: 27-05-2005
Messages: 3

Re: Aide sur échange XML (Client)

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