Иерархическая адресная книга в Zimbra, работает ли?
Всем доброго дня.
Исходная система: свеженькая голая Ubuntu 20.04
СПО: Zimbra 9.0.0 by Zextras / Zimbra 8.8.15 OSE
При настройке Zimbra из коробки (проверены родная и сторонняя сборки разных версий) не работает настройка HAB.
Любые команды конфигурации HAB возвращают ошибку service.UNKNOWN_DOCUMENT от soap.
Результат выполнения запросов:
zmprov createHABOrgUnit fipa211.domain testou
ERROR: service.UNKNOWN_DOCUMENT (unknown document: HABOrgUnitRequest)
zmprov -v createHABOrgUnit fipa211.domain testou
ERROR: service.UNKNOWN_DOCUMENT (unknown document: HABOrgUnitRequest)
com.zimbra.common.soap.SoapFaultException: unknown document: HABOrgUnitRequest
ExceptionId:qtp1117509763-132:1727443042590:40890ef5e8a66e55
Code:service.UNKNOWN_DOCUMENT
at com.zimbra.common.soap.Soap12Protocol.soapFault(Soap12Protocol.java:90)
at com.zimbra.common.soap.SoapTransport.extractBodyElement(SoapTransport.java:376)
at com.zimbra.common.soap.SoapTransport.parseSoapResponse(SoapTransport.java:349)
at com.zimbra.common.soap.SoapHttpTransport.invoke(SoapHttpTransport.java:341)
at com.zimbra.common.soap.SoapHttpTransport.invoke(SoapHttpTransport.java:196)
at com.zimbra.common.soap.SoapHttpTransport.invoke(SoapHttpTransport.java:189)
at com.zimbra.common.soap.SoapTransport.invoke(SoapTransport.java:447)
at com.zimbra.common.soap.SoapTransport.invokeWithoutSession(SoapTransport.java:432)
at com.zimbra.cs.account.soap.SoapProvisioning.invokeRequest(SoapProvisioning.java:623)
at com.zimbra.cs.account.soap.SoapProvisioning.invoke(SoapProvisioning.java:668)
at com.zimbra.cs.account.soap.SoapProvisioning.invokeJaxb(SoapProvisioning.java:727)
at com.zimbra.cs.account.soap.SoapProvisioning.createHabOrgUnit(SoapProvisioning.java:3114)
at com.zimbra.cs.account.ProvUtil.doCreateHabOrgUnit(ProvUtil.java:1771)
at com.zimbra.cs.account.ProvUtil.execute(ProvUtil.java:1615)
at com.zimbra.cs.account.ProvUtil.main(ProvUtil.java:4160)
zmprov -d createHABOrgUnit fipa211.domain testou
========== SOAP SEND ==========
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<nosession/>
<userAgent name="zmprov" version="8.8.15_GA_4652"/>
<authTokenControl voidOnExpired="0"/>
</context>
</soap:Header>
<soap:Body>
<AuthRequest xmlns="urn:zimbraAdmin">
<name>zimbra</name>
<password>gEAtCHGP</password>
</AuthRequest>
</soap:Body>
</soap:Envelope>
===============================
======== SOAP RECEIVE =========
<AuthResponse xmlns="urn:zimbraAdmin">
<lifetime>43199998</lifetime>
<authToken>0_04172062249b46197c4577dc4851379770db44aa_69643d33363a65306661666438392d313336302d313164392d383636312d3030306139356439386566323b6578703d31333a313732373438363230313534303b61646d696e3d313a313b747970653d363a7a696d6272613b753d313a613b7469643d393a3233363634373735373b76657273696f6e3d31343a382e382e31355f47415f343137393b</authToken>
</AuthResponse>
=============================== (113 msecs)
========== SOAP SEND ==========
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<authToken>0_04172062249b46197c4577dc4851379770db44aa_69643d33363a65306661666438392d313336302d313164392d383636312d3030306139356439386566323b6578703d31333a313732373438363230313534303b61646d696e3d313a313b747970653d363a7a696d6272613b753d313a613b7469643d393a3233363634373735373b76657273696f6e3d31343a382e382e31355f47415f343137393b</authToken>
<nosession/>
<userAgent name="zmprov" version="8.8.15_GA_4652"/>
<authTokenControl voidOnExpired="1"/>
</context>
</soap:Header>
<soap:Body>
<GetDomainRequest applyConfig="0" xmlns="urn:zimbraAdmin">
<domain by="name">fipa211.domain</domain>
</GetDomainRequest>
</soap:Body>
</soap:Envelope>
===============================
======== SOAP RECEIVE =========
<GetDomainResponse xmlns="urn:zimbraAdmin">
<domain name="fipa211.domain" id="fcc2cba1-0ebd-4c6f-9042-6294589e414e">
<a n="zimbraGalAccountId">96c517d9-e60e-4edf-88c4-a0257374213a</a>
<a n="zimbraDomainStatus">active</a>
<a n="zimbraDomainName">fipa211.domain</a>
<a n="zimbraId">fcc2cba1-0ebd-4c6f-9042-6294589e414e</a>
<a n="objectClass">dcObject</a>
<a n="objectClass">organization</a>
<a n="objectClass">zimbraDomain</a>
<a n="objectClass">amavisAccount</a>
<a n="zimbraDomainType">local</a>
<a n="zimbraCreateTimestamp">20240927015547.928Z</a>
<a n="zimbraMailStatus">enabled</a>
<a n="o">fipa211.domain domain</a>
<a n="dc">fipa211</a>
</domain>
</GetDomainResponse>
=============================== (49 msecs)
========== SOAP SEND ==========
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<authToken>0_04172062249b46197c4577dc4851379770db44aa_69643d33363a65306661666438392d313336302d313164392d383636312d3030306139356439386566323b6578703d31333a313732373438363230313534303b61646d696e3d313a313b747970653d363a7a696d6272613b753d313a613b7469643d393a3233363634373735373b76657273696f6e3d31343a382e382e31355f47415f343137393b</authToken>
<nosession/>
<userAgent name="zmprov" version="8.8.15_GA_4652"/>
<authTokenControl voidOnExpired="1"/>
</context>
</soap:Header>
<soap:Body>
<HABOrgUnitRequest op="create" name="testou" xmlns="urn:zimbraAdmin">
<domain by="name">fipa211.domain</domain>
</HABOrgUnitRequest>
</soap:Body>
</soap:Envelope>
===============================
ERROR: service.UNKNOWN_DOCUMENT (unknown document: HABOrgUnitRequest)
В акссесс-логах еррор 500:
127.0.0.1 - - [27/Sep/2024:03:11:19 +0000] "POST /service/admin/soap/AuthRequest HTTP/1.1" 200 603 "-" "zmprov 9.0.0_ZEXTRAS_20231104" 6
127.0.0.1 - - [27/Sep/2024:03:11:20 +0000] "POST /service/admin/soap/GetDomainRequest HTTP/1.1" 200 802 "-" "zmprov 9.0.0_ZEXTRAS_20231104" 2
127.0.0.1 - - [27/Sep/2024:03:11:21 +0000] "POST /service/admin/soap/HABOrgUnitRequest HTTP/1.1" 500 492 "-" "zmprov 9.0.0_ZEXTRAS_20231104" 3
createHABOrgUnit может быть выполнен с использованием -l ldap-provisioning, но команды управления группами HAB требуеют SOAP и вылетают с ошибками, указанными выше.
Похоже что в сборках отсутствует необходимая jar-ка для поддержки работы с HAB. Но никакой информации по требованиям к дополнительным модулям я не нашел.
Собственно поддерживает ли Zimbra иерархическую адресную книгу и проглядел ли я что-то в процессе настройки/установки или HAB так и остался уделом разработки? Каким образом заставить ее работать?
Спасибо!
P.S. Нахожусь в поиске OS-решения связки почтовых сервера+клиента под линуксы debian-based с поддержкой иерархической адресной книги организации для полноценной замены связки Exchange+WinAD+Outlook. В идеале (но опционально) с полноценной привязкой к стороннему контроллеру (напр. под управлением freeipa) и управлением инфраструктурой этой адресной книги (на уровне групп распространения/безопасности) на стороне этого самого стороннего контроллера, а не внутри вшитого ldap, как у зимбра.
Может кто подскажет какие есть продукты с поддержкой указанного функционала?