ENDPOINT: https: //your.domain.for.zimbra/service/soap/GetIdentitiesRequest
SOAP PERMISSION
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> <context xmlns="urn:zimbra"> <format type="xml"/> <csrfToken>????????</csrfToken> </context> </soap:Header> <soap:Body> <GetIdentitiesRequest xmlns="urn:zimbraAccount"> <authToken>??????</authToken> </GetIdentitiesRequest> </soap:Body> </soap:Envelope>
csrfToken your answer in js window.csrfToken
you give authToken in cooke ZM_AUTH_TOKEN
Soap requests should send cookies ZM_AUTH_TOKEN , JSESSIONID and ZM_TEST
Jetty Client API Code
ContentResponse contentResponse = client.POST(endpoint) .content(new StringContentProvider("XML envelope")) .cookie(new HttpCookie("JSESSIONID", jSessionIdCookieValue)) .cookie(new HttpCookie("ZM_AUTH_TOKEN", authToken)) .cookie(new HttpCookie("ZM_TEST", "true")) .send();
In addition, there are many endpoints.
https://your.domain.for.zimbra/service/soap/GetInfoRequest https://your.domain.for.zimbra/service/soap/GetRightsRequest https://your.domain.for.zimbra/service/soap/CheckRightsRequest
The envelope changes only in the child of each endpoint
<GetIdentitiesRequest> <GetInfoRequest> <GetRightsRequest> <CheckRightsRequest>
source share