Téléchargement des produits


Version anglaise


 

 

      

VADELIA

SADELIA

WADELIA

MADELIA

 

(I/B) (C/S)

(B) (S)

(I/B) (C/S)

(I) (C/S)

 

Paragraphe d'utilisation

DECLARATION

 

Syntaxe

PARAM SuiteParam

SuiteParam

Þ

SuiteParam ZoneParam | ZoneParam

 
       

ZoneParam

Þ

IdVar

 

 

Þ

IdVar, GenreSOAP

(Seulement dans le cas de service Web SOAP)

 

Þ

IdVar, GenreSOAP, NomExport

(Seulement dans le cas de service Web SOAP)

 

 

 

 

 

Þ

IdVar, GenreRest

Seulement dans le cas de service Web Rest)

 

Þ

IdVar, GenreRest, NomExport

Seulement dans le cas de service Web Rest)

       

GenreSOAP

Þ

I | O | B

 

       

GenreRest

Þ

I[NatureI] | O[NatureO]

 

NatureI

Þ

path

 

 

Þ

query:ReqOpt

 

 

Þ

header:ReqOpt

 

 

Þ

header(csteAlpha):ReqOpt

 

 

Þ

form:ReqOpt

 

 

Þ

form(csteAlpha):ReqOpt

 

 

Þ

cookie:ReqOpt

 

 

Þ

cookie(csteAlpha):ReqOpt

 

 

Þ

content

 

 

Þ

multipart:ReqOpt

 

 

Þ

multipart(csteAlpha):ReqOpt

 

 

Þ

multipart:type(csteAlpha):ReqOpt

 

 

Þ

multipart(csteAlpha):type(csteAlpha):ReqOpt

 

 

Þ

attachment

 

       

ReqOpt

Þ

required | optional | optional(cste)

 

cste

Þ

csteNum | csteAlpha

 

NatureO

Þ

header

 

 

Þ

header(csteAlpha)

 

 

Þ

cookie

 

 

Þ

cookie(csteAlpha)

 

 

Þ

cookie:comment(csteAlpha)

 

 

Þ

cookie:max_age(csteNum)

 

 

Þ

cookie(csteAlpha):comment(csteAlpha):max_age(csteNum)

 

 

Þ

content

 

 

Þ

multipart

 

 

Þ

multipart(csteAlpha)

 

 

Þ

multipart:type(csteAlpha)

 

 

Þ

multipart(csteAlpha):type(csteAlpha)

 

 

Þ

attachment

 

 

Þ

HTTPstatus

 

       
       

 

 

 

Description

Déclaration des paramètres du programme ou d'une procédure.

 

Cette déclaration ne peut être faite qu'une seule fois pour le programme et pour chaque procédure. Les paramètres sont tous déclarés dans la liste SuiteParam , qui doit contenir au moins une zone.

 

Les variables, paramètres du programme, doivent être globales au programme.

 

Les variables, paramètres d'une procédure, doivent être locales à la procédure.

 

Les variables peuvent être de type simple, c'est-à-dire NUM_E, NUM_P, NUM_BIN_2, NUM_BIN_4, NUM_BIN_8, BOOL, DATE, TIME, TIMESTAMP, ALPHA et IMAGE. Elles peuvent être sous forme de tableaux. Les listes mémoires et les classes (REF_CLASSE) peuvent aussi être un paramètre.

 

Pour les programmes VADELIA Batch sans état destinés à la production de services Web, lorsque l'ordre PARAM correspond au paragraphe de déclaration générale ou au paragraphe de déclaration d'une procédure publique, la syntaxe de l'ordre PARAM requiert l'adjonction d'une information précisant le genre du paramètre. Le genre est précisé à l'aide d'une des trois lettres suivantes :

- I : paramètre en entrée,

- O : paramètre en sortie,

- B : paramètre en entrée/sortie (uniquement service SOAP),

D'autre part il est possible, de façon facultative, d'associer au paramètre un nom exporté NomExport. Ce dernier est alors utilisé à la place du mot directeur Adélia dans le schéma XML (SOAP) ou dans la représentation (REST) du service Web produit. NomExport est un identifiant de 128 caractères de long au maximum et la casse est prise en compte.

Le genre d'un paramètre est obligatoire à partir du moment où ce dernier joue un rôle dans une des opérations du service Web produit, c'est-à-dire si le paramètre est un paramètre du programme ou d'une procédure publique du programme.

 

