Bonjour à tous,
J'utilise Delphi v5 avec MSSOAP Toolkit v3.0 pour consommer un webservice d'un systeme en intranet, j'arrive bien à initialiser mon objet SOAP avec le WSDL du webservice et je fais des appels à des webservices avec succés.
Le probléme c'est que je n'arrive pas à avoir le bon type de variable retourné par les webservices pour que je puisse interpreter les retours, pour faciliter l'exposition de mon probléme, je fais appel à une fonction qui a un retour de ce type (d'aprés le WSDL) :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsd:complexType name="TgetResponseString"> <xsd:all> <xsd:element name="transId" type="xsd:string"/> <xsd:element name="transDate" type="xsd:string"/> <xsd:element name="status" type="typens:ArrayOfString"/> <xsd:element name="response" type="xsd:string"/> </xsd:all> </xsd:complexType>
Voici mon code:
Here's a working code in PHP consuming the same service:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var SoapClient: OleVariant; begin SoapClient := CreateOleObject('MSSOAP.SoapClient30'); SoapClient.mssoapinit('http://17.17.17.5/padbradze/padbradze_wsdl?app=ssmpp'); SoapClient.getBalance('ABCDEF67812323671901', 1, '12900102');// << What's this type ? end;
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php try { $client = new SoapClient("http://17.17.17.5/padbradze/padbradze_wsdl?app=ssmpp"); $result = $client->getBalance('ABCDEF67812323671901', 1, '12900102'); echo $result->transId."\n"; } catch (SoapFault $fault) { echo "Headerfault: ".$fault->headerfault."\n"; echo "Faultcode: ".$fault->faultcode."\n"; echo "Faultstring: ".$fault->faultstring."\n"; }
Partager