Quel type utiliser avec mon client SOAP utilisant MSSOAP Toolkit v3.0 ?
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:
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:
Code:
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; |
Here's a working code in PHP consuming the same service:
Code:
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";
} |