Best java API for CalDav on ZIMBRA
Best java API for CalDav on ZIMBRA
this is my first topic and with a search I didn't find what I need. Sorry if the topic has been already discussed.
In brief, I'm going to develop a new application in java that has to "connect" with ZIMBRA through CalDav. What I need, is to get the appointment on the calendar, read / modify it or add a new one. Is there some java library suggested for these case. What are better API for the connection with CalDav? Obviously, I'm looking for free libs that no need of fee payment. If there aren't free libs, please give me alternative
Thank you
G71
In brief, I'm going to develop a new application in java that has to "connect" with ZIMBRA through CalDav. What I need, is to get the appointment on the calendar, read / modify it or add a new one. Is there some java library suggested for these case. What are better API for the connection with CalDav? Obviously, I'm looking for free libs that no need of fee payment. If there aren't free libs, please give me alternative
Thank you
G71
Re: Best java API for CalDav on ZIMBRA
If you go the zimbra-soap route, you could do that and more(absolutly everything the webclient can do you can do using the zimbra soap api).
Zimbra soap is easy to use when you first get the hang of it. I have used it in powershell and python.
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
For getting calender you could also use rest api:
https://wiki.zimbra.com/wiki/Zimbra_REST_API_Reference
Caldav:
Havent tried programming against that yet.
Zimbra soap is easy to use when you first get the hang of it. I have used it in powershell and python.
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
For getting calender you could also use rest api:
https://wiki.zimbra.com/wiki/Zimbra_REST_API_Reference
Caldav:
Havent tried programming against that yet.
Re: Best java API for CalDav on ZIMBRA
Hi, thanks a lot for your reply. Unfortunatelly, Zimbra REST is a not complete as functions as I want. REST API is missing for the updating/deletion of appointments and over all if you want create a new appointment, you have to use a CURL system. This not works for me.thorx wrote:If you go the zimbra-soap route, you could do that and more(absolutly everything the webclient can do you can do using the zimbra soap api).
Zimbra soap is easy to use when you first get the hang of it. I have used it in powershell and python.
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
For getting calender you could also use rest api:
https://wiki.zimbra.com/wiki/Zimbra_REST_API_Reference
Caldav:
Havent tried programming against that yet.
Other side, Zimbra SOAP doesn't have WSDL and the documentation is very poor. So, I came back at the beginning. I'm going to test various java libs that have CalDav as protocoll. At the moment, I tried Milton but its maven repository is empty...
It's a hard work...
Re: Best java API for CalDav on ZIMBRA
Just an upgrade. Milton is a Server Lib. not a client library. So, don't works for me.G71 wrote:Hi, thanks a lot for your reply. Unfortunatelly, Zimbra REST is a not complete as functions as I want. REST API is missing for the updating/deletion of appointments and over all if you want create a new appointment, you have to use a CURL system. This not works for me.thorx wrote:If you go the zimbra-soap route, you could do that and more(absolutly everything the webclient can do you can do using the zimbra soap api).
Zimbra soap is easy to use when you first get the hang of it. I have used it in powershell and python.
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
For getting calender you could also use rest api:
https://wiki.zimbra.com/wiki/Zimbra_REST_API_Reference
Caldav:
Havent tried programming against that yet.
Other side, Zimbra SOAP doesn't have WSDL and the documentation is very poor. So, I came back at the beginning. I'm going to test various java libs that have CalDav as protocoll. At the moment, I tried Milton but its maven repository is empty...
It's a hard work...
- Gren Elliot
- Advanced member
- Posts: 183
- Joined: Tue Jun 10, 2014 4:45 am
Re: Best java API for CalDav on ZIMBRA
Just FYI - the Zimbra SOAP API does have WSDL. See https://wiki.zimbra.com/wiki/WsdlOther side, Zimbra SOAP doesn't have WSDL
The Zimbra Web Client uses the SOAP API, so one approach which might work for you would be to monitor web traffic whilst that does things that you want to do and see how it is achieved.
Re: Best java API for CalDav on ZIMBRA
Strange, I find the zimbra soap documentation very good. what's missing in the documentation? I have always managed to follow that documentation. Have only encountered 1-2 errors in the doc. like it says seconds and it's milliseconds. Reported those to bugzilla so think they are fixed.
As Gren Elliot says you can also use the webclient to get what soap queries needed for a task.
I use sometimes the debug/dev mode and just click in the webclient, the soap commands are revealed in the debug window.
https://wiki.zimbra.com/wiki/Web_Client_URL_Tricks
As Gren Elliot says you can also use the webclient to get what soap queries needed for a task.
I use sometimes the debug/dev mode and just click in the webclient, the soap commands are revealed in the debug window.
https://wiki.zimbra.com/wiki/Web_Client_URL_Tricks
Re: Best java API for CalDav on ZIMBRA
Thanks Gren Elliot. I found it. I built the client with axis2 (1.5.3) (with last version 1.7.3 doesn't works but at the moment I don't care about it)Gren Elliot wrote:Just FYI - the Zimbra SOAP API does have WSDL. See https://wiki.zimbra.com/wiki/WsdlOther side, Zimbra SOAP doesn't have WSDL
The Zimbra Web Client uses the SOAP API, so one approach which might work for you would be to monitor web traffic whilst that does things that you want to do and see how it is achieved.
Probably I'm not explained me very well. I meant that I didn't find examples in order to build a fast SOAP Zimbra client. Sorry, but I'm new of this product and probably these examples are in some place that I don't knowthorx wrote:Strange, I find the zimbra soap documentation very good. what's missing in the documentation? I have always managed to follow that documentation. Have only encountered 1-2 errors in the doc. like it says seconds and it's milliseconds. Reported those to bugzilla so think they are fixed.
As Gren Elliot says you can also use the webclient to get what soap queries needed for a task.
I use sometimes the debug/dev mode and just click in the webclient, the soap commands are revealed in the debug window.
https://wiki.zimbra.com/wiki/Web_Client_URL_Tricks
What I need is to connect to a Zimbra server and read from it, calendar appointments about an user xyz. Add/modify/delete another appointment into the calendar of the user xyz
For me it's enough a point to start.
Thanks a lot
G71
Re: Best java API for CalDav on ZIMBRA
yeah I can agree on the examples bit.
I use zimbra soap in powershell(and python) just using normal http_request(https://technet.microsoft.com/en-us/lib ... 49971.aspx). no spescial client just xml formatted http request.
First I send an authrequest to get an authtoken. when you got the authtoken you can use this to form a soap query to run everything the webclient can do. and that's a lot
if you got an authtoken from an admin user, you can even impersonate any user in the soap requests.
I use different auth request if it's admin auth or normal auth.
Admin:
Normal user:
A soap query can look like this:
Then to get into what queries needed just use webclient with dev/debug mode and click in the webclient to get a hint on what queries the webclient uses to achive what you want.
Then use soap api documentation to understand what's going on :
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
Does this help? code above is from my powershell code.
I use zimbra soap in powershell(and python) just using normal http_request(https://technet.microsoft.com/en-us/lib ... 49971.aspx). no spescial client just xml formatted http request.
First I send an authrequest to get an authtoken. when you got the authtoken you can use this to form a soap query to run everything the webclient can do. and that's a lot
if you got an authtoken from an admin user, you can even impersonate any user in the soap requests.
I use different auth request if it's admin auth or normal auth.
Admin:
Code: Select all
$xmlns = "urn:zimbraAdmin"
$request = '<AuthRequest xmlns="'urn:zimbraAdmin'" name="' + $account + '" password="' + $password + '">'
$request += '</AuthRequest>'
"<soap:Envelope xmlns:soap=`"http://www.w3.org/2003/05/soap-envelope`">" +
"<soap:Header>" +
"<context xmlns=`"urn:zimbra`">" +
"</context>" +
"</soap:Header>" +
"<soap:Body>" + $request + "</soap:Body>" +
"</soap:Envelope>"
Code: Select all
$xmlns = "urn:zimbraAccount"
$request = '<AuthRequest xmlns="'+$xmlns+'">'
$request += ' <account by="name">' + $account + '</account>'
$request += ' <password>' + $password + '</password>'
$request += '</AuthRequest>'
"<soap:Envelope xmlns:soap=`"http://www.w3.org/2003/05/soap-envelope`">" +
"<soap:Header>" +
"<context xmlns=`"urn:zimbra`">" +
"</context>" +
"</soap:Header>" +
"<soap:Body>" + $request + "</soap:Body>" +
"</soap:Envelope>"
Code: Select all
"<soap:Envelope xmlns:soap=`"http://www.w3.org/2003/05/soap-envelope`">" +
"<soap:Header>" +
"<context xmlns=`"urn:zimbra`">" +
<authToken>insert authtoken you got from the auth soap query here</authToken>
<account by="name">if your admin you can impersonate any user spesified here</account>
"</context>" +
"</soap:Header>" +
"<soap:Body>" + Soap query here + "</soap:Body>" +
"</soap:Envelope>"
Then use soap api documentation to understand what's going on :
https://wiki.zimbra.com/wiki/SOAP_API_R ... with_ZCS_8
Does this help? code above is from my powershell code.
Re: Best java API for CalDav on ZIMBRA
Did you get it working?
Re: Best java API for CalDav on ZIMBRA
Hi ,
I am also working on same kind of functionality. My Question is how can we retrieve Task(getTask) list from Zimbra using SOAP API in PHP.
Is there any way to generate request and response for the same.
Can anyone suggest plz.
Thanks.
I am also working on same kind of functionality. My Question is how can we retrieve Task(getTask) list from Zimbra using SOAP API in PHP.
Is there any way to generate request and response for the same.
Can anyone suggest plz.
Thanks.