-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mise en conformité du wsdl avec la spec interop #21
Mise en conformité du wsdl avec la spec interop #21
Conversation
aminvielledebat
commented
Jun 4, 2018
•
edited
Loading
edited
- Ajout de contraintes
- Mise en conformité des contraintes
- Respect des séquences
- Suppression du CodeRetour dans la requête de mise à jour (erreur de la spec selon moi)
- Gestion du choice sur les éléments d'adresse (à valider)
344704b
to
63a4b2e
Compare
441ad74
to
ce706d8
Compare
@jlsaxione j'ai du modifier le binding pour être en non wrapped avec cette définition du wsdl. |
ce706d8
to
09f747d
Compare
- Ajout de contraintes - Mise en conformité des contraintes - Respect des séquences
09f747d
to
55e61cb
Compare
@jlsaxione @dlevasseuraltitude j'ai ajouté deux modifs en plus des restrictions et séquences :
|
voulez vous merger ? |
Merci @jlsaxione ! Par contre je pense que la gestion des champs d'adresse a un vrai impact pour SFR. On passe quand même d'un container où tu mets ce que tu veux (mais bonjour les RGs), à quelque chose où il n'y a qu'un seul champ d'adresse. |
C'est la première fois que je poste donc je me présente: Olivier Laissac. Je m'occupe du sujet emutation pour Bouygues Telecom (en lien avec Manuel Rogier). Si on veut que ne soit rempli qu'une seule référence d'adresse pour éviter d'éventuelles incohérences (ce qui est louable), il faut garantir que chacun saura interpréter correctement cette référence. Replaçons ce sujet dans son contexte fonctionnel. L'objet AdressePBOReponseType est utile lors de la récupération des pbo voisins. Si dans l'ihm on décide de ne pas afficher l'adresse du pbo, la question posée dans ce topic est sans objet. Si on décide de l'afficher, au delà de l'unicité de la référence, la complexité va être de traduire cette unique référence d'adresse en adresse lisible par un humain. Si c'est une référenceGeo, on peut passer par une carte, mais si c'est une hexaclé ou un code rivoli comment va-t-on faire ? Doit-on utiliser les correspondances issues des IPE OI qui normalement ne concernent pas les pbo ? Est-ce réellement à chaque OC de faire cette traduction qui pourrait simplement être fournie par l'OI dans l'objet ? Donc au délà de la question technique c'est l'utilisation même de cette donnée et son format qui m'interrogent. Au passage, on aura le même problème sur le service de récupération des bases arrière d’un pbo (sur la partie OAPC) mais en plus embêtant car il s’agira là de faire corriger l’adresse par un humain donc là on sera obligé de mettre en place cette traduction. Mais comme ce n’est pas lié à ce wsdl je ne m'étends pas plus. L'autre objet AdresseType est utilisé lors de la mise à jour de la route optique dans le sens OC vers OI. Là utiliser une unique référence me semble pertinent et sans débat car l'OC peut choisir celle qui lui convient le mieux et l'OI les connait toutes. Dans tous le cas, si on décide d'aller dans cette direction il faudra faire mettre à jour la spec interop en cohérence. |
Hello et bienvenue @olaissac-bt 😄 ! C'est super que vous fassiez des retours également, c'est comme cela que l'on avance. AdressePBOReponseTypeComplètement en phase sur l'usage de l'objet Donc en phase sur l'utilisation 😃
AdresseTypeQuand tu dis "l'OI connait toutes les références", ce n'est pas forcément gagné pour tout le monde je pense. Et puis pas si simple en fait car même si la spécification dit :
... Rien ne dit dans la spécification si un OI ne peut pas simplement refuser la maj d'adresse au motif qu'il ne supporte pas le type d'objet envoyé par l'OI avec le code d'erreur
Ou ne pas prendre en compte cette adresse (alors que l'OC a quand même fait l'effort de la fournir) avec un code d'info
Du coup, est-ce à l'OI d'imposer son type, ou à l'OC ? Si l'OC fournit n'importe quoi, doit-on faire remonter quelque chose ? Pour moi, cela doit également remonter. Note : Accessoirement, je pense qu'il y a une erreur dans la spécification sur le caractère obligatoire de |
Sur l’interprétation de la spec interop, "Obligatoire si les autres sont vides" ne vaut pas pour "Interdit si une est remplie", ça doit être plus explicite que cela. Dans l'autre sens effectivement je suis d'accord avec toi que si l'OC choisit de manière complètement arbitraire le format ça pourrait poser problème à l'OI, mais l'OC est censé utiliser les services d'aide à la commande exposés par l'OI pour corriger l'adresse, donc à moins d'un gros pb de QOD côté OI, l'adresse corrigée provient de l'OI. Les principes définis en interop limitent donc ce risque. Enfin sur l'objet AdresseType j'ai regardé trop vite et en fait ce type est défini dans la spec interop mais, sauf erreur ma part, n'est utilisé nulle part (d’ailleurs il n’est pas dans le wsdl). Le service de MAJ de RO utilise un autre type ReferenceAdresseDemandeType. Mais la question reste la même sur ce dernier objet. De manière globale coté interop, je trouve qu’ils ont multiplié les types d’objets adresse sans que j’en comprenne l’intérêt réel. Dans Emut on a 3 objets : AdressePBOReponseType, AdresseType, ReferenceAdresseDemandeType. Dans l’aide à la commande 4 : ReferenceAdresseDemandeType (même nom que pour emut mais avec un contenu !=, sinon c’est pas drôle 😊), ReferenceAdresseReponseType, ReferenceAdresseDemandeSimpleType, ListeImmeubleType. Doit-on demander l'homogénéisation et la correction des incohérences coté interop ? Et là on parle que des adresses…j'en ai vu quelques autres. |
@aminvielledebat Peut-on merger cette branche sur le master afin de valider cette version? |
pour moi ok, on merge ? on attend la validation de bytel et de sfr ? |
Pour moi il faut merger, car on a eu une consigne en GroupeInetrop de valider une version très rapidement |
Valider une version me parait avoir du sens pour que l'on puisse tous travailller sur quelque chose de concret. Pour autant, sur le côté exclusif des références d'adresse, ce n'est pas ce qui est demandé en interop et à raison, car ça risque justement de limiter l'interopérabilité. L'OC va être contraint par le format d'adresse choisi par l'OI et il est possible que ce format ne soit pas supporté par l'OC, alors qu'ils auraient pu se comprendre sur un autre format. Je ne vois pas pourquoi on imposerait cela sans validation préalable de l'interop. |
Hello et désolé pour le temps de réponse.
|
VotePour voter, on peut aussi faire ça là facilement : Editer ce post, vous avez les droits, et mettez votre vote
|
@aminvielledebat . Merci pour la réponse. On est globalement en phase. Ça ne me dérange pas particulièrement que ReferenceAdresseDemandeType soit exclusif (d'ailleurs je pense mettre qu'une référence). Maintenant pour être homogène et maximiser l'interop je laisserai tout ouvert plutôt que tout contraint. En laissant ouvert on n’empêche personne de ne mettre qu'une seule référence alors qu'une fois fermé, ça l'est définitivement. Et si la contrainte devait être choisie, je trouve ça quand même très étonnant qu'on s'autorise à changer de notre propre chef cette règle qui a mon avis a été laissé ouverte volontairement en interop pour maximiser les cas d'usage. En mettant une contrainte on risque de rendre caduque l'utilisation de ce services dans un certain nombre de cas de figures. Sur l'homogénéité des objets d'adresse je suis d'accord avec toi @aminvielledebat qu'homogénéiser maintenant c'est probablement trop tard. Il faut juste remonter en interop d'être plus vigilants sur les services à venir. |
@aminvielledebat je n'ai pas les droits d'édition de ton post. Pour moi ce sera 👍 👎 👍 👍 👎 |
@olaissac-bt, je t'ai mis les droits |
@dlevasseuraltitude, une petite explication sur le pourquoi tu es contre le fait de repasser les champs d'adresse en multi-type ? 😄 @olaissac-bt, en ouvrant tout, certes on facilite l'interop' d'un point de vue technique, mais on complexifie les RGs à mettre en place pour la gestion de ces données côté OI (sachant qu'elles ne sont pas encore déclarées dans la spec, et qu'il faudra qu'elles le soient). Au final, avec la réponse d'altitude, et le fait que l'on ne comprenne pas tous de la même manière cette partie de la spec : |
Pour aider au consensus, ça ne me dérangerait pas de contraindre ReferenceAdresseDemandeType. Comme @aminvielledebat j'aurai pu mettre 👍 aux deux choix. Sur AdressePBOReponseType, c'est plus compliqué, car à partir de la référence fournie il faut retrouver l'adresse à afficher et avec certains types de référence, je ne saurai pas le faire facilement. Comme je l'ai déjà demandé, si cette traduction, que l'OI sait faire puisque c'est sa référence, était aussi fournie par le service, ça éviterait à tous les OC de traduire une référence d'adresse de l'OI en adresse explicite de l'OI, à ce moment-là, pourquoi pas. |
@aminvielledebat effectivement en relisant ce que tu avais dit sur le sujet, je me suis rendu compte que j'avais mal compris. Je pensais que tu voulais remplacer le type AdressePBOReponseType par le AdresseType, ce qui poserait problème dans les cas de ZMD. Mais si c'est juste le fait de pouvoir retourner ce que l'on veux sans le caractère exclusif je suis OK. |
Merci pour le retour @dlevasseuraltitude . Non non, c'est déjà assez compliqué comme ça 🤡 Sinon j'ai envoyé un mail à Corinne, qui a forwardé au GT. J'ai repris nos différents points, et ajouté une question sur les bâtiment/escalier/étage envoyé par l'OC lors de la mise à jour. Wait & see. Dès que j'ai une réponse, je mets à jour asap. Note : Je peux aussi mettre la PR à dispo sur une branche du repo |
J'ai pris en compte les retours de notre point d'hier avec un nouveau commit. |
J'ai pris en compte les retours de notre point d'hier avec un nouveau commit. En résumé : MiseAJourRouteOptiqueDemande :
RecherchePBOResponse :
|
emutation.wsdl
Outdated
<xsd:enumeration value="PTO existante alors que PTO à construire à la commande OC"/> | ||
<xsd:enumeration value="PTO à construire alors que PTO existante à la commande OC"/> | ||
<xsd:enumeration value="PTO existante alors que PTO à construire dans la commande OC"/> | ||
<xsd:enumeration value="PTO à construire alors que PTO existante dans la commande OC"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dans la spec, je vois bien "à la commande OC". Je suis d'accord que "dans" est mieux mais il faut faire évoluer la SPEC. Je préviens Nicolas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oui 👍
emutation.wsdl
Outdated
<xsd:enumeration value="Référence PTO erronée"/> | ||
<xsd:enumeration value="commande HOTLINE"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Salut Alexis, peut on mettre une majuscule a commande ? "Commande HOTLINE"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je fais ça
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fait
emutation.wsdl
Outdated
<xsd:minLength value="0"/> | ||
<xsd:maxLength value="256"/> | ||
</xsd:restriction> | ||
</xsd:simpleType> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RAS sur la modification du Type. Je pense que ce sera plus simple de procéder avec un string. Je pense néanmoins qu'il serait judicieux de le grossir ca risque d'être léger sinon.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
en phase aussi... je trouve que le 1.3 est un peu léger avec 256 caractères.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je suis monté à 2048, car au dernier GT Accès avec l'APNF sur la plateforme de tests, il avait été acté que le champ LocalisationPBO du 1.3 devait passer à 2048 caractères.
emutation.wsdl
Outdated
@@ -222,7 +223,7 @@ | |||
<xsd:element name="Entete" type="tns:EnteteReponseType"/> | |||
<xsd:element name="CodeRetour" type="tns:CodeRetourType"/> | |||
<xsd:element name="PboType" type="tns:PboType"/> | |||
<xsd:element name="Fibre" type="tns:ListeFibreType"/> | |||
<xsd:element name="Fibres" type="tns:ListeFibresType"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modif logique mais a ne pas oublier de reporter chez nous.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oui c'est une typo que j'ai vu dans le wsdl existant. Cela donnait quelque chose de bizarre de type
<Fibre><Fibres></Fibres><Fibre>
emutation.wsdl
Outdated
<xsd:element minOccurs="0" name="ReferenceAdresse" type="tns:ReferenceAdresseDemandeType"/> | ||
<xsd:element minOccurs="0" name="Batiment" type="tns:BatimentType"/> | ||
<xsd:element minOccurs="0" name="Escalier" type="tns:EscalierType"/> | ||
<xsd:element minOccurs="0" name="Etage" type="tns:EtageType"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK pour la mise en facultatif de ces champs.
emutation.wsdl
Outdated
@@ -299,21 +300,12 @@ | |||
<xsd:sequence> | |||
<xsd:element name="ReferencePM" type="tns:ReferencePMType"/> | |||
<xsd:element name="ReferencePBO" type="tns:ReferencePBOType"/> | |||
<xsd:element name="AdressePBO" type="tns:AdressePBOReponseType"/> | |||
<xsd:element name="LocalisationPBO" type="tns:LocalisationPBOType"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RAS
emutation.wsdl
Outdated
<xsd:element minOccurs="0" name="ReferenceHexacle" type="tns:ReferenceHexacleType"/> | ||
<xsd:element minOccurs="0" name="ReferenceRivoli" type="tns:ReferenceRivoliType"/> | ||
<xsd:element minOccurs="0" name="ReferenceGeographique" type="tns:CoordonneesGeographiquesType"/> | ||
<xsd:element minOccurs="0" name="ReferenceHexacleVoie" type="tns:ReferenceHexacleVoieType"/> | ||
<xsd:element minOccurs="0" name="IdentifiantImmeuble" type="tns:IdentifiantImmeubleType"/> | ||
</xsd:choice> | ||
</xsd:sequence> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le passage de "choice" à "séquence" permet de faire les contrôles en entonnoir c'est bien ca ? Il faut donc surement revoir l'ordre pour moi ca fait : Immeuble => Hexaclé / Rivoli => coordonnées.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je serai bien resté sur le "choice", car pour moi, même si entonnoir il y a, la première valeur renseignée sur le haut de l'entonnoir et OK est prise en compte, les autres sont ignorées (et si une valeur avant est KO on rejette tout), mais je n'ai pas réussi à faire passer l'idée 😢
On est donc resté sur le fait de pouvoir renseigner plusieurs champs, même si je ne vois pas le cas d'usage.... Peut être que Nicolas y verra plus clair.
Sinon pour l'histoire d'ordre dans l'entonnoir, pour moi c'est de l'applicatif pure, mais rien n'empêche effectivement de changer l'ordre de description pour être plus clair.
MiseAJourRouteOptiqueDemande : - Les champs bâtiment, escalier et étage deviennent conditionnés (en fonction du motif). Ils passent en facultatifs dans le wsdl - Ajout d'un motif de mutation "Commande HOTLINE" - Correction de deux types sur les motifs de mutation "PTO existante alors que PTO à construire dans la commande OC" et "PTO à construire alors que PTO existante dans la commande OC" - Le champ "ReferenceAdresseDemandeType" devient conditionnés (en fonction du motif). Il passe en facultatif dans le wsdl RecherchePBOResponse : - Le type complexe "AdressePBOReponseType" est remplacé par "LocalisationPBO" (chaine de 256 caractères max)
0a1a99e
to
9fae456
Compare
On merge ? |
@olaissac-bt, donne ton accord dans l'outil :-) Après, ça pourrait être bien que @dlevasseuraltitude aussi :-) |
…hamp LocalisationPBO
6a3c699
to
28e9b49
Compare
@olaissac-bt. Ton GO avait sauté suite à la suppression de la StructureVerticalePBO. J'ai tout de même mergé comme nous étions d'accord. |
merci ;) |
Pas de soucis |