Dans le cadre des services REST, il est possible d'adjoindre au genre du paramètre une multitude de natures, dont voici la liste :

 

Pour un paramètre en entrée (Genre I) :

 

Nature

Types supportés

Occ. max

Facul
tatif

Valeurs multiples

Commentaires

path

SSI

N

Non

non

Paramètre associé à une variable citée via une annotation @Path.

Exemple :

/car/{idcar}/{idcolor}

Le nombre d'occurrences est égal au nombre trouvé de {variable} dans l'URI.

Exemple :

PARAM idcar,I[path] idcolor,I[path]

query

SSI ou

SSI_1D

N

Oui

oui

Paramètre associé à un paramètre d'une URL.

Exemple :

/car?id=10&color=blue

 

Le nombre d'occurrences est égal au nombre trouvé de variables paramètre dans l'URL.

Exemple :

/car?id=10&color=blue

PARAM id,I[query:required] color,I[query:optional('red')]

 

Il est possible d'avoir plusieurs variables paramètre de même nom et donc de récupérer une collection de valeurs.

Le paramètre déclaré doit alors être une table de dimension 1.

Exemple :

/car?color=blue&color=green&color=red

ALPHA(32) color(5)

PARAM color,I[query:required],color

 

Pour un paramètre de nom interne NomParam, ne définissant pas de nom externe, le nom du paramètre à écrire dans la chaîne de paramètres de l'URL doit être : pmNOMPARAM

 

Exemple :

NUM_BIN_4 id

ALPHA(32) color

PARAM id,I[query:required] color,I[query:optional('red')]

 

URL : /car?pmID=10&pmCOLOR=red

 

 

header

SSI

ou

SSI_1D

N

Oui

Oui

Paramètre associé à un header HTTP.

Le nombre d'occurrences est égal au nombre de header à récupérer.

Il est possible d'avoir plusieurs champs header de même nom et donc de récupérer une collection de valeurs. Le paramètre déclaré doit alors être une table de dimension 1.

Exemple :

ALPHA(256) hdrCT

PARAM hdrCT,I[header('Content-Type'):required]

form

SSI

N

Oui

Non

Paramètre associé à un champ de formulaire HTTP.

Exemple :

ALPHA(256) NomCli

PARAM NomCli,I[form('name'):required]

cookie

SSI

N

Oui

Non

Paramètre associé à un cookie.

Le nombre d'occurrences est égal au nombre de cookies à récupérer.

Exemple :

ALPHA(256) infCookCli

PARAM infCookcli,I[cookie('cook_inf_lastcli'):required]

content

SwCLS

1

Non

Non

Paramètre associé au contenu (corps) de la requête HTTP. Le format de ce contenu est l'un de ceux définis via l'annotation @Consumes.


Le contenu peut être récupéré dans un type simple ou dans une classe Adélia.

multipart

SwCLS

N

Oui

Non

Paramètre associé à une partie de contenu de la requête HTTP dans le cas d'un message composé de plusieurs ensembles de données regroupées dans un même corps ; le format de ce contenu est nommé multipart.

Chaque partie identifiée du contenu peut être associée à un paramètre ; un type mime (Content-Type) peut être précisé pour chacune des parties.

Exemple :

REF_CLASSE(COMPUTER) iComputer

REF_CLASSE(PRINTER) iPrinter

PARAM iComputer,I[multipart('id1'):type('application/xml'):required] iPrinter,I[multipart('id2'):type('application/json'):optional] ]

Note : pour le format consommé il faut choisir l'un des types mime multipart existant, à savoir :

  • multipart/mixed
  • multipart/form-data
  • multipart/alternative
  • multipart/related


Exemple :

SW_CONFIGURER *OPERATION '@Consumes' 'multipart/mixed'

attachment

ALPHA ou

ALPHA(n) ou

LISTE

1

Non

Oui

Paramètre associé à un ou plusieurs fichiers à récupérer (upload).

Le paramètre est alors soit de type ALPHA, soit une table ALPHA à une dimension, soit une liste d'une zone ALPHA.

Le paramètre contient le(s) nom(s) et emplacement(s) du(des) fichier(s) uploadé(s).

 

Le répertoire cible de stockage des fichiers attachés est par défaut le répertoire défini par la variable d'environnement java.temp de la JVM.

