Configuring GAL via SOAP: Difference between revisions

No edit summary
Line 122: Line 122:
</CreateGalSyncAccountRequest>
</CreateGalSyncAccountRequest>
</pre>
</pre>
[[Category:GAL]]
[[Category:SOAP]]

Revision as of 21:15, 29 November 2010

Intro

Global Address List (GAL) is configured on per-domain basis. GALs are configured via special system accounts (aka galsync accounts). A galsync account has a special "galsync" datasource which stores configuration information for connecting to GAL and stores contacts from GAL. In other words, GAL is accessed as an address book of a special system account. For legacy reasons, configuration properties for accessing GAL are also stored in zimbraDomain object and serve as default fallback values for GAL datasources. If these values are not defined in the datasource object, the values in the zimbraDomain object are used by the datasource.

Attributes

The following attributes are used for configuring GAL:

  • zimbraDomain object
    • zimbraGalMaxResults
    • zimbraGalMode
    • zimbraGalLdapURL
    • zimbraGalLdapSearchBase
    • zimbraGalLdapBindDn
    • zimbraGalLdapBindPassword
    • zimbraGalLdapBindPasswordConfirm
    • zimbraGalLdapFilter
    • zimbraGalAutoCompleteLdapFilter
    • zimbraGalSyncLdapURL
    • zimbraGalSyncLdapSearchBase
    • zimbraGalSyncLdapFilter
    • zimbraGalSyncLdapAuthMech
    • zimbraGalSyncLdapBindDn
    • zimbraGalSyncLdapBindPassword
    • zimbraGalAccountId
  • galDataSource
    • zimbraGalSyncLdapURL
    • zimbraGalSyncLdapSearchBase
    • zimbraGalSyncLdapFilter
    • zimbraGalSyncLdapAuthMech
    • zimbraGalSyncLdapBindDn
    • zimbraGalSyncLdapBindPassword

SOAP Requests

The following SOAP requests are used when configuring GAL

  • admin-space SOAP requests
    • ModifyDomainRequest - use to modify any attribute of zimbraDomain object
    • CreateGalSyncAccountRequest - use to create galsync account with galDataSource
  • user-space SOAP requests
    • ModifyDataSourceRequest - use to modify any attribute of a galDataSource of a galsync account. The request has to be sent on behalf of the galsync account that owns the galDataSource

ModifyDomainRequest

<ModifyDomainRequest>
  <id>{value-of-zimbraId}</id>
  <a n="...">...</a>+
</ModifyDomainRequest>

<ModifyDomainResponse>
  <domain name="{name}" id="{id}">
    <a n="...">...</a>+
  </domain>
</ModifyDomainResponse>
</ModifyDomainRequest>
Sample requests:
<ModifyDomainRequest xmlns="urn:zimbraAdmin">
<id xmlns="">
db4ccf78-d422-4eb6-9e99-b9871bab587c
</id>
<a xmlns="" n="zimbraGalMode">
zimbra
</a>
<a xmlns="" n="zimbraGalMaxResults">
100
</a>
</ModifyDomainRequest>
<ModifyDomainRequest xmlns="urn:zimbraAdmin">
<id xmlns="">
db4ccf78-d422-4eb6-9e99-b9871bab587c
</id>
<a xmlns="" n="zimbraGalMode">
ldap
</a>
<a xmlns="" n="zimbraGalLdapURL">
ldap://10.10.130.254:3268
</a>
<a xmlns="" n="zimbraGalLdapSearchBase">
OU=IneropUsers,DC=2k3-ex2k3,DC=local
</a>
<a xmlns="" n="zimbraGalLdapBindDn">
cn=administrator,cn=Users,dc=2k3-ex2k3,dc=local
</a>
<a xmlns="" n="zimbraGalLdapBindPassword">
test123
</a>
<a xmlns="" n="zimbraGalLdapFilter">
(objectClass=organizationalPerson)
</a>
<a xmlns="" n="zimbraGalAutoCompleteLdapFilter">
(|(cn=%s*)(sn=%s*)(gn=%s*)(mail=%s*))
</a>
<a xmlns="" n="zimbraGalMaxResults">
500
</a>
</ModifyDomainRequest>

CreateGalSyncAccountRequest

<CreateGalSyncAccountRequest name="{identifier}" domain="{domain-name}" type="zimbra|ldap" [folder="{contact-folder-name}"] >
  <account by="id|name">...</account>
  <a n="attr-name">...</a>+
</CreateGalSyncAccountRequest>

<CreateGalSyncAccountResponse>
  <name>...</name>
  <account name="{name}" id="{id}"/>
</CreateGalSyncAccountResponse>

Sample requests:

<CreateGalSyncAccountRequest xmlns="urn:zimbraAdmin" name="zimbra" folder="_zimbra" type="zimbra" domain="gsolovyev-mbp-2.local">
<account xmlns="" by="name">
zimbra@gsolovyev-mbp-2.local
</account>
</CreateGalSyncAccountRequest>
<CreateGalSyncAccountRequest xmlns="urn:zimbraAdmin" name="ldapgal" folder="_ldapgal" type="ldap" domain="gsolovyev-mbp-2.local">
<account xmlns="" by="name">
zimbra@gsolovyev-mbp-2.local
</account>
</CreateGalSyncAccountRequest>
Jump to: navigation, search