Soumettre une requête XML

Soumettre une requête XML - PHP - Programmation

Marsh Posté le 13-02-2006 à 14:02:37    

Bonjour,
 
Je suis sou sPHP5 et souhaiterais savoir comment soumettre une requête XML qui ne possède pas de fichier de référence wsdl.
 
En fait la requette est simple (Elle fonctionne car je peux la tester sur http://www.perfectxml.com/SOAPTestClient.asp
 
Avec les paramètres suivant :
a)      POST URL:    
http://test.jonview.com/WEBSERVICES/SOAP
b)      Content-Type:    
 text/xml; charset=utf-8
c) SOAPAction:    
jonviewhostserver_xml/n_cst_xml.uf_process_request_call return,java.lang.String,return in,java.lang.String,as_type in,java.lang.String,as_cache in,java.lang.String,as_userid in,java.lang.String,as_password in,java.lang.String,as_client_loc_seq in,java.lang.String,as_message
d) SOAP Request:  
<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"  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >
 
   <SOAP-ENV:Header></SOAP-ENV:Header>
 
   <SOAP-ENV:Body>
 
      <m:uf_process_request_call xmlns:m="jonviewhostserver_xml/n_cst_xml">
 
         <as_type xsi:type="xsd:string">XML</as_type>
 
         <as_cache xsi:type="xsd:string">jonview_host</as_cache>
 
         <as_userid xsi:type="xsd:string">USATRHOST</as_userid>
 
         <as_password xsi:type="xsd:string">HOSTPASS</as_password>
 
         <as_client_loc_seq xsi:type="xsd:string">2464</as_client_loc_seq>
 
         <as_message xsi:type="xsd:string">
 
  <message>
          <actionseg>CK</actionseg>
         <searchseg>                      
   <citycode>YOW</citycode>              
   <startdate>28-MAR-2006</startdate>                
   <duration>2</duration>                    
   <status>Available</status>        
  </searchseg>
  </message>
 </as_message>      
 </m:uf_process_request_call>
 
     </SOAP-ENV:Body>
 
</SOAP-ENV:Envelope>
 
Maintenant j’aimerais pouvoir l’effectuer depuis mon serveur php5.
Tous les exemples que j’ai utilisent « __doRequest » avce l’adressage d’un fichier WSDL.
 
Quelqu’un peut-il m’aider dans le cas présent ?
 
Par avance, merci,
 
Jacques

Reply

Marsh Posté le 13-02-2006 à 14:02:37   

Reply

Marsh Posté le 13-02-2006 à 14:15:28    

"java.lang."
T'es sur que c'est du PHP? Ca m'a tout l'air d'être du java ton histoire.
 
Pour faire pareil en php, il te faut utiliser les fonctions SOAP de php et si t'avais lu la doc de php, t'aurais pu voir qu'il est expliqué trés clairement comment faire un appel sans fichier WSDL :
Voir doc : http://fr.php.net/manual/fr/functi [...] struct.php

Reply

Marsh Posté le 13-02-2006 à 15:05:22    

Bonjour omega2,
 
Merci pour ta réponse rapide. Effectivement le server à qui je communique la requête est en Java. Mon souci étant d'effectuer une requête similaire en PHP.
 
Sur tes conseils, je suis retourné voir la doc sur php.net.
 
Je n'avais pas lu en détail les informations y figurant.
 
Si je comprends bien, je devrais avoir qq chose comma ça?
 
$client = new SoapClient(null, array('location' => "http://test.jonview.com/WEBSERVICES/SOAP",
                                     'uri'      => "jonviewhostserver_xml/n_cst_xml.uf_process_request_call return,java.lang.String,return in,java.lang.String,as_type in,java.lang.String,as_cache in,java.lang.String,as_userid in,java.lang.String,as_password in,java.lang.String,as_client_loc_seq in,java.lang.String,as_message",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));
 
Mais comment vais-je poster ma requete?

Reply

Marsh Posté le 13-02-2006 à 15:09:29    

Je n'ai jamais utilisé de serveur soap avec php. Je vais pas pouvoir t'aider d'avantage. La réponse à ta question se trouve surement dans la documentation http://fr2.php.net/manual/fr/ref.soap.php (pour la page d'index de la bibliothéque SOAP) et peut être du côté de "SoapClient->__soapCall() - Appel une fonction SOAP"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed