Hello all,

We are in the process of migrating from Zimbra 7.2.1 Community Edition to Zimbra 8.0.7 Network Edition. The upgrade went well in our test environment; the server itself is working well. I am testing the Zimbra Connector for Outlook and I'm running into issues with the GAL sync. Everything else works correctly (mail, signature, calendar, contacts, etc.) I have configured the GAL for our domain as External and I can look up contacts in the GAL via the web interface without issue. However, in the Outlook Connector, the Send/Receive progress for Synchronizing GAL says "Failed" and the description says "Server returned soap fault."

2014-05-19 13_51_07-Zimbra Send_Receive Progress.png

The only other information I could find was this thread from 12-04-2008, but the settings described here are both TRUE in our Zimbra system.


I have enabled logging, and the best thing I can find that matches up with this in the ZCO log event is here. Notice it says system failure: java.lang.NullPointerException.

Code:
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] >Connection::WinHttpAsyncCallback[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]'']
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 	DATA_AVAILABLE (4)
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 	575 byte(s) available to read
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 	>Connection::WinHttpAsyncReadData[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]'']
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 			>Connection::WinHttpAsyncCallback[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]'']
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 				READ_COMPLETE (575 byte(s) read)
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 				>Connection::WinHttpAsyncTransferData[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]'']
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 					
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 					----------- HTTP Body: ----------- *5106*
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|					soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|						<soap:Header>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|							<context xmlns="urn:zimbra">
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								<change token="4715"/>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|							</context>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|						</soap:Header>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|						<soap:Body>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|							<soap:Fault>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								<soap:Code>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									<soap:Value>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										soap:Receiver
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									</soap:Value>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								</soap:Code>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								<soap:Reason>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									<soap:Text>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										system failure: java.lang.NullPointerException
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									</soap:Text>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								</soap:Reason>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								<soap:Detail>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									<Error xmlns="urn:zimbra">
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										<Code>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|											service.FAILURE
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										</Code>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										<Trace>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|											qtp10900158-868:https://10.2.2.27:443/service/soap/SyncGalRequest:1400521865312:0d580731a907a1e6
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|										</Trace>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|									</Error>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|								</soap:Detail>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|							</soap:Fault>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|						</soap:Body>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C]|					</soap:Envelope>
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 				<Connection::WinHttpAsyncTransferData[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]''] 0ms
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 			<Connection::WinHttpAsyncCallback[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]''] 0ms
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] 	<Connection::WinHttpAsyncReadData[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]''] 0ms
19-05-2014 13:51:07.688 [O14 HTTPCBCK 1C5C] <Connection::WinHttpAsyncCallback[#3, 084D8B88, owner:'#2, 084C9488, owner: 'GalSynchronizer[greg.haberek@custdata.com]''] 0ms
And here is the matching event in the mailbox.log file.

Code:
2014-05-19 13:51:05,312 WARN  [qtp10900158-868:https://10.2.2.27:443/service/soap/SyncGalRequest] [name=greg.haberek@custdata.com;mid=243;ip=10.2.4.144;ua=ZimbraConnectorForOutlook/8.0.7.1146;] SoapEngine - handler exception
java.lang.NullPointerException
	at java.lang.StringBuilder.<init>(StringBuilder.java:109)
	at com.zimbra.cs.gal.GalSyncToken.toString(GalSyncToken.java:112)
	at java.lang.String.valueOf(String.java:2854)
	at java.lang.StringBuilder.append(StringBuilder.java:128)
	at com.zimbra.cs.gal.GalSearchControl.doLocalGalAccountSync(GalSearchControl.java:565)
	at com.zimbra.cs.gal.GalSearchControl.accountSync(GalSearchControl.java:424)
	at com.zimbra.cs.gal.GalSearchControl.sync(GalSearchControl.java:205)
	at com.zimbra.cs.service.account.SyncGal.handle(SyncGal.java:76)
	at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:522)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:385)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:258)
	at com.zimbra.soap.SoapServlet.doWork(SoapServlet.java:294)
	at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:210)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:207)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
	at com.zimbra.cs.servlet.CsrfFilter.doFilter(CsrfFilter.java:78)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at com.zimbra.cs.servlet.RequestStringFilter.doFilter(RequestStringFilter.java:52)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:57)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
	at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter(ETagHeaderFilter.java:45)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:114)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:474)
	at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:345)
	at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:316)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:317)
	at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:81)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:369)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:944)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1005)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:744)
2014-05-19 13:51:05,314 INFO  [qtp10900158-868:https://10.2.2.27:443/service/soap/SyncGalRequest] [name=greg.haberek@custdata.com;mid=243;ip=10.2.4.144;ua=ZimbraConnectorForOutlook/8.0.7.1146;] soap - SyncGalRequest elapsed=8
Here is the output from ZmCustomizeMsi.js for my changes to ZimbraConnectorOLK_8.0.7.1146_x86.msi.

Code:
Current settings:
  InstallDirectory: "[TARGETDIR]"
  ZimbraServerName: "mailtest.custdata.com"
  ZimbraServerPort: 443
  ZimbraConnectionMethod: 1
  turnOffInboxFailures: "[REGTURNOFFINBOXFAILURES]"
  GalDeltaSync: "[REGGALDELTASYNC]"
  GalResync: "[REGGALRESYNC]"
  GalSyncMode: 0
  GalFullSyncSleep: "[REGGALFULLSYNCSLEEP]"
  GalFullSyncSleepAfterNumContacts: "[REGGALFULLSYNCSLEEPAFTERNUMCONTACTS]"
  GalSort: "[REGGALSORT]"
  GalSyncDisableAliases: "[REGGALSYNCDISABLEALIASES]"
  EnableLocalRules: "[REGENABLELOCALRULES]"
  EnableLDAP: 0
  LDAPServerName: "[REGLDAPSERVERNAME]"
  StorePassword: "[REGSTOREPASSWORD]"
  DownloadMode: 0
  ZDBAutoCompactEnabled: 1
  SkipVersionUpgrade: "[REGSKIPUPDATE]"
  ProxyChoice: "[REGPROXYCHOICE]"
  ProxyServerName: "[REGPROXYSERVER]"
  ProxyServerPort: "[REGPROXYPORT]"
  SigSyncEnabled: 1
  ZimbraZDBFolder: "[REGZIMBRAZDBFOLDER]"
  CustomDocLink: "[REGCUSTOMDOCLINK]"
  CustomZCSName: "[REGCUSTOMZCSNAME]"
  CustomZimbraName: "[REGCUSTOMZIMBRANAME]"
  DisableAutoArchive: 1
  Enabled: "[REGENABLED]"
  EnableAppDump: "[REGENABLEAPPDUMP]"
  KeepLogging: "[REGKEEPLOGGING]"
  VerboseLogging: "[REGVERBOSELOGGING]"
  MaxMB: "[REGMAXMB]"
  FileName: "[REGFILENAME]"
  ConnectTimeout: "[REGCONNECTTIMEOUT]"
  SendTimeout: "[REGSENDTIMEOUT]"
  ReceiveTimeout: "[REGRECEIVETIMEOUT]"
  OptionReceiveTimeout: "[REGOPTIONRECEIVETIMEOUT]"
  iTunes Outlook Addin: "[REGITUNESOUTLOOKADDIN]"
  Outlook Change Notifier: "[REGOUTLOOKCHANGENOTIFIER]"
Sorry for the long post. Hopefully someone else has run into this issue or knows how to fix it.

Thanks!