Exchange Integration does not work

Infos:

  • Used Zammad version: 6.2.0-58
  • Used Zammad installation type: docker-compose
  • Operating system: Debian 12
  • Browser + version:
    MS Edge (v 123.0.2420.81)
    Google Chrome (v 123.0.6312.106)

Hello, we got the following Issue:

We tried to enable the Exchange Integration for the purpes to sync the Contact between Exchange an ZAmmad.
After the Setup of the assignments, we got the following Issue:

image

Error Message:
undefined method `source’ for nil:NilClass return if !%r{^Ldap::(\d+)$}.match?(user.source) ^^^^^^^

  • Does anybody had the same Issue?
  • We are using an OnPrem Exchange 2019 with the latest CU 14

Hello again,

we did an Update to the Version 6.3 and now the Error Message locks like this:

image

Any Idea’s ?

Do you happen to have a full log output?
The rails container log output should be perfect for this.

Hello,

thx 4 your reply. Here is an output of the railsserver during the connection Test.

zammad-railsserver_1 | I, [2024-05-28T12:33:41.067962#49-151540] INFO – : Started POST “/api/v1/integration/exchange/autodiscover” for 172.30.0.1 at 2024-05-28 12:33:41 +0000
zammad-railsserver_1 | I, [2024-05-28T12:33:41.074376#49-151540] INFO – : Processing by Integration::ExchangeController#autodiscover as JSON
zammad-railsserver_1 | I, [2024-05-28T12:33:41.074451#49-151540] INFO – : Parameters: {“endpoint”=>“https://xxx.yyy.zzz/ews/exchange.asmx”, “user”=>“zammad”, “password”=>"[FILTERED]
"}
zammad-railsserver_1 | I, [2024-05-28T12:33:41.102558#49-151540] INFO – : Completed 200 OK in 28ms (Views: 0.2ms | ActiveRecord: 5.8ms | Allocations: 6145)
zammad-railsserver_1 | I, [2024-05-28T12:33:41.115905#49-150120] INFO – : Started POST “/api/v1/integration/exchange/folders” for 172.30.0.1 at 2024-05-28 12:33:41 +0000
zammad-railsserver_1 | I, [2024-05-28T12:33:41.120947#49-150120] INFO – : Processing by Integration::ExchangeController#folders as JSON
zammad-railsserver_1 | I, [2024-05-28T12:33:41.121019#49-150120] INFO – : Parameters: {“auth_type”=>“basic”, “endpoint”=>“https://xxx.yyy.zzz/ews/exchange.asmx”, “user”=>“zammad”, "
password"=>“[FILTERED]”}
zammad-railsserver_1 | E, [2024-05-28T12:33:41.209475#49-150120] ERROR – : Digest initialization failed: initialization error (OpenSSL::Digest::DigestError)
zammad-railsserver_1 | lib/sequencer/unit/exchange/connection.rb:106:in post'* *zammad-railsserver_1 | lib/import/exchange/folder.rb:57:in request_children’
zammad-railsserver_1 | lib/import/exchange/folder.rb:36:in block in children'* *zammad-railsserver_1 | lib/import/exchange/folder.rb:36:in map’
zammad-railsserver_1 | lib/import/exchange/folder.rb:36:in children'* *zammad-railsserver_1 | lib/import/exchange/folder.rb:30:in all’
zammad-railsserver_1 | lib/import/exchange/folder.rb:16:in id_folder_map'* *zammad-railsserver_1 | lib/sequencer/unit/exchange/folders/id_path_map.rb:15:in block in process’
zammad-railsserver_1 | lib/sequencer/state.rb:43:in provide'* *zammad-railsserver_1 | lib/sequencer/unit/exchange/folders/id_path_map.rb:10:in process’
zammad-railsserver_1 | lib/sequencer/unit/base.rb:247:in process'* *zammad-railsserver_1 | lib/sequencer.rb:76:in block (4 levels) in process’
zammad-railsserver_1 | lib/mixin/start_finish_logger.rb:9:in log_start_finish'* *zammad-railsserver_1 | lib/sequencer.rb:75:in block (3 levels) in process’
zammad-railsserver_1 | lib/sequencer/state.rb:151:in process'* *zammad-railsserver_1 | lib/sequencer.rb:73:in block (2 levels) in process’
zammad-railsserver_1 | lib/sequencer/units.rb:27:in block in each'* *zammad-railsserver_1 | lib/sequencer/units.rb:26:in each’
zammad-railsserver_1 | lib/sequencer/units.rb:26:in each'* *zammad-railsserver_1 | lib/sequencer.rb:71:in each_with_index’
zammad-railsserver_1 | lib/sequencer.rb:71:in block in process'* *zammad-railsserver_1 | lib/mixin/start_finish_logger.rb:9:in log_start_finish’
zammad-railsserver_1 | lib/sequencer.rb:69:in process'* *zammad-railsserver_1 | lib/sequencer.rb:24:in process’
zammad-railsserver_1 | app/controllers/integration/exchange_controller.rb:42:in block in folders'* *zammad-railsserver_1 | app/controllers/concerns/integration/import_job_base.rb:45:in answer_with’
zammad-railsserver_1 | app/controllers/integration/exchange_controller.rb:41:in folders'* *zammad-railsserver_1 | app/controllers/application_controller/has_download.rb:17:in block (4 levels) in module:HasDownload
zammad-railsserver_1 | app/controllers/application_controller/has_download.rb:16:in block (3 levels) in <module:HasDownload>'* *zammad-railsserver_1 | app/controllers/application_controller/has_download.rb:15:in block (2 levels) in module:HasDownload
zammad-railsserver_1 | app/controllers/application_controller/handles_transitions.rb:16:in `handle_transaction’
zammad-railsserver_1 | I, [2024-05-28T12:33:41.215666#49-150120] INFO – : Completed 200 OK in 94ms (Views: 1.0ms | ActiveRecord: 5.7ms | Allocations: 8939)
zammad-railsserver_1 | I, [2024-05-28T12:33:43.433472#49-151660] INFO – : Started GET “/api/v1/integration/exchange/job_start?_=1716899347395” for 172.30.0.1 at 2024-05-28 12:33:43 +0
000
zammad-railsserver_1 | I, [2024-05-28T12:33:43.440840#49-151660] INFO – : Processing by Integration::ExchangeController#job_start_index as JSON
zammad-railsserver_1 | I, [2024-05-28T12:33:43.440926#49-151660] INFO – : Parameters: {“_”=>“1716899347395”}
zammad-railsserver_1 | I, [2024-05-28T12:33:43.470107#49-151660] INFO – : Completed 200 OK in 29ms (Views: 0.2ms | ActiveRecord: 8.3ms | Allocations: 5400)

That is your problem.
Ensure to have a proper and strong SSL configuration on your exchange (which by default is anything but that). Also the cipher suite does have to cover what your client (Zammad in that case) expects.

Hello,

Thank you for the explanation. Can you tell me what requirements the exchange and the chiper should have.

The supported ciphers strongly depend on your operating system that Zammad runs on. Usually the private key nowadays needa at least a size of 2048 Bit - the default used to be 1024 for Windows servers for a very long time.

Hello,

any News or further Idea’s?

We looked in the Exchange requirements and there is no hint about the Details of the Integration.

Exchange — Zammad Admin Documentation documentation

You did provided zero feedback on my response.