La communication DDE ne fonctionne pas entre JMap Desktop et des applications tierces / DDE communication does not work between JMap Desktop and third party applications

Produit concerné / Related product

JMap Pro

Versions

4.0, 5.0, 6.0


Jump to English version

Problème

Certaines extensions de JMap plus anciennes utilisent le protocole DDE pour communiquer avec des applications externes à JMap. Dans certains cas, cette communication ne fonctionne pas.   Il est possible que l'utilisateur utilise une version 64 bits de Java, ce qui n'est pas supporté par l'extension DDE.  Seules les versions de Java 32 bits Windows sont supportées.  Dans ce cas l'installation d'une version 32 bits de Java ainsi que d'un navigateur web 32 bits dans le cas d'un client JMap intégré est nécessaire.   

Pour versions incluant et supérieures à 5.0.0005 ou 4.0.0011

Cette version de l'extension tente de charger les librairies natives sans les copier sur le poste client.  Cette technique ne fonctionne qu'avec Java 8 et avec un déploiement en non-intégré dans le navigateur (en application; Java Web Start).  Si vous utilisez une version de Java plus ancienne comme 1.6 ou 1.7, il sera nécessaire de copier manuellement des fichiers sur le poste de travail dans le répertoire  C:\Windows\Sun\Java\lib\ext.   
Les fichiers sont disponibles dans le répertoire du serveur JMap  jmap/extensions/client/dde_client.   Les fichiers à copier sont les suivants:
- corojdk11.dll
- Coroutine4Java.jar
- JavaDde.jar
Une fois les fichiers copiés, simplement redémarrer l'application ou le navigateur web, la communiction devrait être fonctionnelle par la suite.

Pour versions inférieurs à 5.0.0005 ou 4.0.0011, avec une version de Java inférieure à 1.8 ou en mode intégré dans le navigateur

Le bon fonctionnement de la communication DDE nécessite la présence de certaines librairies au démarrage du client.  Ceci implique donc que des librairies soient copiées sur le poste de travail. Dans cette version l'extension DDE JMap, la première étape est donc de vérifier si les librairies sont présentes et si elles n'y sont pas, de les copier et demander l'utilisateur de relancer l'application.  Par contre, avec la sécurité de Windows, il se peut que l'utilisateur ne possède pas les droits d'écriture dans ces dossiers, que la copie échoue et que l'extension soit non fonctionnelle. Si c'est le cas, un message d'erreur apparaîtra dans les journaux indiquant que l'accès au disque est refusé et que la communication DDE sera non fonctionnelle.   En théorie, si l'utilisateur a bien les droits d'administration la copie des fichiers devrait bien fonctionner, mais il est possible que même étant administrateur que Java n'obtienne pas les droits d'écriture dans les répertoires...  Une copie manuelle des fichiers est alors nécessaire.  


Dépendamment de l'installation Java, il y aura probablement deux répertoires utilisés par Java pour les librairies:  C:\Program Files (x86)\Java\jreX\lib\ext et C:\Windows\Sun\Java\lib\ext.  Pour trouver le nom exact des répertoires, vérifier les journaux du client (menu outils, journalisation) et une ligne commençant par "JavaExtDirs = "  devrait être présente, la liste des répertoires suivra, par exemple:   "JavaExtDirs = C:\Program Files\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ext". Celui sous windows est partagé par toutes les versions de Java, copier les librairies à cet endroit est généralement suffisant et les fichiers demeurent présent même après une mise à jour de Java.   Les fichiers sont disponibles dans le répertoire du serveur JMap:   jmap/extensions/client/dde_client  et copier les fichiers suivants:
 
- corojdk11.dll
- Coroutine4Java.jar
- JavaDde.jar
 
Donc simplement copier ces fichiers dans le répertoire 'C:\Windows\Sun\Java\lib\ext'.  Si les fichiers ne peuvent pas être copiés dans le répertoire, vérifier les permissions de l'utilisateur avec l'administrateur réseau.  Par la suite, redémarrer l'application Java et l'extension devrait bien être fonctionnelle.




English version

Problem

Certain oldder JMap extensions use the DDE communication protocol to communication with external applications.  This article deals with issues concerning this communication.  First of all, this extension can only run in 32 bits and under Windows.  If the only JVM available is in 64 bits, a 32 bits JVM will need to be installed to run the extension.

For version including or superior to 5.0.0005 or 4.0.0011

This version of the extension tries to run native libraries without copying it on the client.  This can only work with Java 1.8 and in a non-integrated in navigator java application.  If Java version 1.7 or earlier is used, or java is run in applet, some files will need to be manually copied on the client in the directory: C:\Windows\Sun\Java\lib\ext.   
The files are available in the JMap server directory: jmap/extensions/client/dde_client.   The following files require to be copied:
- corojdk11.dll
- Coroutine4Java.jar
- JavaDde.jar
Once these files are copied, simply restart the browser or application and the communication should be functional.

For versions inferior to 5.0.0005 or 4.0.0011, or with Java 1.7 or less, or in a browser integrated application

DDE requires some libraries to be preset at application launch and so some libraries must be copied to the local computer.  The DDE extension attempts to copy the files locally, but because of security, the copy might fail.  If it fails, a message will warn the user that the files require to be manually copied.

The folder to which the files must be copied can vary from computer to computer.  Generally, copying the files to the directory 'C:\Windows\Sun\Java\lib\ext' is sufficient.  The files are available on the JMap server installation directory, under:   jmap/extensions/client/dde_client.   The files to be copied are the following:
 
- corojdk11.dll
- Coroutine4Java.jar
- JavaDde.jar
So copying these files to 'C:\Windows\Sun\Java\lib\ext' should work, if it does not, in the JMap client, under menu 'tools', 'view logs', a line starting with  "JavaExtDirs = "  should be present, it lists the local java library directories.ex:   "JavaExtDirs = C:\Program Files\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ext".  If for some reason the path is different, simply copy the files to this directory. The path under windows is shared with all Java versions, so copying it there is recommended because the files will still be present after a Java update.  
Once the files are copied, simply restart the application, and the communication should be functional.