AnsweredAssumed Answered

NTLM Passthru Breaks Feed Service

Question asked by rob_h on Sep 7, 2009
Latest reply on Sep 8, 2009 by rob_h
Hi Guys,

Having recently implemented NTLM Passuthru authentication on 3.1, I'm having some issues with Share dashlets that access the activity feed service.  For instance, 'My Site Activities' no longer displays any events.  The iCal feed also bounces me out to an Alfresco Explorer login screen.  The app otherwise is working quite reliably with SSO and I can perform just about any document transaction, search, action etc, it's just seems to be things hitting the feedservice that fail.  Here's a sample error generated (presumably) by the Site Activites dashlet going for a refresh:

23:29:58,412 ERROR [org.alfresco.repo.activities.feed.local.LocalFeedGridJob] org.json.JSONException: A JSONArray text must start with '[' at character 1 of <body bgcolor="#ffffff" style="background-image: url(/alfresco/images/logo/AlfrescoFadedBG.png); background-repeat: no-repeat; background-attachment: fixed"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Alfresco Web Client - Login</title><link rel="search" type="application/opensearchdescription+xml" href="/alfresco/wcservice/api/search/keyword /description.xml" title="Alfresco Keyword Search"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" href="/alfresco/css/main.css" type="text/css"><link rel="stylesheet" href="/alfresco/css/picker.css" type="text/css"><!–[if IE 6]><link rel="stylesheet" href="/alfresco/css/ie6.css" type="text/css"><![endif]–><script type="text/javascript" src="/alfresco/scripts/menu.js"></script> <script type="text/javascript" src="/alfresco/scripts/webdav.js"></script ><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/yahoo/yahoo-min.js "></script><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/connection /connection-min.js"></script><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/event/event-min.js "></script><script type="text/javascript" src="/alfresco/scripts/ajax/mootools.v1.11.js"> </script><script type="text/javascript" src="/alfresco/scripts/ajax/common.js">< /script><script type="text/javascript" src="/alfresco/scripts/ajax/summary-info.js"> </script><script type="text/javascript" src="/alfresco/scripts/ajax/picker.js">< /script><script type="text/javascript" src="/alfresco/scripts/ajax/tagger.js">< /script><script type="text/javascript">setContextPath(' /alfresco');</script></head><body><form id="loginForm" name="loginForm" method="post" action="/alfresco/faces/jsp/login.jsp;jsessionid =D64FC53758034F895CED1FDFBCE090CC" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded"> <table width=100% height=98% align=center><tr width=100% align=center><td valign=middle align=center width=100%><table cellspacing=0 cellpadding=0 border=0><tr><td width=7></td><td background='/alfresco/images/parts/white_02.gif'></td><td width=7></td></tr><tr><td background='/alfresco/images/parts/white_04.gif'></td><td bgcolor='white'><table border=0 cellspacing=4 cellpadding=2><tr><td colspan=2>Alfresco</td></tr><tr><td colspan=2><span class='mainSubTitle'>Enter Login details:</span></td></tr><tr><td >User Name:</td><td><input id="loginForm:user-name" name="loginForm:user-name" type="text" value="" style="width:150px" /></td></tr><tr><td>Password:< /td><td><input type="password" id="loginForm:user-password" name="loginForm:user-password" style="width:150px" /></td></tr><tr><td>Language:< /td><td><select id="loginForm:language" name="loginForm:language" size="1" style="width:150px" onchange="document.forms['loginForm'].submit(); return true;"> <option value="en_US" selected="selected">English</option>< /select></td></tr><tr><td colspan=2 align=right><input id="loginForm:submit" name="loginForm:submit" type="submit" value="Login" onclick="if(typeof window.clearFormHiddenParams_loginForm!='undefined') {clearFormHiddenParams_loginForm('loginForm');}" /></td></tr><tr><td colspan=2></td></tr></table></td> <td background='/alfresco/images/parts/white_06.gif'></td></tr><tr><td width=7></td><td background='/alfresco/images/parts/white_08.gif'></td><td width=7></td></tr></table><div id="no-cookies" style="display:none"><table cellpadding="0" cellspacing="0" border="0" style="padding-top:16px;"><tr><td> <table cellspacing='0' cellpadding='0' style='border-width: 0px; width: 100%'><tr><td style='width: 7px;'></td><td style='background-image: url(/alfresco/images/parts/yellowInner_02.gif)'></td><td style='width: 7px;'></td></tr><tr><td style='background-image: url(/alfresco/images/parts/yellowInner_04.gif)'></td><td style='background-color:#ffffcc;'><table cellpadding="0" cellspacing="0" border="0"><tr><td valign=top style="padding-top:2px" width=20></td><td class="mainSubText">Cookies must be enabled in your browser for the Alfresco Web-Client to function correctly.</td></tr></table></td> <td style='background-image: url(/alfresco/images/parts/yellowInner_06.gif)'></td></tr><tr><td style='width: 7px;'></td><td style='background-image: url(/alfresco/images/parts/yellowInner_08.gif)'></td><td style='width: 7px;'></td></tr></table></td></tr> </table></div><script>document.cookie= "_alfTest=_alfTest"var cookieEnabled = (document.cookie.indexOf("_alfTest") != -1);if (cookieEnabled == false){document.getElementById("no-cookies"). style.display = 'inline';}</script></td></tr></table ><input type="hidden" name="loginForm_SUBMIT" value="1" /><input type="hidden" name="loginForm:_idcl" /><input type="hidden" name="loginForm:_link_hidden_" /><script type="text/javascript"><!– function clear_loginForm() { clearFormHiddenParams_loginForm('loginForm'); } function clearFormHiddenParams_loginForm(currFormName) { var f = document.forms['loginForm']; f.elements['loginForm:_idcl'].value=''; f.elements['loginForm:_link_hidden_'].value=''; f.target=''; } clearFormHiddenParams_loginForm();//–></script> <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value=" rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0A AExcHQADi9qc3AvbG9naW4uanNw" /></form><script>if (document.getElementById("loginForm:user-name"). value.length == 0){document.getElementById("loginForm:user-name"). focus();}else{document.getElementById("loginForm:user- password").focus();}</script></body>< /html></body>
23:29:58,443 ERROR [org.alfresco.repo.activities.feed.AbstractFeedGenerator] Exception during generation of feeds
java.lang.Exception: A JSONArray text must start with '[' at character 1 of <body bgcolor="#ffffff" style="background-image: url(/alfresco/images/logo/AlfrescoFadedBG.png); background-repeat: no-repeat; background-attachment: fixed"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Alfresco Web Client - Login</title><link rel="search" type="application/opensearchdescription+xml" href="/alfresco/wcservice/api/search/keyword /description.xml" title="Alfresco Keyword Search"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" href="/alfresco/css/main.css" type="text/css"><link rel="stylesheet" href="/alfresco/css/picker.css" type="text/css"><!–[if IE 6]><link rel="stylesheet" href="/alfresco/css/ie6.css" type="text/css"><![endif]–><script type="text/javascript" src="/alfresco/scripts/menu.js"></script> <script type="text/javascript" src="/alfresco/scripts/webdav.js"></script ><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/yahoo/yahoo-min.js "></script><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/connection /connection-min.js"></script><script type="text/javascript" src="/alfresco/scripts/ajax/yahoo/event/event-min.js "></script><script type="text/javascript" src="/alfresco/scripts/ajax/mootools.v1.11.js"> </script><script type="text/javascript" src="/alfresco/scripts/ajax/common.js">< /script><script type="text/javascript" src="/alfresco/scripts/ajax/summary-info.js"> </script><script type="text/javascript" src="/alfresco/scripts/ajax/picker.js">< /script><script type="text/javascript" src="/alfresco/scripts/ajax/tagger.js">< /script><script type="text/javascript">setContextPath(' /alfresco');</script></head><body><form id="loginForm" name="loginForm" method="post" action="/alfresco/faces/jsp/login.jsp;jsessionid =D64FC53758034F895CED1FDFBCE090CC" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded"> <table width=100% height=98% align=center><tr width=100% align=center><td valign=middle align=center width=100%><table cellspacing=0 cellpadding=0 border=0><tr><td width=7></td><td background='/alfresco/images/parts/white_02.gif'></td><td width=7></td></tr><tr><td background='/alfresco/images/parts/white_04.gif'></td><td bgcolor='white'><table border=0 cellspacing=4 cellpadding=2><tr><td colspan=2>Alfresco</td></tr><tr><td colspan=2><span class='mainSubTitle'>Enter Login details:</span></td></tr><tr><td >User Name:</td><td><input id="loginForm:user-name" name="loginForm:user-name" type="text" value="" style="width:150px" /></td></tr><tr><td>Password:< /td><td><input type="password" id="loginForm:user-password" name="loginForm:user-password" style="width:150px" /></td></tr><tr><td>Language:< /td><td><select id="loginForm:language" name="loginForm:language" size="1" style="width:150px" onchange="document.forms['loginForm'].submit(); return true;"> <option value="en_US" selected="selected">English</option>< /select></td></tr><tr><td colspan=2 align=right><input id="loginForm:submit" name="loginForm:submit" type="submit" value="Login" onclick="if(typeof window.clearFormHiddenParams_loginForm!='undefined') {clearFormHiddenParams_loginForm('loginForm');}" /></td></tr><tr><td colspan=2></td></tr></table></td> <td background='/alfresco/images/parts/white_06.gif'></td></tr><tr><td width=7></td><td background='/alfresco/images/parts/white_08.gif'></td><td width=7></td></tr></table><div id="no-cookies" style="display:none"><table cellpadding="0" cellspacing="0" border="0" style="padding-top:16px;"><tr><td> <table cellspacing='0' cellpadding='0' style='border-width: 0px; width: 100%'><tr><td style='width: 7px;'></td><td style='background-image: url(/alfresco/images/parts/yellowInner_02.gif)'></td><td style='width: 7px;'></td></tr><tr><td style='background-image: url(/alfresco/images/parts/yellowInner_04.gif)'></td><td style='background-color:#ffffcc;'><table cellpadding="0" cellspacing="0" border="0"><tr><td valign=top style="padding-top:2px" width=20></td><td class="mainSubText">Cookies must be enabled in your browser for the Alfresco Web-Client to function correctly.</td></tr></table></td> <td style='background-image: url(/alfresco/images/parts/yellowInner_06.gif)'></td></tr><tr><td style='width: 7px;'></td><td style='background-image: url(/alfresco/images/parts/yellowInner_08.gif)'></td><td style='width: 7px;'></td></tr></table></td></tr> </table></div><script>document.cookie= "_alfTest=_alfTest"var cookieEnabled = (document.cookie.indexOf("_alfTest") != -1);if (cookieEnabled == false){document.getElementById("no-cookies"). style.display = 'inline';}</script></td></tr></table ><input type="hidden" name="loginForm_SUBMIT" value="1" /><input type="hidden" name="loginForm:_idcl" /><input type="hidden" name="loginForm:_link_hidden_" /><script type="text/javascript"><!– function clear_loginForm() { clearFormHiddenParams_loginForm('loginForm'); } function clearFormHiddenParams_loginForm(currFormName) { var f = document.forms['loginForm']; f.elements['loginForm:_idcl'].value=''; f.elements['loginForm:_link_hidden_'].value=''; f.target=''; } clearFormHiddenParams_loginForm();//–></script> <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value=" rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0A AExcHQADi9qc3AvbG9naW4uanNw" /></form><script>if (document.getElementById("loginForm:user-name"). value.length == 0){document.getElementById("loginForm:user-name"). focus();}else{document.getElementById("loginForm:user- password").focus();}</script></body>< /html></body>
at org.alfresco.repo.activities.feed.local.LocalFeedGridJob. execute(LocalFeedGridJob.java:64)
at org.alfresco.repo.activities.feed.local.LocalFeedGenerator. generate(LocalFeedGenerator.java:102)
at org.alfresco.repo.activities.feed.AbstractFeedGenerator. execute(AbstractFeedGenerator.java:133)
at org.alfresco.repo.activities.feed.FeedGeneratorJob.execute (FeedGeneratorJob.java:56)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run (SimpleThreadPool.java:529)

