Comment puis-je interprêter du code SOAP dans Delphi 2005
Bonjour à tous,
J'ai besoin de récupérer une valeur (integer) sur un site dont le fournisseur m'a fourni la commande suivante :
Code:
1 2 3
|
https://www.X.com/secure/messenger/soap/AcountService.asmx?=GetMessageLimit (j'ai remplacé le nom fournisseur par un X) |
J'ai donc essayé de créer un WebService avec les composants de Delphi 2005(Importateur SOAP) mais une erreur m'est retourné car l'application attend au POST un fichier WDSL.
Le code que je voudrais traité le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
POST /secure/x/soap/AccountService.asmx HTTP/1.1
Host: www.x.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "com.x.ems.soapinterface/GetMessageLimit"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MessengerHeader xmlns="com.x.ems.soapinterface">
<Username>string</Username>
<Password>string</Password>
<Account>string</Account>
</MessengerHeader>
</soap:Header>
<soap:Body>
<GetMessageLimit xmlns="com.x.ems.soapinterface" />
</soap:Body>
</soap:Envelope> |
Si un spécialiste du Webservice pouvait m'aider, je serais heureux. J'ain fini le programme et je butte sur ce problème.
Merci à tous pour votre aide
Comment puis-je interprêter du code SOAP dans Delphi 2005
Bon, je me réponds à moi-même. Soit le sujet intéresse personne ce qui me surprend vu la tendance des WebServices, soit il n 'y a personne qui sache traité le sujet !
Pour ceux que cela intéresse, j'ai résolu en parti le problème par le simple fait que mon fournisseur (serveur) a apporté une correction essentielle : il m'a fourni un fichier WDSL. Donc, j'ai pu avancé dans la construction de mon projet. Sauf, que maintenant j'ai une erreur suivante :
Type incompatible entre TMyService et HTTPRIO1 ! J'ai pourtant bien fait la déclaration :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
unit UMyServiceImpl;
interface
uses InvokeRegistry, Types, XSBuiltIns, UMyServiceIntf;
type
{ TMyService }
TMyService = class(TInvokableClass, IMyService)
public
end; |
Dans ma forme principale, j'ai déposé un composant de Delphi (palette WebServices) et renseigner les propriétés WDSLLocation, Port et le Service.
Pour tester, je fais juste un click sur un bouton placé sur la forme dont voici l'évènement OnClick :
Code:
1 2 3 4 5 6 7 8
|
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage((HTTPRIO1 as TMyService).GetMessageLimitSoapIn;
//L'erreur m'est indiquée ici
end; |
Avez-vous une réponse à m'apporter ?
Merci d'avance