FAO - POST
Transcription
FAO - POST
04/01/13
Procédures d’échange de messages entre l’EPT et
les OAO pour le dégroupage de la fibre optique
(FAO)
Auteur : EPT
Version 1.0.3.0
P&T Luxembourg
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
1 / 40
04/01/13
Sommaire
1 GENERALITES SUR LE TRAITEMENT DES DONNEES ISSUES D’UN OAO ..................... 5
1.1
1.2
1.3
1.4
OBJECTIF DE CE DOCUMENT ............................................................................................................................. 5
SCOPE ............................................................................................................................................................... 5
REGLES A RESPECTER ....................................................................................................................................... 5
GENERALITES ................................................................................................................................................... 5
2 FORMAT DES DONNEES ................................................................................................................ 6
2.1
2.2
2.3
FORMAT XML GENERAL DES FICHIERS ECHANGES.......................................................................................... 6
TYPE DE MESSAGES ECHANGES POUR TOUS LES WORKFLOWS ......................................................................... 7
PROCEDURE D’ECHANGE DE FICHIER ............................................................................................................... 7
3 TRAITEMENT DES DEMANDES D’ACTIVATION (EXPRESS) .............................................. 8
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
FICHIERS ECHANGES LORS D’UNE DEMANDE D’ACTIVATION........................................................................... 8
WORKFLOW D’ACTIVATION (EXPRESS) ......................................................................................................... 9
DESCRIPTION DE LA REQUETE FAO_ACTIVATION_TO_EPT_YYYYMMDD_HHMMSS.XML .................. 10
DESCRIPTION DE LA REPONSE FAO_ACTIVATION_ACK_FROM_EPT_YYYYMMDD_HHMMSS.XML .............. 12
DESCRIPTION DE LA REPONSE FAO_ACTIVATION_REJECT_EPT_YYYYMMDD_HHMMSS.XML ..................... 13
DESCRIPTION DE LA REPONSE FAO_ACTIVATIONSUCCESS_FROM_EPT_YYYYMMDD_HHMMSS.XML ......... 15
DESCRIPTION DE LA RÉPONSE FAO_ACTIVATIONNOSUCCESS_FROM_EPT_YYYYMMDD_HHMMSS.XML .... 16
DESCRIPTION DE LA RÉPONSE FAO_ACTIVATED_FROM_EPT_YYYYMMDD_HHMMSS.XML ......................... 18
4 TRAITEMENT DES DEMANDES DE SUPPRESSION .............................................................. 20
4.1
4.2
4.3
4.4
4.5
4.6
FICHIERS ECHANGES LORS D’UNE DEMANDE DE SUPPRESSION ...................................................................... 20
WORKFLOW DE SUPPRESSION......................................................................................................................... 21
DESCRIPTION DE LA REPONSE FAO_DELETION_TO_EPT_YYYYMMDD_HHMMSS.XML ....................... 22
DESCRIPTION DE LA REPONSE FAO_DELETION_ACK_FROM_EPT_YYYYMMDD_HHMMSS.XML .................. 24
DESCRIPTION DE LA RÉPONSE FAO_DELETION_REJECT_FROM_EPT_YYYYMMDD_HHMMSS.XML.............. 25
DESCRIPTION DE LA REPONSE FAO_DELETED_FROM_EPT_YYYYMMDD_HHMMSS.XML ............................. 26
5 MESSAGES ....................................................................................................................................... 28
5.1
5.2
LISTE DES ERREURS EXISTANTES ................................................................................................................... 28
LISTE DES MESSAGES D’INFORMATION EXISTANTS ........................................................................................ 29
6 ANNEXES .......................................................................................................................................... 30
6.1
6.2
HEADER........................................................................................................................................................ 30
ENVELOPPE REQUEST DU FORMAT PIVOT ....................................................................................................... 32
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
2 / 40
04/01/13
6.3
6.4
ENVELOPPE RESPONSE DU FORMAT PIVOT ..................................................................................................... 34
BODY DU FORMAT PIVOT................................................................................................................................ 36
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
3 / 40
04/01/13
HISTORIQUE DES VERSIONS
Date
Auteur
Version
Commentaire
25/01/10
EPT
V 1.0.0.1 Création du document
20/01/11
EPT
V 1.0.0.2
18/07/11
EPT
09/08/11
EPT
27/12/11
EPT
25/05/12
EPT
V1.0.2.1
Ajout de balise lors du FAO_ActivationSuccess
17/12/12
EPT
V1.0.3.0
Ajout des balises building et id dans l’adresse d’installation
Corrections des tailles maximales des champs de l’adresse
- Champ “customer firstName” n’est plus obligatoire
- Ajout FO_PATCH pour fichier ActivationSuccess
Suppression des fichiers de type FAO_TimeSchedule et
V 1.0.0.3
FAO_TimescheduleCancel
Ajout des balises
V1.0.1.0 Modification de la balise POP en EQUIPMENT_NUMBER et ajout possibilité
TERMINAL
Validation pour les procédures d’activation « express » et suppression d’un
V1.0.1.1
service FAO
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
4 / 40
04/01/13
1
1.1
Généralités sur le traitement des données issues d’un OAO
Objectif de ce document
L’objectif de ce document est :
de décrire précisément les règles d’échanges liés aux transferts de commandes entre un OAO
(Other Alternative Operator) et l’EPT pour les commandes de dégroupage d’une fibre optique en
mode P2P:
o
o
l’activation d’un nouveau circuit FO
la suppression d’un circuit FO
de décrire les règles à suivre pour permettre une prise en compte automatique de la commande au
niveau EPT
1.2
Scope
On se limite ici à la description des échanges et du format de ces échanges. Ainsi seule la partie <body> du message
SOAP est décrite ici.
La documentation relative au HEADER est présente en annexe à ce document au point 6.1.
1.3
Règles à respecter
Afin de permettre la prise en compte des messages XML envoyés à l’EPT, il est nécessaire de suivre les
règles suivantes :
Respect des normes XML version 1
Respect des schémas XSD fournis en annexe aux points 6.2, 6.3 et 6.4
Respect des valeurs type des paramètres
1.4
Généralités
Pour automatiser l'échange des données des commandes FAO, il est prévu de transmettre les données sous forme
de webservice en format SOAP (Simple Object Access Protocol).
L'authenticité de l’userid est vérifiée en contrôlant le mot de passe. Une vérification que l’userid correspond à la
<source>-<name> est également effectuée.
La <destination>-<name> doit être EPT.
Attention :
Tout envoi de requête est définitif. A partir du moment où la demande a été transmise par l’opérateur à l’EPT au
format SOAP, aucune intervention manuelle sur la demande (modification/suppression de champs) n’est possible.
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
5 / 40
04/01/13
2
Format des données
Le format des messages est défini par les XSD trouvés en annexe à ce document aux points 6.2, 6.3 et 6.4. Les
données métiers seront définies tout au long de ce document. Pour chaque message échangé, une description de
l’ensemble des balises sera spécifiée.
2.1
Format XML général des fichiers échangés
2.1.1
Composition des messages XML types
Request
enveloppe d'un message
header
en-tête du message
…
body
corps du message
Response
enveloppe d'un message
header
en-tête du message
…
body
corps du message définit si nécessaire
…
fault
Erreur/information business
…
…
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
6 / 40
04/01/13
2.2
Type de messages échangés pour tous les workflows
Type
FAO
FAO
Action
FAO_Activation
FAO_Deletion
From
OAO
OAO
To
EPT
EPT
Description
Demande d’activation
Demande de suppression
FAO
FAO
FAO_Ack
FAO_Reject
EPT
EPT
OAO
OAO
Ack
Rejet de la demande
FAO
FAO
FAO
FAO
FAO_ActivationNoSuccess
FAO_ActivationSuccess
FAO_Activated
FAO_Deleted
EPT
EPT
EPT
EPT
OAO
OAO
OAO
OAO
Commande d’activation a échouée
Commande d’activation créée avec succès
L’activation a réussi
Reçu lorsque la suppression est un succès
2.3
Procédure d’échange de fichier
Pour une activation express (sans rendez-vous sur booking manager):
Une fois la demande réceptionnée, un accusé de récéption sera transmis à l’OAO via le message
FAO_Ack_from_ept_yyyymmdd_hhmmss.xml
Si un problème dans les données envoyées est détecté
Alors nous enverrons un message de rejet FAO_ Reject_from_ept_yyyymmdd_hhmmss.xml et FIN
Sinon
Si la commande ne peut être activée par les équipes techniques de l’EPT, p. ex. si l’infrastructure demandée
n’est pas disponible à l’adresse demandée
Alors un message FAO_ActivationNoSuccess_from_ept_yyyymmdd_hhmmss.xml sera transmis et FIN.
Sinon
(Phase d’activation express)
Un message de type FAO_ActivationSuccess_from_ept_yyyymmdd_hhmmss.xml sera envoyé à OAO en
stipulant l’id EPT référençant la commande
Une fois que le service sera activé, la date d’entrée en service sera transmise à l’OAO via le fichier
FAO_Activated_from_ept_yyyymmdd_hhmmss.xml
Pour une suppression :
Une fois la demande réceptionnée, un accusé de récéption sera transmis à l’OAO via le message
FAO_Ack_from_ept_yyyymmdd_hhmmss.xml
Si un problème dans les données envoyées est détecté
Alors nous enverrons un message de rejet FAO_Deletion_Reject_from_ept_yyyymmdd_hhmmss.xml
Sinon
La suppression du service sera effectuée à la « due date » demandée par l’OAO, une information sera
transmise à l’OAO via le fichier FAO_Deleted_from_ept_yyyymmdd_hhmmss.xml
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
7 / 40
04/01/13
3
Traitement des demandes d’activation (EXPRESS)
3.1
Type
FAO
FAO
FAO
FAO
FAO
FAO
Fichiers échangés lors d’une demande d’activation
Action
FAO_Activation
FAO_Ack
FAO_Reject
FAO_ActivationNoSuccess
FAO_ActivationSuccess
FAO_Activated
From
OAO
EPT
EPT
EPT
EPT
EPT
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
To
EPT
OAO
OAO
OAO
OAO
OAO
Description
Demande d’activation
Ack
Rejet de la demande
Commande d’activation a échouée
Commande d’activation créée
L’activation a réussi
8 / 40
04/01/13
3.2
Workflow d’activation (EXPRESS)
ECHANGE DE FICHIERS OAO
Activation FAO
OLO
Envoi de la requête
FAO_ACTIVATION_TO_EPT
(via serveur SOAP)
EPT
récupération du
fichier
contrôle de
cohérence
OK ?
Oui
Non
Reject
Génération du fichier
FAO_REJECT_FROM_EPT
Contrôle
technique
Type ?
Fichier envoyé par EPT
Envoi du fichier à
l'operateur
Failed
Génération du fichier
WSFAO_ACTIVATION_NOSUCCESS_FROM_EPT
Non
OK ?
OUI
Création de la
commande dans Back
Office EPT
Génération du fichier
FAO_ACTIVATION_SUCCESS_FROM_EPT
ACTIVATION
SERVICE
-----Activation du service
dans
Back Office EPT
Génération du fichier
FAO_ACTIVATED_FROM_EPT
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
9 / 40
04/01/13
3.3
Description de la requête FAO_Activation_TO_EPT_YYYYMMDD_HHMMSS.xml
3.3.1
XML type pour une demande d’activation
Le fichier est décrit ci-dessous (en rouge les données exemples):
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<request xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<service>
<type>FAO</type>
<action>FAO_Activation</action>
</service>
<source>
<name>OAO</name>
<id>XXXXXXX</id>
</source>
<destination>
<name>EPT</name>
</destination>
<authentication>
<userid>USERID </userid>
<password>PASSWORD </password>
</authentication>
</header>
<body>
<pivot:client>
<pivot:clientId></pivot:clientId>
<pivot:firstName>Patrick</pivot:firstName>
<pivot:lastName>MUELLER</pivot:lastName>
<pivot:services>
<pivot:service>
<pivot:serviceAttributes>
<pivot:attribute>
<pivot:name>PROVISION_TYPE</pivot:name>
<pivot:value>FAO_NEW_EXPRESS</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>RECIPIENT_OPERATOR</pivot:name>
<pivot:value>CGC</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>CONTACT_CLIENT_NAME</pivot:name>
<pivot:value>Mueller Patrick</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>CONTACT_CLIENT_NUMBER</pivot:name>
<pivot:value>6915856447</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>EQUIPMENT_NUMBER</pivot:name>
<pivot:value>501</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>TERMINAL_NUMBER</pivot:name>
<pivot:value>FO-TH1020</pivot:value>
</pivot:attribute>
</pivot:serviceAttributes>
<pivot:installationAddress>
<pivot:id></pivot:id>
<pivot:street>RTE DE BELVAUX</pivot:street>
<pivot:streetNumber>250</pivot:streetNumber>
<pivot:zipCode>L-4510</pivot:zipCode>
<pivot:city>DIFFERDANGE</pivot:city>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
10 / 40
04/01/13
<pivot:apartment>00204</pivot:apartment>
<pivot:floor>00001</pivot:floor>
<pivot:building></pivot:building>
</pivot:installationAddress>
</pivot:service>
</pivot:services>
</pivot:client>
</body>
</request>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif.
3.3.2
Description des balises XML renseignée lors d’une activation
3.3.2.1 Description des balises XML renseignée lors d’une activation avec un
provision type : FAO_NEW_EXPRESS
Balise
Balise
Client
lastName
Type
(Taille maxi)
Alpha(30)
Client
firstName
Alpha(30)
Client
phoneNumber
Client
clientId
Numérique
(20)
Numérique
(15)
Client/Services/InstallationAddress
id
Client/Services/InstallationAddress
street
Numeric
(10)
Alpha(100)
Client/Services/InstallationAddress
streetNumber
Alpha(10)
Client/Services/InstallationAddress
zipCode
Alpha(6)
Client/Services/InstallationAddress
city
Alpha(30)
Client/Services/InstallationAddress
apartment
Alpha (20)
Client/Services/InstallationAddress
floor
Alpha (20)
Client/Services/InstallationAddress
building
Description
Obligatoire ?
Nom du client (Ex :
Mueller) ou nom de
l’entreprise
Prénom du client (Ex :
Patrick) ou rien si
entreprise
Ligne (principale si
ISDN) (Ex : 254587)
Référence des P&T
(numéro de client ou
numéro de compte)
OUI
NON
NON
NON
Identifiant de
l’adresse
Rue (Ex : Rue de la
Gare)
Numéro de rue (Ex :
12)
Code postal (Ex : L8354)
Ville (Ex :
DUDELANGE)
Si appartement
(00204)
Etage (00001)
NON(1)
Alpha
(100)
building (BAT.1)
NON(3)
Client/Services/serviceAttribute(name=’PROVISION_TYPE’)
Alpha(100)
Client/Services/serviceAttribute(name=’RECIPIENT_OPERATOR’)
Client/Services/serviceAttribute(name=’CONTACT_CLIENT_NAME’)
Alpha(100)
Alpha(50)
Type demande :
FAO_NEW_EXPRESS
Ex : CGC
Nom du contact
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
11 / 40
OUI
OUI
OUI
OUI
NON(2)
NON(2)
OUI
OUI
NON
04/01/13
Client/Services/serviceAttribute(name=’CONTACT_CLIENT_NUMBER’)
Alpha(20)
Client/Services/serviceAttribute(name=’EQUIPMENT_NUMBER’)
Alpha(20)
Client/Services/serviceAttribute(name=’TERMINAL_NUMBER’)
Alpha(20)
client(Ex : Mueller
Patrick)
Numéro de téléphone
du client (Ex :
6915856447)
Numéro de l’armoire
(Ex : 501)
Identifiant du terminal
(Ex : FO-TH1020)
NON
OUI
NON
(1) Dans le cas ou l’id de l’adresse est indiqué, les informations présentent dans les autres balises de l’adresse
d’installation deviennent caduques et ne sont pas prises en compte. L’id correspond à l’identifiant « SamID » du
fichier « AllAddresses » publié sur le site Opérateurs de l’EPT et disponible pour download
(2) Dans le cas ou la désignation de l’adresse stipule un appartement, ces champs deviennent OBLIGATOIRES
(3) Champ à renseigner dans le cas ou un building est référencé dans l’adresse d’installation
3.3.2.2 Règles de gestion du contrôle de cohérence pour une activation avec un
provision type : FAO_NEW_EXPRESS
RG
RG_ACT_NEW.001
RG_ACT_NEW.002
RG_ACT_NEW.003
Code
MR.001
MR.002
MR.003
RG_ACT_NEW.004
RG_ACT_NEW.005
RG_ACT_NEW.006
RG_ACT_NEW.007
RG_ACT_NEW.008
RG_ACT_NEW.009
MR.004
MR.006
MR.007
MR.010
MR.019
MR.020
Description
XML is not well formed (by example, one markup is missing)
A required XML information is missing
The value of the XML field is not in correct format (regarding alpha/num types, length,
etc.)
The value of the XML field is incorrect (not in range, not authorized, etc.)
A similar request has already been send
A request already exists with this OAO reference.
The installation address is not complete, an address can not be determined
The order was waiting too long time.
The line is not eligible for the product, EPT is unable to process the request
NB : La liste des codes erreurs est décrite au paragraphe 5.1
3.4
Description de la réponse FAO_Activation_Ack_from_ept_yyyymmdd_hhmmss.xml
Afin d’accuser réception des demandes de création fournies, un XML sera envoyé de manière synchrone par EPT
contenant la référence sous la balise header/messageId
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Activation</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
12 / 40
04/01/13
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO</userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<fault>
<code>0</code>
<reason>ack</reason>
</fault>
</response>
Cet acquittement est effectué pour toutes vos demandes indépendamment des incohérences de données XML, celuici reprendra un correlation ID spécifiant l’id unique qui vous sera transmis pour toutes les réponses de notre part
relatives à ce processus.
Si le XML a une structure qui diffère de celle prévue, il n’y a pas de XML d’acquittement de prévu.
Balise(s) parente(s)
fault
code
Type
(Taille maximale)
Alpha(6)
fault
reason
Alpha(100)
3.5
Balise
Description
0
ack
Description de la réponse FAO_Activation_Reject_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Activation</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO</userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<fault>
<code>MR.001</code>
<reason>Wrong message format</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif.
Balise(s) parente(s)
Balise
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Type
(Taille maximale)
Description
13 / 40
04/01/13
fault
fault
code
reason
Alpha(6)
Alpha(100)
Code de l’erreur : MR.XXX
Message pourra être :
Message reason
Les codes d’erreurs renvoyés sont en correlation avec les règles de gestions
détaillées aux points 3.3.2.2.
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
14 / 40
04/01/13
3.6
Description de la réponse FAO_ActivationSuccess_from_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_ActivationSuccess</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO </userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<body>
<pivot:client>
<pivot:services>
<pivot:service>
<pivot:accessServiceId>13100000000</pivot:accessServiceId>
<pivot:serviceAttributes>
<pivot:attribute>
<pivot:name>ACTIVATED_POP</pivot:name>
<pivot:value> VH-OPT1155</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>ACTIVATED_POP_CONNECTOR</pivot:name>
<pivot:value> 1766</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>EQUIPMENT_NUMBER</pivot:name>
<pivot:value>521</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>CABLE_NUMBER</pivot:name>
<pivot:value>526</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>FIBER_NUMBER</pivot:name>
<pivot:value>124</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>TERMINAL_NUMBER</pivot:name>
<pivot:value>FO-TH1020</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>TERMINAL_CONNECTOR</pivot:name>
<pivot:value>458</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>SUB_LOCATION</pivot:name>
<pivot:value>armoire à gauche</pivot:value>
</pivot:attribute>
</pivot:serviceAttributes>
</pivot:service>
</pivot:services>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
15 / 40
04/01/13
</pivot:client>
</body>
<fault>
<code>MI.006</code>
<reason>Success : FAO</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif. Cependant, les données en
rouges seront renseignées dans le fichier envoyé.
Balise(s) parente(s)
Client/Services
Balise
accessServiceId
Type
(Taille
maximale)
Alpha(20)
Client/Services/serviceAttribute(name=’ACTIVATED_POP’)
Alpha(xx)
Client/Services/serviceAttribute(name=’ACTIVATED_POP_CONNECTOR’)
Client/Services/serviceAttribute(name=’EQUIPMENT_NUMBER’)
Alpha(xx)
Alpha(xx)
Client/Services/serviceAttribute(name=’CABLE_NUMBER’)
Alpha(xx)
Client/Services/serviceAttribute(name=’FIBER_NUMBER’)
Client/Services/serviceAttribute(name=’ TERMINAL_NUMBER’)
Alpha(xx)
Alpha(xx)
Client/Services/serviceAttribute(name=’TERMINAL_CONNECTOR’)
Client/Services/serviceAttribute(name=’SUB_LOCATION’)
Alpha(xx)
Alpha(xx)
fault
code
Alpha(6)
fault
reason
Alpha(100)
3.7
Description
Référence de ligne
(131xxxxxxx)
POP actif sur lequel le service
FAO aboutit
Connecteur du POP activé
Numéro d’armoire de
l’opérateur
Désignation du câble arrivant
côté client
Numéro de fibre
Désignation du terminal (NTP
Network Termination Point)
côté client
Connecteur du terminal (NTP)
Description de l’endroit où le
terminal est situé
Code du message
d’information : MI.XXX
Message pourra être :
Success : FAO
Description de la réponse FAO_ActivationNoSuccess_from_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_ActivationNoSuccess</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
16 / 40
04/01/13
<authentication>
<userid>USERID_OAO </userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<fault>
<code>MI.3</code>
<reason>Service Activated</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif. Cependant, les données en
rouges seront renseignées dans le fichier envoyé.
Balise(s) parente(s)
Balise
fault
code
Type
(Taille maximale)
Alpha(6)
fault
reason
Alpha(100)
Description
Code du message
d’information: MI.XXX
Message pourra être :
This line is not eligible for the
product
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
17 / 40
04/01/13
3.8
Description de la réponse FAO_Activated_from_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Activated</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO</userid>
<password>PASSWORD_OAO</password>
</authentication>
</header>
<body>
<pivot:client>
<pivot:services>
<pivot:service>
<pivot:accessServiceId>13100000000</pivot:accessServiceId>
<pivot:serviceAttributes>
<pivot:attribute>
<pivot:name>DUE_DATE</pivot:name>
<pivot:value>20100502</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>DUE_TIME</pivot:name>
<pivot:value>10:00</pivot:value>
</pivot:attribute>
</pivot:serviceAttributes>
</pivot:service>
</pivot:services>
</pivot:client>
</body>
<fault>
<code>MI.003</code>
<reason>Service Activated</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif. Cependant, les données en
rouges seront renseignées dans le fichier envoyé.
Balise(s) parente(s)
Client/Services
Balise
accessServiceId
Type
(Taille
maximale)
Alpha(20)
Client/Services/serviceAttribute(name=’DUE_DATE’)
Alpha(100)
Client/Services/serviceAttribute(name=’DUE_TIME’)
Alpha(100)
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Description
Référence de ligne
(131xxxxxxx)
Date d’installation
effective (Ex : 20100502)
Heure d’installation
effective (EX : 10:00)
18 / 40
04/01/13
fault
code
Alpha(6)
fault
reason
Alpha(100)
Code du message
d’information : MI.XXX
Message pourra être :
Service Activated
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
19 / 40
04/01/13
4
Traitement des demandes de suppression
4.1
Type
FAO
FAO
FAO
FAO
Fichiers échangés lors d’une demande de suppression
Action
FAO_Deletion
FAO_Ack
FAO_Reject
FAO_Deleted
From
OAO
EPT
EPT
EPT
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
To
EPT
OAO
OAO
OAO
Description
Demande de suppression
Ack
Rejet de la demande
Reçu lorsque la suppression est un succès
20 / 40
04/01/13
4.2
Workflow de suppression
ECHANGE DE FICHIERS AVEC LES OLO
Deletion FAO
ISP tiers
Envoi d’une requête SOAP
.FAO_DELETION_to_ept_yyyym
mdd_hhmmss.xml
EPT
contrôle de
cohérence
récupération du
fichier
OK ?
Oui
DELETION
-----Désactivation dans Back
Office EPT
Génération réponse
FAO_ack_
from_ept_yyyymmdd
_hhmmss.xml
Non
Envoi du fichier à
l'OLO
Fichier envoyé par EPT via
serveur SOAP
Génération réponse
FAO_reject_from
_ept_yyyymmdd_hhm
mss.xml
La désactivation s’est
bien déroulée ?
Génération réponse
FAO_Deleted_
from_ept_yyyymmdd
_hhmmss.xml
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
21 / 40
04/01/13
4.3
Description de la réponse FAO_Deletion_TO_EPT_YYYYMMDD_HHMMSS.xml
4.3.1
XML type pour une demande de suppression
Le fichier est décrit ci-dessous (en rouge les données exemples):
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot">
<header>
<senddt>2001-12-17T09:30:47.0Z</senddt>
<service>
<type>FAO</type>
<action>FAO_Deletion</action>
</service>
<source>
<name>OAO</name>
<id>XXXXXXX</id>
</source>
<destination>
<name>EPT</name>
</destination>
<authentication>
<userid>USERID</userid>
<password>PASSWORD</password>
</authentication>
</header>
<body>
<pivot:client>
<pivot:services>
<pivot:service>
<pivot:accessServiceId>1310000000</pivot:accessServiceId>
<pivot:serviceAttributes>
<pivot:attribute>
<pivot:name>DUE_DATE</pivot:name>
<pivot:value>20100510</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>DUE_TIME</pivot:name>
<pivot:value>10:00</pivot:value>
</pivot:attribute>
</pivot:serviceAttributes>
</pivot:service>
</pivot:services>
</pivot:client>
</body>
</response>
4.3.2
Balise
Description des balises XML
Balise
Client/Services
accessServiceId
Type
(Taille maximale)
Alpha (20)
Client/Services/serviceAttribute(name=’DUE_DATE’)
Alpha(8)
Client/Services/serviceAttribute(name=’DUE_TIME’)
Alpha(5)
NB :
Description
Numéro de service (Ex :
131xxxxxxx)
OUI
Date de suppression
souhaitée (Ex : 20100510)
Heure de suppression
souhaitée (EX : 10:00)
OUI
les données mentionnées dans le XML sont données à titre purement indicatif.
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Obligatoire ?
22 / 40
OUI
04/01/13
4.3.3
Règles de gestion du contrôle de cohérence lors d’une suppression
RG
RG_DEL.001
RG_DEL.002
RG_DEL.003
Code
MR.001
MR.002
MR.003
RG_DEL.004
RG_DEL.005
RG_DEL.006
RG_DEL.007
RG_DEL.008
RG_DEL.009
RG_DEL.010
MR.004
MR.005
MR.006
MR.007
MR.011
MR.013
MR.017
Description
XML is not well formed (by example, one markup is missing)
A required XML information is missing
The value of the XML field is not in correct format (regarding alpha/num types, length,
etc.)
The value of the XML field is incorrect (not in range, not authorized, etc.)
XML field values are not compatible together (one of them at a time, but no both together)
A similar request has already been send
A request already exists with this OAO reference.
The service number is not found
The service number is not owned by the OAO
There is one or more open order on the service number
La suppression se fera en fonction du numéro de référence 131xxxxx fourni par l’opérateur. L’EPT n’effectuera pas de
vérification de cohérence des données. Veillez donc saisir un numéro correct, sous peine de supprimer un
mauvais numéro par mégarde.
Lors d’une suppression, nous prendrons le premier jour ouvré disponible en rapport avec la due date.
Exemple : si une due date du samedi 03/04/2010 arrive, nous prendrons le mardi 06/04/2010 comme due date (car le
lundi 05/04/2010 est férié).
4.3.4
Messages d’erreur
La liste des codes erreurs est décrite au paragraphe 5.1
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
23 / 40
04/01/13
4.4
Description de la réponse FAO_Deletion_Ack_from_ept_yyyymmdd_hhmmss.xml
Afin d’accuser réception des demandes de créations fournies, un XML sera envoyé par EPT contenant la référence
sous la balise header/messageId
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Deletion</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO</userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<fault>
<code>0</code>
<reason>ack</reason>
</fault>
</response>
Cet acquittement est effectué pour toutes vos demandes indépendamment des incohérences de données XML, celuici reprendra un correlation ID spécifiant l’id unique qui vous sera transmis pour toutes les réponses de notre part
relatives à ce processus.
Si le XML a une structure qui diffère de celle prévue, il n’y a pas de XML d’acquittement de prévu.
Balise(s) parente(s)
fault
fault
Balise
code
reason
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Type
(Taille maximale)
Alpha(6)
Alpha(100)
Description
0
ack
24 / 40
04/01/13
4.5
Description de la réponse FAO_Deletion_Reject_from_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Deletion</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO </userid>
<password>PASSWORD_OAO </password>
</authentication>
</header>
<fault>
<code>MR.001</code>
<reason>Wrong message format</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif.
Balise(s) parente(s)
fault
fault
Balise
code
reason
Type
(Taille maximale)
Alpha(6)
Alpha(100)
Description
Code de l’erreur : MR.XXX
Message pourra être :
Message reason
Les codes d’erreurs renvoyés sont en correlation avec les règles de gestions détaillées au point 4.3.3
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
25 / 40
04/01/13
4.6
Description de la réponse FAO_Deleted_from_ept_yyyymmdd_hhmmss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
<response xsi:schemaLocation="http://www.ept.lu/soa/2.0/Envelope Envelope_WSLF.xsd" xmlns="http://www.ept.lu/soa/2.0/Envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot">
<header>
<senddt>2010-12-17T09:30:47.0Z</senddt>
<correlationid>22222222</correlationid>
<service>
<type>FAO</type>
<action>FAO_Deleted</action>
</service>
<source>
<name>EPT</name>
<id>YYYYYYY</id>
</source>
<destination>
<name>OAO</name>
<id>XXXXXXX</id>
</destination>
<authentication>
<userid>USERID_OAO</userid>
<password>PASSWORD_OAO</password>
</authentication>
</header>
<body>
<pivot:client>
<pivot:services>
<pivot:service>
<pivot:accessServiceId>13100000000</pivot:accessServiceId>
<pivot:serviceAttributes>
<pivot:attribute>
<pivot:name>DUE_DATE</pivot:name>
<pivot:value>20100502</pivot:value>
</pivot:attribute>
<pivot:attribute>
<pivot:name>DUE_TIME</pivot:name>
<pivot:value>10:00</pivot:value>
</pivot:attribute>
</pivot:serviceAttributes>
</pivot:service>
</pivot:services>
</pivot:client>
</body>
<fault>
<code>MI.004</code>
<reason>Service Deleted</reason>
</fault>
</response>
NB :
les données mentionnées dans le XML sont données à titre purement indicatif. Cependant, les données en
rouges seront renseignées dans le fichier envoyé.
Balise(s) parente(s)
Client/Services
Balise
accessServiceId
Type
(Taille maximale)
Alpha(20)
Client/Services/serviceAttribute(name=’DUE_DATE’)
Alpha(100)
Client/Services/serviceAttribute(name=’DUE_TIME’)
Alpha(100)
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Description
Référence de ligne
(131xxxxxxx)
Date de suppression effective
(Ex : 20100502)
Heure de suppression effective
(EX : 10:00)
26 / 40
04/01/13
fault
code
Alpha(6)
Fault
reason
Alpha(100)
Code du message
d’information : MI.XXX
Message pourra être :
Service Deleted
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
27 / 40
04/01/13
5
Messages
5.1
Liste des erreurs existantes
Code
Reason
Description
{0}
MR.001
Wrong message format : {0}.
XML is not well formed (by example, one markup is missing)
Description of the error
MR.002
Mandatory data is missing : {0}.
A required XML information is missing
Name of the missing data
MR.003
Wrong data format : {0}.
The value of the XML field is not in correct format (regarding
alpha/num types, length, etc.)
Name of the wrong data
MR.004
Incorrect data value : {0}.
The value of the XML field is incorrect (not in range, not authorized,
etc.)
Name of the incorrect data
MR.005
Not compatible data values: {0} and {1}.
XML field values are not compatible together (one of them at a time,
but no both together)
Name of the first data
MR.006
Duplication of the request : {0}.
A similar request has already been send
OAO ref of the first request
MR.007
Duplicate reference : {0}.
A request already exists with this OAO reference.
OAO ref of the existing
request
MR.008
Customer number not found : {0}.
The customer number does not exist
Customer number
MR.009
Incoherence in customer name.
The customer name is not coherent with the customer number
MR.010
Wrong or incomplete installation address : {0}.
The installation address is not complete, an address can not be
determined
Description of the error
MR.011
Service number not found : {0}.
The service number is not found
Service number
MR.012
Phone number not found : {0}.
The phone number does not exist
Phone number
MR.013
Customer does not match the service number {0}.
The service number is not owned by the OAO
Service number
MR.014
Customer does not match the phone number {0}.
The customer is not the owner of the line
Phone number
MR.015
No order found for this service number : {0}.
There is no order found for the service number
Service number
MR.016
No order found for this phone number : {0}.
There is no order found for the phone number
Phone number
MR.017
Open order(s) exist(s) on service number : {0}.
There is one or more open order on the service number
Service number
MR.018
Open order(s) exist(s) on phone number : {0}.
There is one or more open order on the phone number
Phone number
MR.019
Order is cancelled, it exceeds {0} days in a waiting
stage.
The order was waiting too long time.
Number of days
MR.020
The line is not eligible for the product.
The line is not eligible for the product, EPT is unable to process the
request
MR.021
Client is under contract until {0}.
The client is under EPT contract until the given date
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
28 / 40
Date of the end of the EPT
contract
{1}
Name of the
second data
04/01/13
5.2
Liste des messages d’information existants
Code
Reason
Description
{0}
MI.001
The line is not eligible for the product {0}
The line is not eligible for the product, EPT is unable to
process the request
Description of the eligibility
MI.002
Appointment cancelled {0}
Cancellation of an appointment
Description of the reason of
the cancellation
MI.003
Service Activated {0}
Activation of a service done
Description of the activation
MI.004
Service Deleted {0}
Deletion of a service done
Description of the deletion
MI.005
Service updated {0}
Update of a service done
Description of the update
MI.006
Success: {0}
Success message
Description of the success
MI.007
Updated Failed {0}
Update of a service failed
Description update failure
MI.008
No free fiber in the RCF {0}
There is no free fiber in the RCF available
Operator needs to order a new
RCF
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
29 / 40
{1}
04/01/13
6
6.1
Annexes
HEADER
<header>
<senddt>DATE</senddt>
<messageid>MESSAGE_ID</messageid>
<correlationid>CORRELATION_ID</correlationid>
<service>
<type>FAO</type>
<action>ACTION</action>
</service>
<source>
<name>SOURCE</name>
<id>SOURCE_ID</id>
</source>
<destination>
<name>DESTINATION</name>
<id>DESTINATION_ID</id>
</destination>
<authentication>
<userid>USERID</userid>
<password>PASSWORD</password>
</authentication>
</header>
Description des balises
Balise(s) parente(s)
Balise
header
Senddt
Type
(Taille maximale)
dateTime
header
correlationid
int
Id unique de la requête en
provenance de l’envoyeur de la
réponse
header/service
type
String
Type duservice
Ex : FAO
header/service
action
String
Action du service
Ex : FAO_Activation
header/source
name
String
Nom de la source
header/source
id
String
Id source de la requête/réponse.
Cet identifiant doit être unique
pour toutes les requêtes
entrantes/sortantes
header/destination
name
String
Nom de la destination
header/destination
id
String
Id destination, cet id reprend
l’ID de destination
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
Description
Date d’envoi
30 / 40
04/01/13
header/authentication
userid
String
UserId permettant
l’authentification auprès du
destinataire
header/authentication
password
string
Mot de passe permettant
l’authentification auprès du
destinataire
Rem :
Lors d’une réponse de notre part, l’id de destination reprendra l’id que l’OAO aura fournis dans la requête envoyée au
préalable.
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
31 / 40
04/01/13
6.2
Enveloppe request du format pivot
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by EPT (postes et telecommunications) -->
<xs:schema xmlns="http://www.ept.lu/soa/2.0/Envelope" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ept.lu/soa/2.0/Envelope" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:import namespace="http://www.ept.lu/soa/2.0/Pivot" schemaLocation="Pivot_FAO.xsd"/>
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="headerType"/>
<xs:element name="body" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:extension base="bodyType">
<xs:sequence>
<xs:element ref="pivot:client"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="bodyType"/>
<xs:complexType name="headerType">
<xs:sequence>
<xs:element name="senddt" type="xs:dateTime"/>
<xs:element name="messageid" type="xs:int" minOccurs="0"/>
<xs:element name="correlationid" type="xs:int" minOccurs="0"/>
<xs:element name="service">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="xs:string"/>
<xs:element name="action" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="source">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="id" type=" xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="destination">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="id" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reply-to" type="xs:string" minOccurs="0"/>
<xs:element name="authentication" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="userid" type="xs:string"/>
<xs:element name="password" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="version" type="xs:string" minOccurs="0"/>
<xs:element name="context" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="processid" type="xs:int"/>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
32 / 40
04/01/13
<xs:element name="processaction" type="xs:string" minOccurs="0"/>
<xs:element name="nodeid" type="xs:int" minOccurs="0"/>
<xs:element name="tokenid" type="xs:int" minOccurs="0"/>
<xs:element name="nodeVersionCounter" type="xs:string" minOccurs="0"/>
<xs:element name="parameters" minOccurs="0">
<xs:annotation>
<xs:documentation>Balise utilisee uniquement pour des raisons
techniques de propagation d'information, n'est pas prévue pour contenir des informations metiers</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name"
type="xs:string"/>
<xs:element name="value"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="faultType">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="reason" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
33 / 40
04/01/13
6.3
Enveloppe response du format pivot
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by EPT (postes et telecommunications) -->
<xs:schema xmlns="http://www.ept.lu/soa/2.0/Envelope" xmlns:pivot="http://www.ept.lu/soa/2.0/Pivot" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ept.lu/soa/2.0/Envelope" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:import namespace="http://www.ept.lu/soa/2.0/Pivot" schemaLocation="Pivot_FAO.xsd"/>
<xs:element name="response">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="headerType"/>
<xs:element name="body" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:extension base="bodyType">
<xs:sequence>
<xs:element ref="pivot:client"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="fault" type="faultType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="bodyType"/>
<xs:complexType name="headerType">
<xs:sequence>
<xs:element name="senddt" type="xs:dateTime"/>
<xs:element name="messageid" type="xs:int" minOccurs="0"/>
<xs:element name="correlationid" type="xs:int" minOccurs="0"/>
<xs:element name="service">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="xs:string"/>
<xs:element name="action" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="source">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="id" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="destination">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="id" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reply-to" type="xs:string" minOccurs="0"/>
<xs:element name="authentication" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="userid" type="xs:string"/>
<xs:element name="password" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="version" type="xs:string" minOccurs="0"/>
<xs:element name="context" minOccurs="0">
<xs:complexType>
<xs:sequence>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
34 / 40
04/01/13
<xs:element name="processid" type="xs:int"/>
<xs:element name="processaction" type="xs:string" minOccurs="0"/>
<xs:element name="nodeid" type="xs:int" minOccurs="0"/>
<xs:element name="tokenid" type="xs:int" minOccurs="0"/>
<xs:element name="nodeVersionCounter" type="xs:string" minOccurs="0"/>
<xs:element name="parameters" minOccurs="0">
<xs:annotation>
<xs:documentation>Balise utilisee uniquement pour des raisons
techniques de propagation d'information, n'est pas prévue pour contenir des informations metiers</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name"
type="xs:string"/>
<xs:element name="value"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="faultType" minOccurs="0">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="reason" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
35 / 40
04/01/13
6.4
Body du format pivot
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by EPT (postes et telecommunications) -->
<xs:schema xmlns="http://www.ept.lu/soa/2.0/Pivot" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ept.lu/soa/2.0/Pivot"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:element name="clients">
<xs:complexType>
<xs:sequence>
<xs:element ref="client" minOccurs="2" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="client">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="userDbIdType" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="clientId" type="str10Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant client</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="firstName" type="str30Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Prenom</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="lastName" type="str30Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Nom de famille</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="phoneNumber" type="str20Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Numero de telephone</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="services" minOccurs="0">
<xs:annotation>
<xs:documentation>Liste des services du client</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="service" type="serviceType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="state" type="stateType" minOccurs="0">
<xs:annotation>
<xs:documentation>Etat du client</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="action" type="xs:string"/>
<xs:attribute name="actionMode" type="xs:string"/>
<xs:attribute name="role" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:complexType name="serviceType">
<xs:sequence>
<xs:element name="id" type="userDbIdType" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant UserDB</xs:documentation>
</xs:annotation>
</xs:element>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
36 / 40
04/01/13
<xs:element name="serviceId" type="str10Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant externe</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="serviceType" type="codeEntryType" minOccurs="0">
<xs:annotation>
<xs:documentation>Type de service - acces ou service</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="accessServiceId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant du service d'acces utilise</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="serviceCodeName" type="codeEntryType" minOccurs="0">
<xs:annotation>
<xs:documentation>Nom codifie du service</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="serviceAttributes" minOccurs="0">
<xs:annotation>
<xs:documentation>Liste des attributs</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" type="attributeType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="installationAddress" minOccurs="0">
<xs:annotation>
<xs:documentation>Adresse d'installation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="addressType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="techniques" type="techniquesType" minOccurs="0">
<xs:annotation>
<xs:documentation>Informations techniques lies au service</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="options" minOccurs="0">
<xs:annotation>
<xs:documentation>Liste des options du service</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="option" type="optionType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="state" type="stateType" minOccurs="0">
<xs:annotation>
<xs:documentation>Etat du service</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="action" type="xs:string"/>
<xs:attribute name="actionMode" type="xs:string"/>
</xs:complexType>
<xs:simpleType name="codeEntryType">
<xs:annotation>
<xs:documentation>
Normalisation du format d'un code ccc.vv
</xs:documentation>
</xs:annotation>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
37 / 40
04/01/13
<xs:restriction base="xs:string">
<xs:length value="6"/>
<xs:pattern value="\d{3}.\d{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="userDbIdType">
<xs:annotation>
<xs:documentation>Type identifiant UserDB</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
<xs:pattern value="\p{Nd}+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str2Type">
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str3Type">
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str5Type">
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str6Type">
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str10Type">
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str20Type">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str25Type">
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str30Type">
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str40Type">
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str50Type">
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="str100Type">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="stateType">
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
38 / 40
04/01/13
<xs:annotation>
<xs:documentation>Etat d'une entite</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="value" type="str10Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Etat</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="lock" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Verrou metier</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="creationDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Timestamp date de creation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="modificationDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Timestamp date de derniere modification</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="deletionDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Timestamp date de suppression</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeType">
<xs:annotation>
<xs:documentation>Attribut d'une entite service ou option</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="str50Type">
<xs:annotation>
<xs:documentation>Nom de l'attibut</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="value" type="str100Type">
<xs:annotation>
<xs:documentation>Valeur de l'attribut</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="action" type="xs:string"/>
<xs:attribute name="actionMode" type="xs:string"/>
</xs:complexType>
<xs:complexType name="addressType">
<xs:annotation>
<xs:documentation>Adresse d'un client</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0"/>
<xs:element name="street" type="str100Type"/>
<xs:element name="streetNumber" type="str10Type"/>
<xs:element name="zipCode" type="str6Type"/>
<xs:element name="city" type="str30Type"/>
<xs:element name="country" type="str20Type" minOccurs="0"/>
<xs:element name="apartment" type="str20Type" minOccurs="0"/>
<xs:element name="floor" type="str20Type" minOccurs="0"/>
<xs:element name="building" type=" str100Type " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="optionType">
<xs:sequence>
<xs:element name="id" type="userDbIdType" minOccurs="0">
<xs:annotation>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
39 / 40
04/01/13
<xs:documentation>Identifiant UserDB</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="optionId" type="str10Type" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant externe</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="optionCodeName" type="str6Type" minOccurs="0">
<xs:annotation>
<xs:documentation>nom codifie de l'option</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="optionAttributes" minOccurs="0">
<xs:annotation>
<xs:documentation>liste des attributs de l'option
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" type="attributeType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="state" type="stateType" minOccurs="0">
<xs:annotation>
<xs:documentation>Etat de l'option</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="action" type="xs:string"/>
<xs:attribute name="actionMode" type="xs:string"/>
</xs:complexType>
<xs:complexType name="techniquesType">
<xs:sequence>
<xs:element name="id" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifiant UserDB</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="equipmentNumber" type="str10Type">
<xs:annotation>
<xs:documentation>Numero d'equipement</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="switch" type="str10Type">
<xs:annotation>
<xs:documentation>Switch de raccordement</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="location" type="str20Type">
<xs:annotation>
<xs:documentation>Emplacement de raccordement</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="portType" type="str10Type">
<xs:annotation>
<xs:documentation>Type de port concerne</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="distance" type="xs:positiveInteger" minOccurs="0">
<xs:annotation>
<xs:documentation>Longueur de la ligne</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
EPT_FAO Procédure d'échange de fichiers_v1.0.3.0
40 / 40