Sample web.xml

  <?xml version="1.0" encoding="UTF-8" ?> 
  <!DOCTYPE web-app (View Source for full doctype…)>
- <web-app>
  <display-name>Alfresco Web Client</display-name>
  <description>Alfresco Web Client</description>
- <context-param>
  <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
  <param-value>true</param-value>
  </context-param>
- <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
  </context-param>
- <context-param>
  <param-name>javax.faces.CONFIG_FILES</param-name>
  <param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-navigation.xml,/WEB-INF/faces-config-common.xml,/WEB-INF/faces-config-repo.xml,/WEB-INF/faces-config-wcm.xml,/WEB-INF/faces-config-custom.xml</param-value>
  </context-param>
- <context-param>
  <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
  <param-value>true</param-value>
  </context-param>
- <context-param>
  <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
  <param-value>false</param-value>
  <description>This is an EXPERIMENTAL feature, so leave it off for now!</description>
  </context-param>
- <context-param>
  <param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
  <param-value>false</param-value>
  <description>Stop MyFaces from Serializing the state to the session</description>
  </context-param>
- <!–  TODO: Change this to false for production
  –>
- <context-param>
  <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
  <param-value>true</param-value>
  <description>If true, rendered HTML code will be formatted, so that it is "human readable". i.e. additional line separators and whitespace will be written, that do not influence the HTML code. Default: "true"</description>
  </context-param>
