[Obm] ActiveSync autodiscover - Opush - OBM 2.3
Francois Goudal
fg at satcom1.com
Tue Nov 27 14:57:56 CET 2012
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
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 :)
Pour information, je teste cela sur une debian squeeze fraichement
installee, et sur laquelle j'ai fait un apt-get install obm-full tout
simplement.
Cordialement.
More information about the Obm
mailing list