Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
Bonjour, Le jeudi 29 novembre 2012 à 12:02 +0100, Francois Goudal a écrit : On 29/11/12 11:55, Matthieu Baechler wrote: [...] De plus, cette solution n'est pas ideale pour tester facilement des modifications, car on recompile tout a chaque fois, donc ca prend beaucoup de temps pour tester la moindre modification. Si vous aviez une petite procedure pour juste recompiler le module opush a la main, et le deployer, je pense que ca m'aiderait pas mal :) Effectivement, nous avons plutôt pour habitude de compiler opush sur notre poste de développement avec des commandes maven. Je vais prendre le temps de détailler les étapes de cette compilation et de son déploiement sur notre wiki et je vous envoie le lien dès que ce sera fait. Formidable, merci ! Désolé pour le délais, mais la doc est en ligne maintenant : http://www.obm.org/wiki/work-test-and-debug C'est assez court, n'hésitez pas à nous faire part de vos difficultés si vous en rencontrez. -- Matthieu Baechler matthieu.baech...@linagora.com ___ Obm mailing list Obm@list.obm.org http://list.obm.org/mailman/listinfo/obm
Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
On 29/11/12 11:55, Matthieu Baechler wrote: Bonjour, Le mardi 27 novembre 2012 à 14:57 +0100, Francois Goudal a écrit : On 27/11/12 11:54, Matthieu Baechler wrote: [...] La ou j'aurai effectivement besoin d'un peu d'aide, c'est pour etre capable de recompiler opush et le deployer sur mon serveur. Modifier le code ne devrait pas etre un probleme, mais je ne suis pas familier avec le java, et en particulier son environnement de compilation et le deploiement de servlets. Dommage que ca ne soit pas ecrit en C/C++ ;) En gros, pour resumer, voila ce que j'ai fait pour l'instant : Sur ma machine j'ai recupere le paquet source pour obm-opush : apt-get source obm-opush Cela m'a donc recupere l'ensemble des sources du paquet obm-java. J'ai ensuite installe les build dependancies : apt-get build-dep obm-java Puis j'ai essaye, sans modifier le code, pour le moment, de generer les paquets debs (donc, entre autres, obm-opush) : dpkg-buildpackage -us -uc -rfakeroot Malheureusement, cela ne fonctionne pas : J'ai tenté de faire exactement la même chose pour analyser les erreurs à la compilation, mais je n'obtient pas le même résultat. Quelle dépôt obm utilisez vous ? Voila mon sources.list (j'utilise les miroirs debian NL car le serveur est hoste a amsterdam) : root@obm:~# cat /etc/apt/sources.list # deb http://mirrors.nl.kernel.org/debian/ squeeze main deb http://mirrors.nl.kernel.org/debian/ squeeze main non-free contrib deb-src http://mirrors.nl.kernel.org/debian/ squeeze main non-free contrib deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://mirrors.nl.kernel.org/debian/ squeeze-updates main contrib non-free deb-src http://mirrors.nl.kernel.org/debian/ squeeze-updates main contrib non-free # Stable repository with current version 2.4.1: deb http://deb.obm.org/24/contrib squeeze obm deb http://deb.obm.org/24/stable obm obm deb-src http://deb.obm.org/24/stable obm obm Quelle est la sortie de la commande update-alternatives --display java ? root@obm:~# update-alternatives --display java java - auto mode link currently points to /usr/lib/jvm/java-6-openjdk/jre/bin/java /usr/lib/jvm/java-6-openjdk/jre/bin/java - priority 1061 slave java.1.gz: /usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz /usr/lib/jvm/java-6-sun/jre/bin/java - priority 63 slave java.1.gz: /usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz Current 'best' version is '/usr/lib/jvm/java-6-openjdk/jre/bin/java'. [...] De plus, cette solution n'est pas ideale pour tester facilement des modifications, car on recompile tout a chaque fois, donc ca prend beaucoup de temps pour tester la moindre modification. Si vous aviez une petite procedure pour juste recompiler le module opush a la main, et le deployer, je pense que ca m'aiderait pas mal :) Effectivement, nous avons plutôt pour habitude de compiler opush sur notre poste de développement avec des commandes maven. Je vais prendre le temps de détailler les étapes de cette compilation et de son déploiement sur notre wiki et je vous envoie le lien dès que ce sera fait. Formidable, merci ! ___ Obm mailing list Obm@list.obm.org http://list.obm.org/mailman/listinfo/obm
Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
Bonjour, Le mardi 27 novembre 2012 à 14:57 +0100, Francois Goudal a écrit : On 27/11/12 11:54, Matthieu Baechler wrote: [...] La ou j'aurai effectivement besoin d'un peu d'aide, c'est pour etre capable de recompiler opush et le deployer sur mon serveur. Modifier le code ne devrait pas etre un probleme, mais je ne suis pas familier avec le java, et en particulier son environnement de compilation et le deploiement de servlets. Dommage que ca ne soit pas ecrit en C/C++ ;) En gros, pour resumer, voila ce que j'ai fait pour l'instant : Sur ma machine j'ai recupere le paquet source pour obm-opush : apt-get source obm-opush Cela m'a donc recupere l'ensemble des sources du paquet obm-java. J'ai ensuite installe les build dependancies : apt-get build-dep obm-java Puis j'ai essaye, sans modifier le code, pour le moment, de generer les paquets debs (donc, entre autres, obm-opush) : dpkg-buildpackage -us -uc -rfakeroot Malheureusement, cela ne fonctionne pas : J'ai tenté de faire exactement la même chose pour analyser les erreurs à la compilation, mais je n'obtient pas le même résultat. Quelle dépôt obm utilisez vous ? Quelle est la sortie de la commande update-alternatives --display java ? [...] De plus, cette solution n'est pas ideale pour tester facilement des modifications, car on recompile tout a chaque fois, donc ca prend beaucoup de temps pour tester la moindre modification. Si vous aviez une petite procedure pour juste recompiler le module opush a la main, et le deployer, je pense que ca m'aiderait pas mal :) Effectivement, nous avons plutôt pour habitude de compiler opush sur notre poste de développement avec des commandes maven. Je vais prendre le temps de détailler les étapes de cette compilation et de son déploiement sur notre wiki et je vous envoie le lien dès que ce sera fait. -- Matthieu Baechler matthieu.baech...@linagora.com ___ Obm mailing list Obm@list.obm.org http://list.obm.org/mailman/listinfo/obm
Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
Le mardi 27 novembre 2012 à 10:36 +0100, Francois Goudal a écrit : Bonjour Matthieu, [...] De plus, Si j'essaie de connecter un iPhone avec ActiveSync, je le vois bien faire des requetes autodiscover dans les logs Apache, mais pour autant, l'iPhone n'obtient pas l'information necessaire, puisqu'il finit par me demander l'adresse du serveur (ce qu'il est justement normalement cense recevoir via autodiscover). Donc cela confirme que l'autodiscover ne fonctionne pas. J'aimerais bien continuer a debugguer cela, mais je ne sais plus vraiment ou regarder. - Je ne peux pas vraiment sniffer le traffic pour voir la requete et la reponse, puisque c'est du SSL Le lien entre le serveur apache et le serveur opush ne doit pas être en SSL, vous pouvez faire un tcpdump à ce niveau. - Je ne trouve pas d'exemple de requete POST que je pourrais eventuellement envoyer moi meme Vous pouvez essayer avec ce morceau de XML : Autodiscover xmlns=http://schemas.microsoft.com/exchange/autodiscover/mobilesync/requestschema/2006; Request EMailAddressVOTRE_ADRESSE_EMAIL/EMailAddress AcceptableResponseSchemahttp://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006/AcceptableResponseSchema /Request /Autodiscover - Je ne vois pas ou trouver des logs qui pourraient m'interesser sur le serveur OBM Voir la page : http://www.obm.org/wiki/logs Vous pouvez activer REQUEST.FULL et vous devriez avoir les logs de l'autodiscover. Auriez-vous une idee de comment je peux essayer de progresser pour faire fonctionner cela ? N'hésitez pas à nous communiquer plus d'infos si vous êtes toujours bloqué. -- Matthieu Baechler matthieu.baech...@linagora.com ___ Obm mailing list Obm@list.obm.org http://list.obm.org/mailman/listinfo/obm
Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
Le mardi 27 novembre 2012 à 11:16 +0100, Francois Goudal a écrit : Re-bonjour, Merci pour ces informations, qui m'ont permis de progresser dans mes tests. [...] On voit donc bien la reponse ici. Par rapport au message d'erreur retourne par l'outil de microsoft, il semblerait que : Autodiscover ne soit pas valide, et qu'il s'attende en fait a avoir un xmlns qui soit specifie. C'est peut-être un problème, effectivement. Quel périphérique utilisez-vous ? Nous avions testé plusieurs téléphone avec succès dans cette version. Cette page web de microsoft semble egalement indiquer cela : http://blogs.msdn.com/b/exchangedev/archive/2011/07/08/autodiscover-for-exchange-activesync-developers.aspx Si je voulais faire des modifs dans le code d'opush pour adapter le format de la reponse XML afin qu'elle soit consideree valide par l'outil, par ou me conseillez-vous de commencer a regarder ? C'est relativement simple : - la classe AutodiscoverHandler prend en charge les requêtes d'autodiscover - la classe AutodiscoverProtocol prend en charge la partie XML des requêtes et réponses, dans encodeResponse, vous verrez la ligne suivante : Document autodiscover = DOMUtils.createDoc(null, Autodiscover); Le premier paramètre est le namespace à utiliser. - enfin, je vous conseille de mettre également à jour le code de test dans AutodiscoverHandlerTest. Attention, ces tests sont annotés comme étant @Slow, ils ne s'exécutent que lors de la phase integration-test de maven N'hésitez pas à nous solliciter si vous avez besoin d'aide pour cette modification, nous nous efforcerons de vous guider et de l'intégrer au plus vite. Cordialement, -- Matthieu Baechler matthieu.baech...@linagora.com ___ Obm mailing list Obm@list.obm.org http://list.obm.org/mailman/listinfo/obm
Re: [Obm] ActiveSync autodiscover - Opush - OBM 2.3
On 27/11/12 11:54, Matthieu Baechler wrote: [...] On voit donc bien la reponse ici. Par rapport au message d'erreur retourne par l'outil de microsoft, il semblerait que : Autodiscover ne soit pas valide, et qu'il s'attende en fait a avoir un xmlns qui soit specifie. C'est peut-être un problème, effectivement. Quel périphérique utilisez-vous ? Nous avions testé plusieurs téléphone avec succès dans cette version. Ce test a ete fait en utilisant l'outil de microsoft qui permet de tester le bon fonctionnement du service autodiscover d'un serveur exchange. https://www.testexchangeconnectivity.com Il ne s'agit donc pas d'un vrai client, mais d'un outil de test officiel, donc j'en conclus que si lui ne fonctionne pas, il y a de fortes chances que certains autres clients echouent egalement pour la meme raison. Mon objectif ultime, derriere ces tests, serait d'utiliser Outlook 2013 comme client. Une des nouveautes d'Outlook 2013 est l'ajout du support du protocole ActiveSync. J'ai donc voulu tenter de le faire synchroniser avec mon OBM via OPush. En faisant quelques traces wireshark, j'ai pu voir que ce client essaie systematiquement de faire un Autodiscover, et si jamais il n'y arrive pas, il n'essaie meme pas de se connecter a un serveur via ActiveSync, c'est donc pour cela que j'essaie de faire en sort que l'Autodiscover fonctionne correctement sur mon serveur OBM (et que l'implementation de microsoft fonctionne avec, ce qui pour le moment, ne semble pas etre le cas, d'apres leur outil de test). Cette page web de microsoft semble egalement indiquer cela : http://blogs.msdn.com/b/exchangedev/archive/2011/07/08/autodiscover-for-exchange-activesync-developers.aspx Si je voulais faire des modifs dans le code d'opush pour adapter le format de la reponse XML afin qu'elle soit consideree valide par l'outil, par ou me conseillez-vous de commencer a regarder ? C'est relativement simple : - la classe AutodiscoverHandler prend en charge les requêtes d'autodiscover - la classe AutodiscoverProtocol prend en charge la partie XML des requêtes et réponses, dans encodeResponse, vous verrez la ligne suivante : Document autodiscover = DOMUtils.createDoc(null, Autodiscover); Le premier paramètre est le namespace à utiliser. - enfin, je vous conseille de mettre également à jour le code de test dans AutodiscoverHandlerTest. Attention, ces tests sont annotés comme étant @Slow, ils ne s'exécutent que lors de la phase integration-test de maven N'hésitez pas à nous solliciter si vous avez besoin d'aide pour cette modification, nous nous efforcerons de vous guider et de l'intégrer au plus vite. Cordialement, La ou j'aurai effectivement besoin d'un peu d'aide, c'est pour etre capable de recompiler opush et le deployer sur mon serveur. Modifier le code ne devrait pas etre un probleme, mais je ne suis pas familier avec le java, et en particulier son environnement de compilation et le deploiement de servlets. Dommage que ca ne soit pas ecrit en C/C++ ;) En gros, pour resumer, voila ce que j'ai fait pour l'instant : Sur ma machine j'ai recupere le paquet source pour obm-opush : apt-get source obm-opush Cela m'a donc recupere l'ensemble des sources du paquet obm-java. J'ai ensuite installe les build dependancies : apt-get build-dep obm-java Puis j'ai essaye, sans modifier le code, pour le moment, de generer les paquets debs (donc, entre autres, obm-opush) : dpkg-buildpackage -us -uc -rfakeroot Malheureusement, cela ne fonctionne pas : Tests in error: testClosedSession(com.linagora.obm.sync.TestQueueManager): Server not started testDurableSubscription(com.linagora.obm.sync.TestQueueManager): Server not started testDurableSubscription2(com.linagora.obm.sync.TestQueueManager): Server not started testConsumeLater(com.linagora.obm.sync.TestQueueManager): Server not started testTwoConsumers(com.linagora.obm.sync.TestQueueManager): Server not started Tests run: 6, Failures: 0, Errors: 5, Skipped: 0 [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] There are test failures. Please refer to /root/obm-java-2.4.1.2/message-queue/target/surefire-reports for the individual test results. [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 58 seconds [INFO] Finished at: Tue Nov 27 15:03:03 CET 2012 [INFO] Final Memory: 25M/60M [INFO] make: *** [build] Error 1 dpkg-buildpackage: error: debian/rules build gave error exit status 2 De plus, cette solution n'est pas ideale pour tester facilement des modifications, car on recompile tout a chaque fois, donc ca prend