- <context-param>
  <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
  <param-value>false</param-value>
  <description>If true, a javascript function will be rendered that is able to restore the former vertical scroll on every request. Convenient feature if you have pages with long lists and you do not want the browser page to always jump to the top if you trigger a link or button action that stays on the same page. Default: "false"</description>
  </context-param>
- <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/web-application-context.xml</param-value>
  <description>Spring config file location</description>
  </context-param>
- <context-param>
  <param-name>log4jExposeWebAppRoot</param-name>
  <param-value>false</param-value>
  <description>Do not try to resolve web app root as file</description>
  </context-param>
- <!–   These were previously init params for the WebDAV servlet,
         but since they are also needed to MT-enable the
         ExternalAccess servlet, I have made them context wide.
  –>
- <context-param>
  <param-name>store</param-name>
  <param-value>workspace://SpacesStore</param-value>
  </context-param>
- <context-param>
  <param-name>rootPath</param-name>
  <param-value>/app:company_home</param-value>
  </context-param>
- <filter>
  <filter-name>Authentication Filter</filter-name>
- <!– <filter-class>org.alfresco.web.app.servlet.AuthenticationFilter</filter-class>
  –>
- <!–  For NTLM authentication support use the following filter, also see the filter-mapping section
  –>
  <filter-class>org.alfresco.web.app.servlet.NTLMAuthenticationFilter</filter-class>
