Soumettre requête XML sans wsdl...

Petit nouveau ! | 6 Messages

16 févr. 2006, 12:45

Bonjour,

Je suis sous PHP5 et souhaiterais savoir comment soumettre une requête XML qui ne possède pas de fichier de référence wsdl.

En fait la requête est simple (Elle fonctionne car je peux la tester sur http://www.perfectxml.com/SOAPTestClient.asp, outil de test qui n'est pas en php!)

Avec les paramètres suivant :
a) POST URL:

Code : Tout sélectionner

http://test.jonview.com/WEBSERVICES/SOAP
b) Content-Type:

Code : Tout sélectionner

text/xml; charset=utf-8
c) SOAPAction:

Code : Tout sélectionner

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:

Code : Tout sélectionner

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

Si je comprends bien l'info donnée sur la doc php, je devrais avoir quelque chose comma ça?

Code : Tout sélectionner

$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"));
Mais comment Dois je poster ma requête? Avec __doRequest ?

Tous les exemples que j’ai utilisent « __doRequest » avec l’adressage d’un fichier WSDL.

Quelqu’un peut-il m’aider dans le cas présent ?