This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:epims4_0m2:developer:cxf_web-services [2008/04/02 10:40] barthe Rajout de la doc pour le client web-services |
wiki:epims4_0m2:developer:cxf_web-services [2008/10/02 10:21] (current) |
||
---|---|---|---|
Line 146: | Line 146: | ||
</code> | </code> | ||
CXF lancera automatiquement une requête SOAP correctement formé à l'url donnée à la fabrique, attendra la réponse, la traitera et la fournira comme renvoie de la méthode appelée. :!: **Attention** : les objets renvoyés par CXF sont du bon type mais sont des proxy : ils n'ont que les méthodes d'accès get/set aux attributs, il faut donc faire une transposition de ces objets en //vrai// objets voulu. | CXF lancera automatiquement une requête SOAP correctement formé à l'url donnée à la fabrique, attendra la réponse, la traitera et la fournira comme renvoie de la méthode appelée. :!: **Attention** : les objets renvoyés par CXF sont du bon type mais sont des proxy : ils n'ont que les méthodes d'accès get/set aux attributs, il faut donc faire une transposition de ces objets en //vrai// objets voulu. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Nota Bene - Bugs - Problèmes rencontrés ==== | ||
+ | * Nous avons essayez d'utiliser des ''endpoint'' au tout début des l'implémentation, en lieu et place des ''server'' (cf le web.xml plus haut) mais ceux-ci générais une erreur au déploiement de l'application : | ||
+ | * <code> | ||
+ | Error creating bean with name 'plateServicesEndPoint': Invocation of init method failed; | ||
+ | nested exception is java.security.AccessControlException: access denied (javax.xml.ws.WebServicePermission publishEndpoint ) | ||
+ | </code> | ||
+ | * Apparemment il s'agirait d'un problème du ''SecurityManager'' de Tomcat auquel doit faire appel CXF (spec JEE5) pour autoriser la publication (''PUBLISH_PERMISSION'') des ''endpoint''. | ||
+ | * La solution appliquée à été d'utiliser à la place des balises ''endpoint'' des ''server'' qui eux n'ont pas besoin de PUBLISH_PERMISSION. | ||
+ | * Un autre solution aurait été de pouvoir configurer le serveur d'application pour qu'il accepte la publication des ''endpoint'', mais nous n'avons pas réussi à le faire. | ||
+ | |||
+ |