- <!–  For Novell IChain support use the following filter
  –>
- <!–       <filter-class>org.alfresco.web.app.servlet.NovellIChainsHTTPRequestAuthenticationFilter</filter-class>
     
  –>
  </filter>
- <!–  For NTLM authentication support use the following filter, also see the filter-mapping section
  –>
- <filter>
  <filter-name>WebScript NTLM Authentication Filter</filter-name>
  <filter-class>org.alfresco.web.app.servlet.WebScriptNTLMAuthenticationFilter</filter-class>
  </filter>
- <filter>
  <filter-name>WebDAV Authentication Filter</filter-name>
- <!– <filter-class>org.alfresco.repo.webdav.auth.AuthenticationFilter</filter-class>
  –>
- <!–  For NTLM authentication support use the following filter
  –>
  <filter-class>org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter</filter-class>
  </filter>
- <filter>
  <filter-name>Admin Authentication Filter</filter-name>
  <filter-class>org.alfresco.web.app.servlet.AdminAuthenticationFilter</filter-class>
  </filter>
- <!–  For NTLM authentication support enable the following mappings
  –>
- <!–  after enabling the NTLMAuthenticationFilter filter class above
  –>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/navigate/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/service/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/command/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/download/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/template/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/n/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/c/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/t/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/d/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>WebScript NTLM Authentication Filter</filter-name>
  <url-pattern>/wcservice/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>WebScript NTLM Authentication Filter</filter-name>
  <url-pattern>/wcs/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/ajax/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/faces/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>WebDAV Authentication Filter</filter-name>
  <url-pattern>/webdav/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/admin/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/categories/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/groups/*</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/users/delete-user.jsp</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/users/users.jsp</url-pattern>
  </filter-mapping>
- <filter-mapping>
  <filter-name>Admin Authentication Filter</filter-name>
  <url-pattern>/faces/jsp/admin/system-info.jsp</url-pattern>
  </filter-mapping>
- <listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  </listener>
- <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>
- <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
- <listener>
  <listener-class>org.alfresco.web.app.ContextListener</listener-class>
  </listener>
- <!–  Faces Servlet
  –>
- <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>
- <servlet>
  <servlet-name>uploadFile</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.UploadFileServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>uploadContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.UploadContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>downloadContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.DownloadContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>downloadRawContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.DownloadRawContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>guestDownloadContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.GuestDownloadContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>guestTemplateContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.GuestTemplateContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>externalAccess</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.ExternalAccessServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>templateContent</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.TemplateContentServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>commandServlet</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.CommandServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>ajaxServlet</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.ajax.AjaxServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>axis</servlet-name>
  <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
  <load-on-startup>5</load-on-startup>
  </servlet>
- <servlet>
  <servlet-name>CXFServlet</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <load-on-startup>6</load-on-startup>
  </servlet>
- <servlet>
  <servlet-name>WebDAV</servlet-name>
  <servlet-class>org.alfresco.repo.webdav.WebDAVServlet</servlet-class>
  <load-on-startup>5</load-on-startup>
  </servlet>
- <servlet>
  <servlet-name>apiServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.servlet.WebScriptServlet</servlet-class>
- <init-param>
  <param-name>authenticator</param-name>
  <param-value>webscripts.authenticator.basic</param-value>
  </init-param>
  </servlet>
- <servlet>
  <servlet-name>wcapiServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.servlet.WebScriptServlet</servlet-class>
- <init-param>
  <param-name>authenticator</param-name>
  <param-value>webscripts.authenticator.webclient</param-value>
  </init-param>
  </servlet>
- <servlet>
  <servlet-name>portalapiServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.servlet.WebScriptServlet</servlet-class>
- <init-param>
  <param-name>authenticator</param-name>
  <param-value>webscripts.authenticator.webclient</param-value>
  </init-param>
  </servlet>
- <servlet>
  <servlet-name>facebookServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.facebook.FacebookServlet</servlet-class>
- <init-param>
  <param-name>authenticator</param-name>
  <param-value>webscripts.authenticator.facebook</param-value>
  </init-param>
  </servlet>
- <servlet>
  <servlet-name>fbapiServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.facebook.FacebookAPIServlet</servlet-class>
- <init-param>
  <param-name>authenticator</param-name>
  <param-value>webscripts.authenticator.facebook</param-value>
  </init-param>
  </servlet>
- <servlet>
  <servlet-name>proxyServlet</servlet-name>
  <servlet-class>org.alfresco.web.scripts.servlet.HTTPProxyServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>workflowDefinitionImageServlet</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.WorkflowDefinitionImageServlet</servlet-class>
  </servlet>
- <servlet>
  <servlet-name>JBPMDeployProcessServlet</servlet-name>
  <servlet-class>org.alfresco.web.app.servlet.JBPMDeployProcessServlet</servlet-class>
  </servlet>
- <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>uploadFile</servlet-name>
  <url-pattern>/uploadFileServlet</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>uploadContent</servlet-name>
  <url-pattern>/upload/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>downloadContent</servlet-name>
  <url-pattern>/download/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>downloadContent</servlet-name>
  <url-pattern>/d/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>downloadRawContent</servlet-name>
  <url-pattern>/dr</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>guestDownloadContent</servlet-name>
  <url-pattern>/guestDownload/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>guestDownloadContent</servlet-name>
  <url-pattern>/gd/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>templateContent</servlet-name>
  <url-pattern>/template/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>templateContent</servlet-name>
  <url-pattern>/t/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>guestTemplateContent</servlet-name>
  <url-pattern>/guestTemplate/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>guestTemplateContent</servlet-name>
  <url-pattern>/gt/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>externalAccess</servlet-name>
  <url-pattern>/navigate/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>externalAccess</servlet-name>
  <url-pattern>/n/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>commandServlet</servlet-name>
  <url-pattern>/command/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>commandServlet</servlet-name>
  <url-pattern>/c/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>ajaxServlet</servlet-name>
  <url-pattern>/ajax/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>axis</servlet-name>
  <url-pattern>/api/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>CXFServlet</servlet-name>
  <url-pattern>/cmis/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>WebDAV</servlet-name>
  <url-pattern>/webdav/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>apiServlet</servlet-name>
  <url-pattern>/service/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>apiServlet</servlet-name>
  <url-pattern>/s/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>wcapiServlet</servlet-name>
  <url-pattern>/wcservice/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>wcapiServlet</servlet-name>
  <url-pattern>/wcs/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>portalapiServlet</servlet-name>
  <url-pattern>/168service/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>portalapiServlet</servlet-name>
  <url-pattern>/168s/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>facebookServlet</servlet-name>
  <url-pattern>/facebook/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>facebookServlet</servlet-name>
  <url-pattern>/fb/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>fbapiServlet</servlet-name>
  <url-pattern>/fbservice/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>fbapiServlet</servlet-name>
  <url-pattern>/fbs/*</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>proxyServlet</servlet-name>
  <url-pattern>/proxy</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>JBPMDeployProcessServlet</servlet-name>
  <url-pattern>/jbpm/deployprocess</url-pattern>
  </servlet-mapping>
- <servlet-mapping>
  <servlet-name>workflowDefinitionImageServlet</servlet-name>
  <url-pattern>/workflowdefinitionimage/*</url-pattern>
  </servlet-mapping>
- <session-config>
  <session-timeout>60</session-timeout>
  </session-config>
- <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
- <error-page>
  <exception-type>java.lang.Exception</exception-type>
  <location>/jsp/error.jsp</location>
  </error-page>
  </web-app>

Sample webscript-framework-config-custom.xml

- <alfresco-config>
- <!–  Overriding endpoints to reference a remote Alfresco server
  –>
- <!–    <config evaluator="string-compare" condition="Remote">
      <remote>

         <endpoint>
            <id>alfresco-noauth</id>
            <name>Alfresco - unauthenticated access</name>
            <description>Access to Alfresco Repository WebScripts that do not require authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://yourserver:8080/alfresco/s</endpoint-url>
            <identity>none</identity>
         </endpoint>

         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://yourserver:8080/alfresco/s</endpoint-url>
            <identity>user</identity>
         </endpoint>

         <endpoint>
            <id>alfresco-feed</id>
            <name>Alfresco Feed</name>
            <description>Alfresco Feed - supports basic HTTP authentication</description>
            <connector-id>http</connector-id>
            <endpoint-url>http://yourserver:8080/alfresco/s</endpoint-url>
            <basic-auth>true</basic-auth>
            <identity>user</identity>
         </endpoint>
         
      </remote>
   </config>
   
  –>
- <!–  Overriding endpoints to reference an Alfresco server with NTLM filter enabled
  –>
- <!–  NOTE: the NTLM Authentication Filter must be enabled for both repository and web-tier web.xml
  –>
- <!–  NOTE: if utilising a load balancer between web-tier and repository cluster, the "sticky
  –>
- <!–        sessions" feature of your load balancer must be used when NTLM filter is active
  –>
- <config evaluator="string-compare" condition="Remote">
- <remote>
- <endpoint>
  <id>alfresco</id>
  <name>Alfresco - user access</name>
  <description>Access to Alfresco Repository WebScripts that require user authentication</description>
  <connector-id>alfresco</connector-id>
  <endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
  <identity>user</identity>
  <external-auth>true</external-auth>
  </endpoint>
  </remote>
  </config>
  </alfresco-config>

Any suggestions?

Thanks!

Outcomes