Services web

Les services web sont utilisés par le site web pour permettre de réserver ses places en ligne

Spec : doc WSDL : zip


Le projets git:/cineges-web est developpé comme un service non REST mais SOAP avec le framework cxf. A partir du wsdl fournit en tant que specification, les webservices corespondants sont déployé sur les adresses :

  • /ch/servaxis2/sw001.sw001HttpsSoap11Endpoint/
  • /ch/servaxis2/sw002.sw002HttpsSoap11Endpoint/

Pour chacun des webservices, les demandes sont transformé en demandes (client) vers le service cineges-caisse-api. Pour sw001, les services REST suivant sont requêté :

  • /show/consolidated
  • /show/consolidated/list

afin de chercher les séances programmés un jour donné, pour un film particulier ou pas (afin d’avoir les séances pour tous les films) - pour l’appel au premier service - Et afin de chercher les séances, chacune correspondante à une clé de séance.

Pour sw002 : a venir.

sw001

correspondances des valeurs entre celles fournit, et celle du backend

Valeur critères pour sw001, recherché sur /show/consolidated

| Soap values | format |  cineges es values de cinege-show |  | - | - | - | | territoire | 1 charactère | check qu’il corespond à ‘db2CodTer’ de CinegesEnvironement | | complexe | 1 charactère | check qu’il corespond à ‘db2CodCom’ de CinegesEnvironement |
| dateseance | int : yyyymmdd |  transformé en interval de recherche sur ‘projectionBegin’ | numerofilm | int (2 chiffres max) | recherché sur ‘db2NumFilm’ |

Valeur critères pour sw001 avec clé de séances, , recherché sur /show/consolidated/list

| Soap values | format |  cineges es values de cinege-show |  | - | - | - | | territoire | 1 charactère | check qu’il corespond à ‘db2CodTer’ de CinegesEnvironement | | complexe | 1 charactère | check qu’il corespond à ‘db2CodCom’ de CinegesEnvironement |
| listCleSeance | list string de 13 charactères : TCSyyyymmddSS | T : territoire : recherché sur “db2CodTer”
C : complexe : recherché sur “db2CodCom”
S : salle : recherché sur “db2CodSal”
yyymmdd : date de séance : recherché comme interval sur ‘projectionBegin’
SS : numéro de séance : recherché sur “db2CodSeaPro” |

Pour les 2 services, le resultat est une liste (paginatedlist) de séances (cineges-show) consolidées pour chacune d’entre elle avec le film projeté (cineges-movie), la salle (cineges-room), le complexe (cineges-cinema) . A partir de ces resultats, sw001 retourne une liste de resultat consolité comme suit :

| Soap result values | cineges value |  | - | - | | sea_3d2d | show / is3D?“0”:“N” | | sea_cle_seance | show / transformation de db2id ‘T | C | S | yyyymmdd | SS | NNNN ’
en ‘TCSyyyymmddSS’ (sachant que SS peut parfoit etre sur un seul caractère : ajout d’un prefix 0 ) | | sea_cod_salle | room / db2CodSal | | sea_complexe | cinegesEnvironement / db2CodCom | | sea_dateseance | show / projectionBegin formatté en yyyymmdd (sur un entier) | | sea_heuredebut | show / projectionBegin formatté en hhmm (sur un entier) | | sea_heurefin | show and movie / projectionBegin auquel est ajouté movie.duration minutes ; formatté en hhmm | | sea_heurefinvente | show and cinema / projectionBegin auquel est ahouté cinema.configuration.timeShowSaleAllowedAfterBegin minute ; formatté en hhmm| | sea_montarif1 | show/ prices.full | | sea_montarif2 | show/ prices.discounted | | sea_montarif3 | show/prices.student | | sea_montarif4 | show/prices.tarif4| | sea_nbplacedispo | show / seatTotal - seatSold | | sea_num_seance | show/ db2NumSeaPro | | sea_numerofilm | movie / db2NumFilm | | sea_premiere_date | movie / firstProjection formatté en yyyymmdd (sur un entier) | | sea_seanceannule | ??? | | sea_territoire | cinegesEnvironement / db2CodTer | | sea_titre_film | movie/ name | | sea_vfvo | show/ lang |

Au moment de l’écriture de cette documentation, la transformation des dates et heures demande que une timezone soit choisie pour l’exactitude des transformation. Or, la timezone a utilisé n’est pas spécifié … A faire !!

sw002