Index: lams_central/src/java/org/lamsfoundation/lams/web/development/WDDXPostAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/development/WDDXPostAction.java,v diff -u -r1.1 -r1.2 --- lams_central/src/java/org/lamsfoundation/lams/web/development/WDDXPostAction.java 14 Sep 2005 06:52:10 -0000 1.1 +++ lams_central/src/java/org/lamsfoundation/lams/web/development/WDDXPostAction.java 23 Jan 2006 05:04:42 -0000 1.2 @@ -10,6 +10,7 @@ import java.net.URL; import javax.servlet.ServletException; +import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -62,7 +63,7 @@ log.error(e); throw e; } - + Cookie[] cookies = req.getCookies(); // we've got the URL action and the WDDX input. Now try sending the WDDX to the URL URL url = new URL(action); HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); @@ -72,7 +73,8 @@ urlConn.setUseCaches (false); urlConn.setAllowUserInteraction(false); urlConn.setInstanceFollowRedirects(true); - + urlConn.setRequestProperty("Cookie", getCookieString(cookies)); + // Get packet from input file ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512); // Grows if necessary PrintWriter urlStreamWriter = new PrintWriter(byteStream, true); @@ -112,6 +114,28 @@ return null; } + /** + * This helper method sets up the string which is passed as a parameter to + * conn.setRequestProperty("Cookie" cookeString). It formulates a string + * of the form JSESSIONID=XXXX;JSESSIONIDSSO=XXXX;SYSSESSIONID=XXXX + * @param cookies + * @return + */ + private static String getCookieString(Cookie[] cookies) + { + + StringBuffer cookieString = new StringBuffer(); + for (int i=0; i< cookies.length; i++) + { + cookieString.append(cookies[i].getName()).append("=").append(cookies[i].getValue()); + if (i != (cookies.length-1)) + { + cookieString.append(";"); + } + } + + return cookieString.toString(); + } + - } \ No newline at end of file