Bonjour à tous,
je developpe dans un SGBD (Navision) et j'ai besoin de consommer un web service dans cet ERP.
Pour ce faire j'ai utilisé deux méthodes, l'une avec l'automation MSXML et l'autre avec l'automation Microsoft SOAP type library V3.
Avec la 1ière méthode cela fonctionne bien, par contre avec l'utilisation de Microsoft SOAP type library V3 mon service ne me renvoi rien (mon web servcice concatène simplement deux variable de type string et renvoi la chaine complète), et je ne comprend pas pourquoi.
voici le code d'appel dans navision (c'est un language propriétaire mais il reste proche de ce que nous connaissons) :
merci d'avance de vos réponses.
CREATE(AutGSoapConnector);
CREATE(AutGBstr);
AutGSoapConnector.Property('EndPointURL','http://localhost/service1.asmx');
AutGSoapConnector.Connect;
AutGSoapConnector.Property('Timeout', 5 * 1000);
AutGSoapConnector.Property('SoapAction','http://tempuri.org/WebService1/Service1/String_Concat');
AutGSoapConnector.BeginMessage;
CREATE(AutGSerialiser);
AutGSerialiser.Init(AutGSoapConnector.InputStream);
AutGSerialiser.StartEnvelope('SOAP');
AutGSerialiser.StartBody;
AutGSerialiser.StartElement('String_Concat');
AutGSerialiser.StartElement('sA');
AutGSerialiser.WriteString('AAA ');
AutGSerialiser.EndElement;
AutGSerialiser.StartElement('sB');
AutGSerialiser.WriteString('BBB');
AutGSerialiser.EndElement;
AutGSerialiser.EndElement;
AutGSerialiser.EndBody;
AutGSerialiser.EndEnvelope;
AutGSerialiser.Finished();
AutGSoapConnector.EndMessage;
CREATE(AutGXMLDoc);
AutGXMLDoc.load(AutGSoapConnector.OutputStream);
AutGXMLDoc.save('C:\projets\temp1.xml');
le fichier XML de résultat :
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns
sd="http://www.w3.org/2001/XMLSchema"><soap:Body><String_ConcatResponse xmlns="http://tempuri.org/WebService1/Service1"><String_ConcatResult/></String_ConcatResponse></soap:Body></soap:Envelope>
je devrais avoir 'AAA BBB'
Partager