| |
Membre enregistré 57 messages Popularité : +6 (6 votes) |
|
Posté le 02 mars 2018 - 18:50 |
Bonjour,
Je dois implanter dans mon application non commerciale une connection sur le réseau de santé belge be.ehealth
Le connecteur est en .net
J'importe donc l'assemblage connector-technical-core.dll dans mon application puis j'instancie ....
clLaSession est un SessionManagerImpl clLaSession:getSession() clMaSession est un SessionManager sHokPassword est une chaîne = "password of Holder-Of-Key eHealth Certificate Key Store"; sPersPassword est une chaîne = "password of Personal eHealth Certificate Key Store "; clMaSession:getSession() SI clLaSession:hasValidSession() ALORS clLaSession:createSession(sHokPassword,sPersPassword) SINON clLaSession:unloadSession() clLaSession:createSession(sHokPassword,sPersPassword) FIN
Comme cela cela ne marche pas car "SessionManager" est une classe abstraite
Par contre:
clLaSession est un SessionManagerImpl clLaSession:getSession() //clMaSession est un SessionManagerImpl sHokPassword est une chaîne = "password of Holder-Of-Key eHealth Certificate Key Store"; sPersPassword est une chaîne = "password of Personal eHealth Certificate Key Store "; //clMaSession:getSession() SI clLaSession:hasValidSession() ALORS clLaSession:createSession(sHokPassword,sPersPassword) SINON clLaSession:unloadSession() clLaSession:createSession(sHokPassword,sPersPassword) FIN
semble être accepté ... mais à l'exécution ... erreur "l'objet de type be.ehealth...... n'a pu être créé ....
Une idée ....
Bien à vous
J-M des Grottes
-- Dr J-M des Grottes Gestionnaire du Registre des Néphrologues Francophones de Belgique CHU Tivoli La louvière Belgique |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 03 mars 2018 - 03:50 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 03 mars 2018 - 04:26 |
Coucou,
Comme ton application et non commerciale, si tu me fournis les informations de ton assemblage, je veut t’écrire ton morceau de code
charly.cando.anywhere@gmail.com
Et je publierais le résultat ici
#PasToujoursLeTempsDeFaireDeLaPromo
-- In üs we trust
Chocolat en Suisse - #Foetus Kaeng Khiao Wan en Thailland - #ATR Kopi luwak en Indonesie - #AbracadabraMessage modifié, 03 mars 2018 - 04:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +6 (6 votes) |
|
Posté le 03 mars 2018 - 14:32 |
Bonjour,
Merci de me lancer une bouée ....
En fait je bosse avec la version 22 (pour le moment ... du moins ).
Les bibliothèques de base sont en JAVA mais il y aussi des .NET avec des exemples C#.
Toutes ces bibliothèques permettent en fait de se connecter sur le réseau eHealth (réseau de santé belge) et par delà d'accéder selon sa carte d'identité et/ou ses certificats à différents services. Déjà ouvrir simplement une session sur le réseau semble tonique .... le reste risque d'être jouissif ....
Les échanges se font par bibliothèques et webServices multiples en xml standardisés ....
C'est très lourd. Ils ont eu la bonne idée de mettre à disposition des DLL qui devraient permettre de s'en sortir mais windev m'envoie me faire pendre ailleurs (j'ai certainement raté un truc). Il y a des aides et des documentations assez fournies. Dès que possible je t'envoie la bibliothèque ne fût ce que pour ne mourir idiot
Bien à toi
JMDG
-- Dr J-M des Grottes Gestionnaire du Registre des Néphrologues Francophones de Belgique CHU Tivoli La louvière Belgique |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2018 - 12:04 |
Bonjour,
je me permets de venir vers vous car j'ai exactement le même soucis il ne veut pas créer mon objet de type : SessionManagerImpl.
Comment avez-vous fait pour résoudre ce problème ?
Bien à vous. Un grand merci. |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2018 - 14:27 |
Bonjour
Voici comment je récupère le session manager :
oSessionManager est un "be.ehealth.technicalconnector.session".SessionManager dynamique = "be.ehealth.technicalconnector.session".Session.getInstance()
Bon dev.
Laurent M. |
| |
| |
| | | |
|
| | |
| |
Posté le 18 avril 2018 - 10:59 |
Bonjour,
Merci pour votre réponse
Pouvez-vous me dire où je peux trouver les mots de passe demandés ? "password of Personal eHealth Certificate Key Store" est le mot de passe que j'ai mis lorsque j'ai créé le certificat ehealth ? Par contre l'autre je ne sais vraiment pas où je pourrais le retrouver.
Avez-vous également une piste pour savoir comment récupérer les informations suivantes : - Schéma de médication - Sumehr - Journal Je pense que tout doit se faire par XML. Où puis-je trouver les XSD correspondants afin des les importer dans WinDev ?
Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Posté le 18 avril 2018 - 11:52 |
| |
| |
| | | |
|
| | |
| |
Posté le 18 avril 2018 - 15:01 |
Merci pour votre réponse.
Est-ce que quelqu'un d'autre aurait une piste afin que je puisse me connecter sans la carte d'identité?
Merci beaucoup car cela fait plusieurs jours que je suis dessus et je n'avance pas. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 23 mai 2018 - 10:34 |
Bonjour,
J'ai aussi besoin d'aide pour intégrer eHealth dans mon application. Qui peut aider? (Nederlands, English, français)
-- Philip Neven |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +6 (6 votes) |
|
Posté le 23 mai 2018 - 11:46 |
Bonjour à tous,
Pour le moment, me rendant compte que Windev est peu ouvert .... je suis passé en JAVA et je recommence le développement avec ce langage ... le vrai JAVA pas le JAVA windevien. Les débuts sont plus durs mais après cela va très vite ....
Concernant les mots de passe, il y en a 1 qui correspond au certificat et un autre au stockage local je pense ..... il y a une explication assez claire sur eHealth .
A+
-- Dr J-M des Grottes Gestionnaire du Registre des Néphrologues Francophones de Belgique CHU Tivoli La louvière Belgique |
| |
| |
| | | |
|
| | |
| |
Posté le 09 juillet 2018 - 14:28 |
Bonjour
Ayant du me remettre sur l'utilisation de connecteurs eHealth pour ajouter de nouvelles fonctionnalités à mon logiciel, j'en ai profité pour améliorer et étendre la partie connexion.
Pour ce qui est des mots de passe à utiliser, ce sont ceux que vous inventez lors de la demande de vos certificats. Pour les 3 parties (identification, holderofkey et encryption) vous pouvez utiliser un seul et même certificat s'il a bien été créé pour ces 3 services.
Remarques sur mon code : 1) vous pouvez compléter l'énumération tenumEH_HCParty en fonction de vos besoins. 2) si vous utilisez les certificats et ne voulez pas que l'utilisateur utilise sa carte d'identité, vous devez prendre le type EH_TS_Fallback. Les 2 autres type nécessitent obligatoirement la carte eId. 3) j'utilise un fichier properties à minima, les paramètres étant rempli par programmation. 4) n'oubliez pas de remplacer la chaine "<Mon logiciel>" par le nom de votre logiciel. 5) n'oubliez pas d'utiliser le bon fichier de properties en fonction du serveur de destination (acceptation en test, production en déploiement) lors de l'appel à EH_InitConfiguration en fin de la partie de déclaration
Pour mes tests j'ai utilisé une collection de procédure avec le code suivant.
strEH_Keystore est une structure chIdentification est une chaîne chHolderOfKey est une chaîne chEncryption est une chaîne FIN strEH_Hub est une structure chEndPoint est une chaîne chId est une chaîne chApplication est une chaîne FIN strEH_Utilisateur est une structure chNom est une chaîne chPrénom est une chaîne chNISS est une chaîne chINAMI est une chaîne enumProfession est un tenumEH_HCParty stKeystore est un strEH_Keystore stKeystoreMDP est un strEH_Keystore stHub est un strEH_Hub FIN
tenumEH_HCParty est une Enumération Indéterminé = "" Médecin = "persphysician" Infirmière = "persnurse" FIN tenumEH_TypeSession est une Enumération EH_TS_eID EH_TS_eID_Only EH_TS_Fallback FIN
oSessionManager est un "be.ehealth.technicalconnector.session".SessionManager dynamique
EH_InitConfiguration(fRepExe() + ["\"] + "be.ehealth.technicalconnector.acc.properties")
Procedure EH_InitConfiguration(chFichier_ est une chaîne) : booléen
SI chFichier_ = "" ALORS RENVOYER Faux SI PAS fFichierExiste(chFichier_) ALORS fCrée(chFichier_)
QUAND EXCEPTIONEXCEPTION DANS ConfigFactory.setConfigLocation(chFichier_) FAIRE VersPressePapier(ExceptionInfo(errComplet)) Erreur(ExceptionInfo(errMessage)) RENVOYER Faux FIN
RENVOYER Vrai
Procedure EH_FermeSession() : booléen
SI EH_SessionOuverte() ALORS oSessionManager.unloadSession() SI PAS EH_SessionOuverte() ALORS Libérer oSessionManager oSessionManager = Null FIN
RENVOYER oSessionManager = Null
Procedure EH_OuvreSession(enumTypeSession_ est un tenumEH_TypeSession, stUtilisateur_ est un strEH_Utilisateur) : booléen oValidator est un ConfigValidator dynamique = ConfigFactory.getConfigValidator() oConfig est un "be.ehealth.technicalconnector.config".Configuration dynamique = oValidator.getConfig()
Sablier()
SI PAS EH_FermeSession() ALORS RENVOYER Faux
oConfig.setProperty("package.name","<Mon logiciel>") SI stUtilisateur_.chPrénom <> "" ALORS oConfig.setProperty("user.firstname",stUtilisateur_.chPrénom) SI stUtilisateur_.chNom <> "" ALORS oConfig.setProperty("user.lastname",stUtilisateur_.chNom) SI stUtilisateur_.chNISS <> "" ALORS oConfig.setProperty("user.inss",stUtilisateur_.chNISS) SI stUtilisateur_.chINAMI <> "" ALORS oConfig.setProperty("user.nihii",stUtilisateur_.chINAMI) SI stUtilisateur_.enumProfession <> tenumEH_HCParty.Indéterminé ALORS oConfig.setProperty("main.kmehr.quality",stUtilisateur_.enumProfession..Valeur) SI stUtilisateur_.stKeystore.chIdentification <> "" ALORS oConfig.setProperty("sessionmanager.identification.keystore",stUtilisateur_.stKeystore.chIdentification) SI stUtilisateur_.stKeystore.chHolderOfKey <> "" ALORS oConfig.setProperty("sessionmanager.holderofkey.keystore",stUtilisateur_.stKeystore.chHolderOfKey) SI stUtilisateur_.stKeystore.chEncryption <> "" ALORS oConfig.setProperty("sessionmanager.encryption.keystore",stUtilisateur_.stKeystore.chEncryption) SI stUtilisateur_.stHub.chEndPoint <> "" ALORS oConfig.setProperty("endpoint.hubv3.intra",stUtilisateur_.stHub.chEndPoint) SI stUtilisateur_.stHub.chId <> "" ALORS oConfig.setProperty("hubv3.id",stUtilisateur_.stHub.chId) SI stUtilisateur_.stHub.chApplication <> "" ALORS oConfig.setProperty("hubv3.application",stUtilisateur_.stHub.chApplication)
QUAND EXCEPTIONEXCEPTION DANS oSessionManager = "be.ehealth.technicalconnector.session".Session.GetInstance() SELON enumTypeSession_ CAS EH_TS_eID : oSessionManager.createSession(stUtilisateur_.stKeystoreMDP.chHolderOfKey,stUtilisateur_.stKeystoreMDP.chEncryption) CAS EH_TS_eID_Only : oSessionManager.createSessionEidOnly() CAS EH_TS_Fallback : oSessionManager.createFallbackSession(stUtilisateur_.stKeystoreMDP.chIdentification,stUtilisateur_.stKeystoreMDP.chHolderOfKey,stUtilisateur_.stKeystoreMDP.chEncryption) FIN FAIRE VersPressePapier(ExceptionInfo(errComplet)) Erreur(ExceptionInfo(errMessage)) FIN
Sablier(Faux) RENVOYER EH_SessionOuverte()
Procedure EH_SessionOuverte() : booléen
SI oSessionManager = Null ALORS RENVOYER Faux
RENVOYER oSessionManager.hasValidSession()
Bon dev.
Laurent M. |
| |
| |
| | | |
|
| | |
| |
Posté le 02 janvier 2020 - 12:45 |
Bonjour, J'ai lu votre code qui est pas mal mais j'ai un souci car je n'arrive à me connecter. J'ai un message "Could not load descryption Keys"
est-il possible de m'aider car je suis en mode test pour pouvoir ensuite, valider des prescriptions électroniques (RECIP-e) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +6 (6 votes) |
|
Posté le 05 janvier 2020 - 16:32 |
Premier soucis .....
ConfigFactory.setConfigLocation(chFichier_)
... Réponse:
Appel WL : Traitement de 'Procédure globale EH_InitConfiguration' (COL_Recipe.EH_InitConfiguration), ligne 19
Que s'est-il passé ? L'objet <ConfigFactory> est inconnu dans l'assemblage <F:\Mes Projets\WD24\Dialyse_LOW\Exe\connector-technical-core.dll>. Vérifier que la version de l'assemblage <F:\Mes Projets\WD24\Dialyse_LOW\Exe\connector-technical-core.dll> utilisée en exécution est la même que la version utilisée pour la compilation du projet. L'objet de type <be.ehealth.technicalconnector.config.ConfigFactory> (assemblage <F:\Mes Projets\WD24\Dialyse_LOW\Exe\connector-technical-core.dll>) n'a pas pu être créé
Code erreur : 200005 Niveau : erreur fatale
Dump de l'erreur du module 'wd240net2.dll' (24.0.73.0). Identifiant des informations détaillées (.err) : 200004 Informations supplémentaires : EIT_PILEWL : Procédure globale EH_InitConfiguration (COL_Recipe.EH_InitConfiguration), ligne 19 Déclaration de COL_Recipe (COL_Recipe), ligne 37 EIT_DATEHEURE : 05/01/2020 16:29:26 EIT_TYPE_WDFILE : <7> EIT_IDCODE : <458752>
... une idée ?
-- Dr J-M des Grottes Gestionnaire du Registre des Néphrologues Francophones de Belgique CHU Tivoli La louvière Belgique |
| |
| |
| | | |
|
| | |
| |
Posté le 06 janvier 2020 - 09:07 |
Bonjour
L'erreur signale : Vérifier que la version de l'assemblage <F:\Mes Projets\WD24\Dialyse_LOW\Exe\connector-technical-core.dll> utilisée en exécution est la même que la version utilisée pour la compilation du projet.
Vérifiez donc que vous utilisez les dll du pack que vous avez importé dans votre projet.
Personnellement, quand je passe à une nouvelle version du pack, je retire les dll du répertoire Exe du projet et j'y met les nouvelles. Ensuite dans le projet je retire les dll et j'importe celles de la nouvelle version.
Bon dev.
Laurent M. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +6 (6 votes) |
|
Posté le 06 janvier 2020 - 11:35 |
OK, merci pour l'info ....
Les messages sont parfois un peu sibyllins et pourtant ....
Je teste ....
A+
-- Dr J-M des Grottes Gestionnaire du Registre des Néphrologues Francophones de Belgique CHU Tivoli La louvière Belgique |
| |
| |
| | | |
|
| | |
| |
Posté le 09 février 2023 - 14:34 |
Bonjour,
Avez vous réussi à faire l'intégration du connecteur hubv3 (rsw)
Cordialement
joseph |
| |
| |
| | | |
|
| | |