I was able to do it by parsing the VB code provided in the link above.
Here's the C# (c sharp) version in case you need it. It works like a charm!
HttpWebRequest LoginReq; HttpWebRequest mainReq; HttpWebResponse LoginResp; HttpWebResponse mainResp; NetworkCredential cred; CookieContainer cookies; StreamReader loginStream; StreamReader mainStream; StreamWriter postStream; XmlDocument xmlDoc; string qryReturn; string postData; string LAWSON_UID = "xxxxxx"; string LAWSON_PWD = "xxxxxx"; cred = new NetworkCredential(LAWSON_UID, LAWSON_PWD); LoginReq = (HttpWebRequest)WebRequest.Create("https://your-domain.com/lawson/portal/"); LoginReq.Method = "GET"; LoginReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"; LoginResp = (HttpWebResponse)LoginReq.GetResponse(); cookies = new CookieContainer(); LoginReq.CookieContainer = cookies; LoginResp.Cookies = LoginReq.CookieContainer.GetCookies(LoginReq.RequestUri); loginStream = new StreamReader(LoginResp.GetResponseStream()); qryReturn = loginStream.ReadToEnd(); mainReq = (HttpWebRequest)WebRequest.Create("https://your-domain.com/sso/SSOServlet"); mainReq.Method = "POST"; mainReq.ContentType = "application/x-www-form-urlencoded"; mainReq.Credentials = cred; mainReq.PreAuthenticate = true; mainReq.Headers.Add(HttpRequestHeader.AcceptLanguage,"en-us"); mainReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"; postData = "_ssoUser="+LAWSON_UID+"&_ssoPass="+LAWSON_PWD+"&_action=LOGIN&_ssoOrigUrl=your-url-encoded-ags-or-dme-call-full-path-including-http://...etc"; mainReq.CookieContainer = cookies; mainReq.ContentLength = postData.Length; postStream = new StreamWriter(mainReq.GetRequestStream()); postStream.Write(postData); postStream.Close(); mainResp = (HttpWebResponse)mainReq.GetResponse(); mainStream = new StreamReader(mainResp.GetResponseStream()); // load an XML doc with the returned data. qryReturn = mainStream.ReadToEnd(); xmlDoc = new XmlDocument(); xmlDoc.LoadXml(qryReturn.ToString());