SOAP Web services ??? HELP

Bonjour,

Je vous explique mon problème...

Je demande une liste de prix à mon fournisseur et il me renvoie le lien d'un site web ou je trouve le code suivant ...

ShowPricelist

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /catalog.asmx HTTP/1.1
Host: service.xxxxx.be
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ShowPricelist xmlns="http://service.xxxxx.be/" />
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ShowPricelistResponse xmlns="http://service.xxxxx.be/">
<ShowPricelistResult>
<xsd:schema>schema</xsd:schema>xml</ShowPricelistResult>
</ShowPricelistResponse>
</soap12:Body>
</soap12:Envelope>

Je comprend bien que c'est un code SOAP mais comment puis je l'exploiter en sachant que je désire sortir un fichier csv avec la liste des prix complètes ???:-'

Je code légèrement en php/html mais le SOAP jamais fait ça, et ce que je trouve sur internet me semble fort compliqué juste pour une liste de prix en csv... o_O


Merci d'avance pour votre aide.
 

sTyLor

ılılı
C'est du XML.

Faudrait que tu expliques un peu en détails de quoi tu disposes etc. Mise à part ton fichier XML et que tu désires avoir une liste de prix, faudrait comprendre ton architecture.
 

WaKaaN

JcQL
Il existe une librairie NuSoap en PHP (http://sourceforge.net/projects/nusoap/)..

Je vais te sortir quelques lignes clés d'un gros project dans lequel j'ai beaucoup joué avec les webservices. Ca pourra peut-être te donner des pistes.

PHP:
$soap_Client = new nusoap_client( $this->wsdl_url ,array('soap_version' => SOAP_1_1));
$soap_Client->setEndpoint($this->endpoint);

$soap_Client->setHeaders($this->getSecureHeader());
$a_Result= $soap_Client->call('ShowPricelist', $data,$this->namespace);

print_r($a_Result);
Ça reste assez vague comme explication, mais au moins tu vois à quoi est censé ressembler ta request.
 
C'est du XML.

Faudrait que tu expliques un peu en détails de quoi tu disposes etc. Mise à part ton fichier XML et que tu désires avoir une liste de prix, faudrait comprendre ton architecture.
+1

A priori, en lisant un peu le message que tu reçois, j'ai envie de dire que tu as fait une requête qui n'est pas conforme.

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

Logiquement, tu devrais recevoir un message en XML, que tu devras parser "correctemment".


Sinon tu travailles dans quel langage ? Tu développes sur un serveur PHP ? Un logiciel C/C++/C# ? Un logiciel JAVA ? Android / Objective-C ? Car tu ne le précises pas ... et forcément si tu veux qu'on te proposes des solutions de parsing on a besoin de cette information.
 

zoheir

cvm.mangaleet()
tu parses pas le xml...
 

zoheir

cvm.mangaleet()
bah en soap tu chipotes jms le xml, à moins que tu sois un bourrin
tu generes ton proxy et tu récuperes ca sous forme d'objet avec des attributs
 
bah en soap tu chipotes jms le xml, à moins que tu sois un bourrin
tu generes ton proxy et tu récuperes ca sous forme d'objet avec des attributs
Oui, donc à un moment ou un autre il est parsé/désérialisé. Même si c'est pas fait "manuellement". On est bien d'accord ? :-D
 

zoheir

cvm.mangaleet()
ouais d office
 
1er
OP
F
Déjà merci pour vos réponses,

Pour le language de mon coté c'est du PHP,

Avec le bout de code de Largo je comprend mieux, je peux me servir du php avec une librairie pour interroger le serveur du fournisseur en faite ?

Mais les informations reviennent sous quel forme ?
Si je vous suis, je dois parser le résultat pour pouvoir l'exploiter et dans mon cas la réinjecter dans une table sql?

Je vais déjà regarder le lien de la librairie NuSoap... :)
 

WaKaaN

JcQL
Avec le bout de code de Largo je comprend mieux, je peux me servir du php avec une librairie pour interroger le serveur du fournisseur en faite ?
Effectivement

Mais les informations reviennent sous quel forme ?
Si je vous suis, je dois parser le résultat pour pouvoir l'exploiter et dans mon cas la réinjecter dans une table sql?
Avec NuSoap, si je me souviens bien, c'est un object (ou un associative array)
(cfr. code : "$a_Result")
 
Haut