Bonjour,
Dans le cadre d'un développement pour Windows CE, l'utilisation d'un Web Service s'est de suite imposée. Le souci, c'est que j'ai beau cherché de la documentation (complète j'entends), j'ai du mal à en trouver. La plupart du temps, il s'agit de présenter un cas bien spécifique et on en tire très peu.
Par conséquent, j'avance mais très lentement et il se peut que la méthode que j'emploie soit ainsi faussée....
Je vous montre un petit exemple d'un Web Service que j'ai commencé à développer entre deux sujets.
WebServiceImpl.pas
Operateur.pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 type TWebService = class(TInvokableClass, IWebService) private ADOCon : TADOConnection; ADOReq : TADOQuery; public function getOperateurs(ChaineConnexion : string):ListeOperateur; stdcall; end; implementation function TWebService.getOperateurs(ChaineConnexion, OwnerInit, Societe : string):ListeOperateur; stdcall; var Operateur : ListeOperateur; begin try ADOCon := TADOConnection.Create(nil); ADOCon.LoginPrompt := false; ADOCon.ConnectionString := ChaineConnexion; ADOCon.Connected := true; ADOReq := TADOQuery.Create(nil); ADOReq.Connection := ADOCon; with ADOReq do begin SQL.Clear; SQL.Add('SELECT DISTINCT USER_NAME, PASSWORD FROM UTILISATEUR'); try Open; if (RecordCount > 0) then begin SetLength(Operateur, 0); while not eof do begin SetLength(Operateur, Length(Operateur)+1); Operateur[Length(Operateur)-1] := TOperateur.Create(FieldByName('USER_NAME').AsString, FieldByName('PASSWORD').AsString); end; end; except Close; SQL.Clear; end; end; Result := Operateur; except ADOReq.Free; ADOCon.Free; end; end; initialization { les classes invocables doivent être recensées } InvRegistry.RegisterInvokableClass(TWebService); end.
Déjà, je ne sais pas si je fais bien les choses... Et en plus, je ne sais absolument pas comment exploiter ce service et c'est un véritable problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 unit Operateur; interface type TOperateur = Class(TObject) Username : String; Password : String; constructor Create(_Username, _Password : String); End; ListeOperateur = Array of TOperateur; implementation constructor TOperateur.Create(_Username, _Password : String); begin Username := _Username; Password := _Password; end; end.
Si vous avez des infos, des tutos ou des retours, je suis preneur.
Cordialement,
Partager