La fonction VaToolBx VaToolBxWSSetAttachmentDirectory permet de changer cet emplacement.


Exemple :

SW_CONFIGURER *OPERATION '@Consumes' 'multipart/form-data'

ALPHA(256) FileName

LISTE LstAttachedFiles FileName

PARAM LstAttachedFiles,I[attachment]
...

APPELER_CLASS 'VaToolBx' 'VaToolBxWSSetAttachmentDirectory' 'c:\temp\files'

 

Notes :

    • Définition des types supportés (sous-ensembles)

Simple => ALPHA|NUM_E|NUM_P|BOOL|NUM_BIN_2|NUM_BIN_4|NUM_BIN_8|DATE|TIME|TIMESTAMP|IMAGE

SSI    => ALPHA|NUM_E|NUM_P|BOOL|NUM_BIN_2|NUM_BIN_4|NUM_BIN_8|DATE|TIME|TIMESTAMP

SSI_1D => SimpleSansImage(N)

SwCLS  => Simple | REF_CLASSE

 

    • Occurrence maximale : indique le nombre maximal d'occurrences d'un paramètre pour une nature donnée. Par exemple, un seul paramètre de nature content est autorisé alors que plusieurs paramètres de nature query sont autorisés.

REF_CLASSE(CLIENT) iClient

PARAM iClient,I[content]

ALPHA(18) CodeCli

ALPHA(50) NomCli

PARAM CodeCli,I[path] NomCli,i[path]

 

    • Facultatif : si le paramètre peut-être facultatif alors il faut préciser s'il est requis ou optionnel. Dans ce dernier cas, il est possible de lui assigner une valeur par défaut.

NUM_BIN_4 CodePers

ALPHA(32) CodeGroup

PARAM CodePers,I[query:required] CodeGroup,I[query:optional('HardisGroup')]

 

    • Valeurs multiples : indique si un même paramètre peut recevoir plusieurs valeurs. Si c'est le cas le paramètre doit déclarer une table à une dimension avec un nombre d'éléments supérieur ou égal au nombre de valeurs à recevoir ou, si la nature le permet, une LISTE.

NUM_BIN_4 CodesPers[10]

PARAM CodesPers,I[query:required]

 

    • Les natures form, content, multipart, et attachment sont exclusives.

 

 

Pour un paramètre en sortie (Genre O) :

 

Nature

Types supportés

Occ. max

Valeurs multiples

Commentaires

header

SSI

N

Non

Paramètre associé à un header HTTP.

Le nombre d'occurrences est égal au nombre de champs header à envoyer.

 

Exemple :

ALPHA(256) hdrLocation

PARAM hdrLocation,O[header('Content-Location')]

cookie

SSI

N

Non

Paramètre associé à un cookie.

Le nombre d'occurrences est égal au nombre de cookies à envoyer.

La directive comment permet, si besoin, de joindre un commentaire au cookie.

La directive max_age permet, si besoin, de fixer une limite de temps (exprimée en secondes) au cookie.


Exemple :

ALPHA(256) infCookCli

PARAM infCookcli,I[cookie('cook_inf_lastcli'):comment('comment'):max_age(3600)]

content

SwCLS

N

Non

Paramètre associé au contenu (corps) de la réponse HTTP. Le format de ce contenu est l'un de ceux définis via l'annotation @Produces.

 

Le contenu à envoyer peut s'appuyer sur l'ensemble des types Adélia suivants (types simples, tables à 1 dimension, LISTE, REF_CLASSE).

Il est possible de déclarer plusieurs paramètres en sortie de nature content ; ces derniers sont alors agrégés dans une structure qu'il est possible de nommer à l'aide de l'ordre :

SW_CONFIGURER *OPERATION '_root_result_name' 'NomDeLaStructure'

multipart

SwCLS

N

Non

Paramètre associé à une partie de contenu de la réponse HTTP pour un message composé de plusieurs ensembles de données regroupées dans un même corps ; le format de ce contenu est nommé multipart.
Chaque partie identifiée du contenu peut être associée à un paramètre ;

un type mime (Content-Type) peut-être précisé pour chacune des parties.

Exemple :

REF_CLASSE(COMPUTER) iComputer

REF_CLASSE(PRINTER) iPrinter

PARAM iComputer,O[multipart('part1'):type('application/xml')] iPrinter,I[multipart('part2'):type('application/json')] ]

 

