Re,
Pour essayer de comprendre ce qu’il se passe, j’ai activer les log PgSQL sur appel de la methode getEventAll en SOAP
avec getEventAll(AccesToken, CalendarId, ‘VEVENT’) avec AccesToken qui est le XML de retour de login et CalendarId=3 dans mon cas
2013-11-02 15:59:18 CET LOG: execute : SELECT distinct userbm.id, userentity_entity_id, userbm.timeupdate, userbm.userupdate, password, calendarentity_entity_id, calendarentity_calendar_id, mailboxentity_entity_id, userbm.domain_id, userbm.timecreate, userbm.usercreate, Contact.contact_archive as archive, local, ext_id, status, timelastaccess, login, password_dateexp, account_dateexp, perms, delegation_target, delegation, datebegin, hidden, system, kind, direction, mail_routing, mail_server_id, mail_quota, mail_quota_use, nomade_perms, nomade_enable, nomade_local_copy, email_nomade, vacation_enable, vacation_datebegin, vacation_dateend, vacation_subject,vacation_message , contact_lastname, contact_firstname, contact_title, contact_service, contact_comment , e.email_address , p.phone_number , m.phone_number , domainentity_entity_id, domain_label, domain_name, domain_alias, domain_global, host_name, host_ip, host_fqdn FROM userbm INNER JOIN Contact ON contact_id=userbm.id INNER JOIN UserEntity on id=userentity_user_id INNER JOIN Domain on userbm.domain_id=domain.domain_id INNER JOIN DomainEntity ON domainentity_domain_id = domain.domain_id LEFT JOIN Calendar c ON c.linked_entity = userentity_entity_id AND c.is_default is true LEFT JOIN CalendarEntity ON calendarentity_calendar_id = c.id LEFT JOIN MailboxEntity ON mailboxentity_mailbox_id = userbm.id LEFT JOIN Host on userbm.mail_server_id=host.host_id LEFT JOIN Email e on e.email_entity_id=userentity_entity_id AND e.is_default is true LEFT JOIN Phone p on p.phone_entity_id=userentity_entity_id AND p.phone_label=‘WORK;VOICE;X-BM-Ref1’ LEFT JOIN Phone m on m.phone_entity_id=userentity_entity_id AND m.phone_label=‘CELL;VOICE;X-BM-Ref1’ WHERE 1>0 AND userbm.domain_id = $1 AND login = $2 AND contact_archive IS FALSE ORDER BY contact_lastname, contact_firstname asc
2013-11-02 15:59:18 CET DETAIL: parameters: $1 = ‘2’, $2 = ‘3’
En essayant de lancer cette requette j’ai une erreur PgSQL d’ implicit cast pour la clause AND login = $2. Comme login est un varchar testé l’égalité avec 3 pose problème. Pour que la requête fonctionne, il faudrait mettre la valeur de userbm.login
En refaisant le test en passant getEventAll(AccesToken, ‘userLogin’, ‘VEVENT’) avec userlogin qui est mon login dans userbm
=>Ca fonctionne : Ho joie !
Il semble qu’il manque une documentation de l’API SOAP, comme le WDSL ne nomme explicitement pas les paramètres des méthodes (arg0,arg1,arg2,…), en ce référant uniquement à la documentation de l’API Java, je me suis dit c’est les même paramètres car elle avait 3 arguments aussi.
Peux être que je ne sais pas ou chercher non plus. Si vous avez des info je suis preneur.
J’ai également demandé la création d’un compte sur le redmine. Si jamais je peux aider avec la doc, et également aussi aller plus vite dans mon dev avec un acces gitolite au projet pour ne pas faire du hackingSQL pour comprendre pourquoi ça ne fonctionne pas.
J’espere ne pas vous avoir fait trop mal à la tête. Bon week end.