The recent days I’ve been troubleshooting setting up syndication between two WebSphere Portal servers. The original setup was from server1 to server2 and that setup has worked fine for many month. Then one day we had to reverse the syndication flow for various reasons and then things started to behave wierd. In the portal administration interface we saw errors about ICE-Initial and unable to syndicate items. Going deeper into the SystemOut log I found the lines below:

[2016-04-27 16:55:21:465 CEST] 0000375d SyndicationEx W   Unsuccessful request to send summary: 400
                                 com.aptrix.deployment.wizard.SyndicatorCommunicationException: Unsuccessful request to send summary: 400
	at com.ibm.workplace.wcm.api.syndication.SyndicationExtensionsServiceImpl.sendSummaryToSyndicator(SyndicationExtensionsServiceImpl.java:293)
	at com.ibm.workplace.wcm.api.syndication.SyndicationExtensionsServiceImpl.processSubscriberCompleting(SyndicationExtensionsServiceImpl.java:246)
	at com.aptrix.syndication.business.subscriber.SubscriberTaskManager.processFailedUpdate(SubscriberTaskManager.java:405)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask.processUpdate(PackageConsumerTask.java:400)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask$1.run(PackageConsumerTask.java:183)
	at com.ibm.wps.ac.impl.UnrestrictedAccessImpl.run(UnrestrictedAccessImpl.java:84)
	at com.ibm.wps.command.ac.ExecuteUnrestrictedCommand.execute(ExecuteUnrestrictedCommand.java:90)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask.doManagedWork(PackageConsumerTask.java:195)
	at com.aptrix.syndication.business.ManagedTask.runWork(ManagedTask.java:62)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmWork.runImpl(AbstractWcmWork.java:162)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork.access$001(AbstractWcmSystemWork.java:40)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork$1.run(AbstractWcmSystemWork.java:92)
	at com.ibm.wps.ac.impl.UnrestrictedAccessImpl.run(UnrestrictedAccessImpl.java:84)
	at com.ibm.wps.command.ac.ExecuteUnrestrictedCommand.execute(ExecuteUnrestrictedCommand.java:90)
	at com.ibm.workplace.wcm.services.repository.PACServiceImpl.runAsPrivileged(PACServiceImpl.java:1878)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork.runImpl(AbstractWcmSystemWork.java:87)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmWork.run(AbstractWcmWork.java:146)
	at com.ibm.wps.services.workmanager.impl.WasWorkWrapper.run(WasWorkWrapper.java:44)
	at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:271)
	at java.security.AccessController.doPrivileged(AccessController.java:364)
	at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:797)
	at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
	at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:206)
	at java.lang.Thread.run(Thread.java:798)

[2016-04-27 16:55:40:918 CEST] 0000375f PackageConsum E   Oväntat undantagsfel vid uppdatering av prenumeration: [Ice-ID: <0bea8645-f626-40fd-8ae3-ff31c4c935cb>. Aktuellt läge: <ICE-INITIAL>]. Undantag: com.ibm.workplace.wcm.services.WCMServiceRuntimeException: code: 400
                                 com.ibm.workplace.wcm.services.WCMServiceRuntimeException: code: 400
	at com.aptrix.syndication.business.subscriber.CatalogRetrieverTask.getSourceCatalog(CatalogRetrieverTask.java:330)
	at com.aptrix.syndication.business.subscriber.CatalogRetrieverTask.process(CatalogRetrieverTask.java:144)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask.processPackage(PackageConsumerTask.java:513)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask.processUpdate(PackageConsumerTask.java:267)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask$1.run(PackageConsumerTask.java:183)
	at com.ibm.wps.ac.impl.UnrestrictedAccessImpl.run(UnrestrictedAccessImpl.java:84)
	at com.ibm.wps.command.ac.ExecuteUnrestrictedCommand.execute(ExecuteUnrestrictedCommand.java:90)
	at com.aptrix.syndication.business.subscriber.PackageConsumerTask.doManagedWork(PackageConsumerTask.java:195)
	at com.aptrix.syndication.business.ManagedTask.runWork(ManagedTask.java:62)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmWork.runImpl(AbstractWcmWork.java:162)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork.access$001(AbstractWcmSystemWork.java:40)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork$1.run(AbstractWcmSystemWork.java:92)
	at com.ibm.wps.ac.impl.UnrestrictedAccessImpl.run(UnrestrictedAccessImpl.java:84)
	at com.ibm.wps.command.ac.ExecuteUnrestrictedCommand.execute(ExecuteUnrestrictedCommand.java:90)
	at com.ibm.workplace.wcm.services.repository.PACServiceImpl.runAsPrivileged(PACServiceImpl.java:1878)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmSystemWork.runImpl(AbstractWcmSystemWork.java:87)
	at com.ibm.workplace.wcm.services.workmanager.AbstractWcmWork.run(AbstractWcmWork.java:146)
	at com.ibm.wps.services.workmanager.impl.WasWorkWrapper.run(WasWorkWrapper.java:44)
	at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:271)
	at java.security.AccessController.doPrivileged(AccessController.java:364)
	at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:797)
	at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
	at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:206)
	at java.lang.Thread.run(Thread.java:798)

After some searching in Knowledge Center and different search engines I found this Developer Works Answers that made my day. The simple answer to the above problem is that the Basic Auth TAI interceptor wasn’t enabled on the syndicator server, in my case server2 didn’t have it enabled. So I ran the ConfigEngine task enable-http-basic-auth-tai-sitemgmt with the neccesary parameters. An example is as below:

./ConfigEngine.sh enable-http-basic-auth-tai-sitemgmt -DPortalAdminPwd=password -DWasPassword=password

Then I restarted the server and the syndication started pushing content between the servers. A reference for enabling Basic Authentication can be found here.