Note : pour le format produit il faut choisir l'un des types mime multipart existant, à savoir :

  • multipart/mixed
  • multipart/form-data
  • multipart/alternative
  • multipart/related

 

Exemple :

SW_CONFIGURER *OPERATION '@Consumes' 'multipart/mixed'

attachment

ALPHA ou
ALPHA(n) ou
LISTE

1

Oui

Paramètre associé à un ou plusieurs fichiers à envoyer (download).

Le paramètre est alors soit de type ALPHA, soit une table ALPHA à une dimension, soit une liste d'une zone ALPHA.

Le paramètre contient le(s) nom(s) et emplacement(s) du(des) fichier(s) à télécharger.

 

Exemple :

ALPHA(256) FileNames(2)

BOOL cRet

PARAM FileNames,O[attachment]

 

/* Téléchargement des fichiers pic1.jpg et pic2.jpg situés dans le répertoire

/* '/images' de l'application web.

APPELER_CLASS 'VaToolBx' 'VaToolBxAwsGetRealPath' '/images/pic1.jpg' FileNames(1) cRet

APPELER_CLASS 'VaToolBx' 'VaToolBxAwsGetRealPath' '/images/pic2.jpg' FileNames(2) cRet

HTTPstatus

NUM_BIN_2

1

Non

Paramètre associé au code de status HTTP retourné par le service.

Le paramètre de nature HTTPstatus n'est pas obligatoire ; il se substitue au code calculé par défaut et ce qui, dans certains cas,  permet de définir un code retour plus pertinent.

 

Exemple :

NUM_BIN_4     httpstatus

PARAM httpstatus,o[httpstatus]

 

si ok_lecture

  httpstatus = 200 /* on retourne le code HTTP 200 : OK

sinon

  httpstatus = 404 /* on retourne le code http 404 : non trouvé

fin

 

Notes :

    • Définition des types supportés (sous-ensembles)

Simple => ALPHA|NUM_E|NUM_P|BOOL|NUM_BIN_2|NUM_BIN_4|NUM_BIN_8|DATE|TIME|TIMESTAMP|IMAGE

SSI    => ALPHA|NUM_E|NUM_P|BOOL|NUM_BIN_2|NUM_BIN_4|NUM_BIN_8|DATE|TIME|TIMESTAMP

SwCLS  => Simple | REF_CLASSE

 

    • Occurrence maximale : indique le nombre maximal d'occurrences d'un paramètre pour une nature donnée.
      Par exemple, un seul paramètre de nature attachment est autorisé alors que plusieurs paramètres de nature multipart sont autorisés.

 

    • Valeurs multiples : indique si un même paramètre peut recevoir plusieurs valeurs.
      Si c'est le cas, le paramètre doit déclarer une table à unedimension avec un nombre d'éléments supérieur ou égal au nombre de valeurs à recevoir ou, si la nature le permet, une LISTE.

 

    • Les natures content, multipart, et attachment sont exclusives.

 

Par exemple

PARAM COD_CLI TableAlpha

 

Autres exemples d'utilisation

 

Premier cas

* dans le paragraphe DECL d'un programme Visual

* déclaration d'une variable code retour

ALPHA(2) PW_COD_RET

* déclaration d'une liste mémoire

LISTE PW_LST_MEMO PE_NOM_PERSONNE PE_PRN_PERSONNE PE_COD_MATRICUL PE_LIB_VIL_PERS

* déclaration en paramètre de la liste mémoire et d'un code retour

PARAM  PW_LST_MEMO  PW_COD_RET

 

Second cas

* dans un programme Visual dans une procédure

 

Troisième cas

* pour un service Web SOAP

PARAM  PCODE_CLIENT,I,CodeDuClient  PNOM_CLIENT,O,NomDuClient  PADR_CLIENT,O,AdresseDuClient

 

 

 

Quatrième cas

* pour un service Web REST

PARAM  PCODE_CLIENT,I[path],CodeDuClient  VCLIENT,O[content],Client  status,O[HTTPstatus]

PARAM PCODE_CLIENT,I[query:required] PVILLE_CLIENT,I[query:optional('Paris')] VCLIENT,O[content] VHEAD,O[header('Content-Location')]

PARAM PCODINFI,I[cookie('cook-inf-lastcli')] PCODINFO,O[cookie('cook-inf-lastcli'):comment('Informations dernier client'):max_age(3600)]

 

↑ Haut de page

  • Aucune étiquette