You proxy callback page is being redirected which might be why its not working: *67.202.32.98 - - [20/Jun/2009:22:04:48 +0530] "GET /CRISCAS/pages/proxyCallback?pgtIou=PGTIOU-4-SPxgaDsYqfioTYxsEFKD-cas&pgtId=TGT-8-XNgK3l2A7ocY9cYQfhAQffKPnioi5Yobg9VbaUXdXlREAFYH4l-cas HTTP/1.1" 302 -
*Something is intercepting it seems. On Sat, Jun 20, 2009 at 12:50 PM, Venka Ashtakala <[email protected] > wrote: > Ok, I changed it to this: > > <init-param> > <param-name>proxyCallbackUrl</param-name> > <param-value>https://CLIENT1:8543/CRISCAS/pages/proxyCallback > </param-value> > </init-param> > <init-param> > <param-name>proxyReceptorUrl</param-name> > <param-value>/pages/proxyCallback</param-value> > </init-param> > > and this is what I get in my access logs: > > 127.0.0.1 - - [20/Jun/2009:22:04:23 +0530] "GET /CRISCAS/pages/Login.jsf > HTTP/1.1" 302 - > 67.202.32.98 - - [20/Jun/2009:22:04:47 +0530] "GET > /CRISCAS/pages/proxyCallback HTTP/1.1" 302 - > *67.202.32.98 - - [20/Jun/2009:22:04:48 +0530] "GET > /CRISCAS/pages/proxyCallback?pgtIou=PGTIOU-4-SPxgaDsYqfioTYxsEFKD-cas&pgtId=TGT-8-XNgK3l2A7ocY9cYQfhAQffKPnioi5Yobg9VbaUXdXlREAFYH4l-cas > HTTP/1.1" 302 - > 127.0.0.1 - - [20/Jun/2009:22:04:53 +0530] "GET > /CRISCAS/pages/index.jsf?ticket=ST-4-uOcnG93Sp3MLy6dGp2tE-cas HTTP/1.1" 302 > -* > 127.0.0.1 - - [20/Jun/2009:22:04:59 +0530] "GET /CRISCAS/pages/index.jsf > HTTP/1.1" 200 18963 > > and this is what I get in my server log: > > 2009-06-20 22:04:48,752 DEBUG > [org.jasig.cas.client.authentication.AuthenticationFilter] Constructed > service url: http://vaa.no-ip.org:8180/CRISCAS/pages/index.jsf > 2009-06-20 22:04:48,753 DEBUG > [org.jasig.cas.client.authentication.AuthenticationFilter] redirecting to " > https://ec2-67-202-32-98.compute-1.amazonaws.com:8443/cas/login?service=http%3A%2F%2Fvaa.no-ip.org%3A8180%2FCRISCAS%2Fpages%2Findex.jsf > " > 2009-06-20 22:04:49,127 DEBUG > [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Server > response: <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> > <cas:authenticationSuccess> > <cas:user>test</cas:user> > > > <cas:proxyGrantingTicket>PGTIOU-4-SPxgaDsYqfioTYxsEFKD-cas</cas:proxyGrantingTicket> > > > </cas:authenticationSuccess> > </cas:serviceResponse> > > 2009-06-20 22:04:53,741 INFO > [org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl] No Proxy Ticket > found for PGTIOU-4-SPxgaDsYqfioTYxsEFKD-cas > 2009-06-20 22:04:53,749 DEBUG > [org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter] > Successfully authenticated user: test > 2009-06-20 22:04:53,749 INFO [STDOUT] Successfully authenticated user: > test > 2009-06-20 22:04:53,750 DEBUG > [org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter] > Redirecting after successful ticket validation. > 2009-06-20 22:04:53,751 DEBUG [org.jasig.cas.client.util.CommonUtils] > serviceUrl generated: http://vaa.no-ip.org:8180/CRISCAS/pages/index.jsf > 2009-06-20 22:04:53,751 INFO [STDOUT] Redirecting after successful ticket > validation: http://vaa.no-ip.org:8180/CRISCAS/pages/index.jsf > 2009-06-20 22:04:53,751 DEBUG [org.jasig.cas.client.util.CommonUtils] > serviceUrl generated: http://vaa.no-ip.org:8180/CRISCAS/pages/index.jsf > 2009-06-20 22:04:53,770 DEBUG > [org.jasig.cas.client.session.SingleSignOutFilter] Storing session > identifier for A08B65DE85D2990FBF4506F012FFACB5 > > > So, from what it shows in the access log above, it seems that the proxy > call back is being called before the service ticket is being sent back, so, > I think that is why the proxy ticket is not being saved since when the proxy > ticket is being sent, the user hasn't been authenticated yet by the CAS > client. > > So do I need to write some custom code to pull out the pgtIou and pgtId > query parameters and use the to requery the proxy call back url so that they > get saved? Is that how it is supposed to work? > > Thanks > Venka > > > > 2009/6/20 Scott Battaglia <[email protected]> > > >> These needs to match on the last part: >> <init-param> >> <param-name>proxyCallbackUrl</ >> param-name> >> <param-value> >> https://CLIENT1:8543/CRISCAS/pages/proxyCallback.jsp<https://client1:8543/CRISCAS/pages/proxyCallback.jsp> >> </param-value> >> </init-param> >> <init-param> >> <param-name>proxyReceptorUrl</param-name> >> <param-value>/pages/proxyReceptor.jsp</param-value> >> </init-param> >> >> So they should both be proxyCallback.jsp or proxyReceptor.jsp (though I >> recommend losing the .jsp part) >> >> -Scott >> >> >> On Sat, Jun 20, 2009 at 12:22 PM, Venka Ashtakala < >> [email protected]> wrote: >> >>> Hi Scott, >>> >>> I turned on the debugging for the client and I saw this in the client >>> application logs ( I've bolded some of the more important entries ): >>> >>> 2009-06-20 21:27:33,723 DEBUG >>> [org.jasig.cas.client.session.SingleSignOutFilter] Storing session >>> identifier for A08B65DE85D2990FBF4506F012FFACB5 >>> 2009-06-20 21:27:33,734 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] no ticket and no >>> assertion found >>> 2009-06-20 21:27:33,735 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] Constructed >>> service url: http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> *2009-06-20 21:27:33,735 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] redirecting to " >>> https://CASSERVER:8443/cas/login?service=http%3A%2F%2FCLIENT1%3A8180%2FCRISCAS%2Fpages%2Findex.jsf >>> "* >>> 2009-06-20 21:27:42,335 DEBUG >>> [org.jasig.cas.client.session.SingleSignOutFilter] Storing session >>> identifier for A08B65DE85D2990FBF4506F012FFACB5 >>> 2009-06-20 21:27:42,335 DEBUG >>> [org.jasig.cas.client.session.HashMapBackedSessionMappingStorage] Attempting >>> to remove Session=[A08B65DE85D2990FBF4506F012FFACB5] >>> 2009-06-20 21:27:42,335 DEBUG >>> [org.jasig.cas.client.session.HashMapBackedSessionMappingStorage] No mapping >>> for session found. Ignoring. >>> *2009-06-20 21:28:19,978 DEBUG >>> [org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter] >>> Attempting to validate ticket: ST-3-uxQJfuY3wXU6v12lfXA4-cas >>> 2009-06-20 21:28:19,978 INFO [STDOUT] Attempting to validate ticket: >>> ST-3-uxQJfuY3wXU6v12lfXA4-cas >>> 2009-06-20 21:28:19,979 DEBUG [org.jasig.cas.client.util.CommonUtils] >>> serviceUrl generated: http://CLIENT1:8180/CRISCAS/pages/index.jsf* >>> 2009-06-20 21:28:19,979 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Placing URL >>> parameters in map. >>> 2009-06-20 21:28:19,979 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Calling >>> template URL attribute map. >>> 2009-06-20 21:28:19,979 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Loading custom >>> parameters from configuration. >>> *2009-06-20 21:28:19,980 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Constructing >>> validation url: >>> https://CASSERVER:8443/cas/serviceValidate?service=http%3A%2F%2FCLIENT1%3A8180%2FCRISCAS%2Fpages%2Findex.jsf&ticket=ST-3-uxQJfuY3wXU6v12lfXA4-cas&pgtUrl=https%3A%2F%2FCLIENT1%3A8543%2FCRISCAS%2Fpages%2FproxyCallback.jsp&allowAnyProxy=true >>> * >>> 2009-06-20 21:28:19,980 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Retrieving >>> response from server. >>> 2009-06-20 21:28:22,569 DEBUG >>> [org.jasig.cas.client.session.SingleSignOutFilter] Storing session >>> identifier for 0BECE15D644419414E6A85645C3397D3 >>> 2009-06-20 21:28:22,570 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] no ticket and no >>> assertion found >>> 2009-06-20 21:28:22,570 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] Constructed >>> service url: http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> *2009-06-20 21:28:22,570 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] redirecting to " >>> https://CASSERVER:8443/cas/login?service=http%3A%2F%2FCLIENT1%3A8180%2FCRISCAS%2Fpages%2Findex.jsf >>> "* >>> 2009-06-20 21:28:23,685 DEBUG >>> [org.jasig.cas.client.session.SingleSignOutFilter] Storing session >>> identifier for E3F31081C46925A37E7DE88D92BE1197 >>> 2009-06-20 21:28:23,686 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] no ticket and no >>> assertion found >>> *2009-06-20 21:28:23,686 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] Constructed >>> service url: http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> 2009-06-20 21:28:23,686 DEBUG >>> [org.jasig.cas.client.authentication.AuthenticationFilter] redirecting to " >>> https://CASSERVER:8443/cas/login?service=http%3A%2F%2FCLIENT1%3A8180%2FCRISCAS%2Fpages%2Findex.jsf >>> " >>> 2009-06-20 21:28:24,049 DEBUG >>> [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] Server >>> response: <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> >>> <cas:authenticationSuccess> >>> <cas:user>test</cas:user> >>> >>> >>> <cas:proxyGrantingTicket>PGTIOU-3-VkSlAzDPqA2LUWOOiuEe-cas</cas:proxyGrantingTicket> >>> >>> >>> </cas:authenticationSuccess> >>> </cas:serviceResponse> >>> * >>> *2009-06-20 21:28:27,722 INFO >>> [org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl] No Proxy Ticket >>> found for PGTIOU-3-VkSlAzDPqA2LUWOOiuEe-cas >>> 2009-06-20 21:28:27,729 DEBUG >>> [org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter] >>> Successfully authenticated user: test >>> 2009-06-20 21:28:27,730 INFO [STDOUT] Successfully authenticated user: >>> test >>> 2009-06-20 21:28:27,732 DEBUG >>> [org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter] >>> Redirecting after successful ticket validation. >>> 2009-06-20 21:28:27,732 DEBUG [org.jasig.cas.client.util.CommonUtils] >>> serviceUrl generated: http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> 2009-06-20 21:28:27,733 INFO [STDOUT] Redirecting after successful >>> ticket validation: http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> 2009-06-20 21:28:27,733 DEBUG [org.jasig.cas.client.util.CommonUtils] >>> serviceUrl generated: http://CLIENT1:8180/CRISCAS/pages/index.jsf* >>> 2009-06-20 21:28:27,752 DEBUG >>> [org.jasig.cas.client.session.SingleSignOutFilter] Storing session >>> identifier for A08B65DE85D2990FBF4506F012FFACB5 >>> *2009-06-20 21:28:38,274 INFO [STDOUT] >>> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter: >>> About to continue to http://CLIENT1:8180/CRISCAS/pages/index.jsf >>> * >>> >>> >>> So, even though the ProxyCallBack url was being fired after the user was >>> authenticated, the proxy (granting?) ticket wasn't being stored properly in >>> the client. However, if I went into the access logs for my client, and >>> pulled out the pgtIou and pgtId query parameters from the callback, and used >>> them to call the 'proxyReceptorUrl' like this ( in my browser) : >>> >>> http://CLIENT1:8180/CRISCAS/pages/proxyReceptorUrl?pgtIou=PGTIOU-2-C0vnWWKBlycaZ5vsgM7z-cas&pgtId=TGT-4-KwlFGsURrzghfQ9htGxfs1ojrSAgQMccFQ5aswKWGEVC0tHhdq-cas >>> >>> then everything works correctly. See these log entries: >>> >>> 2009-06-20 21:50:51,484 DEBUG [org.jasig.cas.client.util.CommonUtils] >>> Received proxyGrantingTicketId >>> [TGT-6-RH3FHreecq0QxCQi3ffRAC9aiCnPhcD9odffkLPIeWLfAvaDnD-cas] for >>> proxyGrantingTicketIou [PGTIOU-3-VkSlAzDPqA2LUWOOiuEe-cas] >>> 2009-06-20 21:50:56,100 DEBUG >>> [org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl] Saving >>> ProxyGrantingTicketIOU and ProxyGrantingTicket combo: >>> [PGTIOU-3-VkSlAzDPqA2LUWOOiuEe-cas, >>> TGT-6-RH3FHreecq0QxCQi3ffRAC9aiCnPhcD9odffkLPIeWLfAvaDnD-cas] >>> 2009-06-20 21:50:56,101 INFO [STDOUT] >>> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter: >>> preFilter() false >>> >>> >>> >>> Is this the normal way of doing things? The other thing I noticed was >>> that it seemed like the proxyCallBack url was being executed before the >>> serviceTicket was being sent back from the server; is there a configuration >>> setting on the CAS server that can tell it to do the proxy call back after >>> the service ticket has been sent back to the CAS client? >>> >>> Thanks, >>> Venka >>> >>> >>> 2009/6/18 Scott Battaglia <[email protected]> >>> >>>> Did you increase the level of debugging on the client to see if the >>>> items are being stored? >>>> >>>> Cheers, >>>> Scott >>>> >>>> >>>> On Thu, Jun 18, 2009 at 8:06 AM, Venka Ashtakala < >>>> [email protected]> wrote: >>>> >>>>> Hello CAS friends, >>>>> >>>>> I'm having trouble getting CAS proxy to work. >>>>> >>>>> My client web application is using Cas Java Client 3.1.6 >>>>> and my Cas server is the Java one, v3.3.2. >>>>> >>>>> My Java web application is running in JBoss and it has been configured >>>>> via web.xml, here is the relevant excerpt from web.xml: >>>>> >>>>> <filter> >>>>> <filter-name>CASSingleSignOutFilter</filter-name> >>>>> <filter-class> >>>>> org.jasig.cas.client.session.SingleSignOutFilter >>>>> </filter-class> >>>>> <init-param> >>>>> <param-name>artifactParameterName</param-name> >>>>> <param-value>ticket</param-value> >>>>> </init-param> >>>>> </filter> >>>>> <filter> >>>>> <filter-name>CASAuthenticationFilter</filter-name> >>>>> <filter-class> >>>>> org.jasig.cas.client.authentication.AuthenticationFilter >>>>> </filter-class> >>>>> <init-param> >>>>> <param-name>casServerLoginUrl</param-name> >>>>> <param-value> >>>>> https://CASSERVER:8443/cas/login >>>>> </param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>service</param-name> >>>>> <param-value> >>>>> http://CLIENT1:8180/CRISCAS/pages/index.jsf >>>>> </param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>serverName</param-name> >>>>> <param-value>http://CLIENT1:8180</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>renew</param-name> >>>>> <param-value>false</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>gateway</param-name> >>>>> <param-value>false</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>artifactParameterName</param-name> >>>>> <param-value>ticket</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>serviceParameterName</param-name> >>>>> <param-value>service</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>encodeServiceUrl</param-name> >>>>> <param-value>true</param-value> >>>>> </init-param> >>>>> <!-- >>>>> <init-param> >>>>> <param-name>gatewayStorageClass</param-name> >>>>> <param-value></param-value> >>>>> </init-param> >>>>> --> >>>>> </filter> >>>>> <filter> >>>>> <filter-name>CASValidationFilter</filter-name> >>>>> <filter-class> >>>>> >>>>> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter >>>>> </filter-class> >>>>> <init-param> >>>>> <param-name>casServerUrlPrefix</param-name> >>>>> <param-value>https://CASSERVER:8443/cas</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>serverName</param-name> >>>>> <param-value>http://CLIENT1:8180</param-value> >>>>> </init-param> >>>>> >>>>> <init-param> >>>>> <param-name>proxyCallbackUrl</param-name> >>>>> <param-value> >>>>> https://CLIENT1:8543/CRISCAS/pages/proxyCallback.jsp</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>proxyReceptorUrl</param-name> >>>>> <param-value>/pages/proxyReceptor.jsp</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>allowAnyProxy</param-name> >>>>> <param-value>true</param-value> >>>>> </init-param> >>>>> >>>>> </filter> >>>>> <filter> >>>>> <filter-name>CASHttpServletRequestWrapperFilter</filter-name> >>>>> <filter-class> >>>>> org.jasig.cas.client.util.HttpServletRequestWrapperFilter >>>>> </filter-class> >>>>> </filter> >>>>> <filter> >>>>> <filter-name>CASAssertionThreadLocalFilter</filter-name> >>>>> <filter-class> >>>>> org.jasig.cas.client.util.AssertionThreadLocalFilter >>>>> </filter-class> >>>>> </filter> >>>>> >>>>> >>>>> After I authenticate, I am seeing in the CASSERVER's log that the proxy >>>>> call back is being executed: >>>>> >>>>> CASSERVER's log: >>>>> 2009-06-18 04:55:31,946 INFO >>>>> [org.jasig.cas.authentication.AuthenticationManagerImpl] - >>>>> <AuthenticationHandler: >>>>> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler >>>>> successfully authenticated the user which provided the following >>>>> credentials: [callbackUrl: >>>>> https://CLIENT1:8543/CRISCAS/pages/proxyCallback.jsp]> >>>>> >>>>> and the corresponding entry in CLIENT1's access log: >>>>> 127.0.0.1 - - [18/Jun/2009:17:25:05 +0530] "GET >>>>> /CRISCAS/pages/index.jsf HTTP/1.1" 302 - >>>>> 67.202.32.98 - - [18/Jun/2009:17:25:31 +0530] "GET >>>>> /CRISCAS/pages/proxyCallback.jsp HTTP/1.1" 302 - >>>>> 67.202.32.98 - - [18/Jun/2009:17:25:32 +0530] "GET >>>>> /CRISCAS/pages/proxyCallback.jsp?pgtIou=PGTIOU-8-CftTUgVsNO3onsCrkvZG-cas&pgtId=TGT-16-lZVd5IDlP65Fi1G3D5kwIQaGRUC3CNYBOIoV9WRpckrcCfGmXH-cas >>>>> HTTP/1.1" 302 - >>>>> 127.0.0.1 - - [18/Jun/2009:17:25:39 +0530] "GET >>>>> /CRISCAS/pages/index.jsf?ticket=ST-8-uU0qu6ibehTELg2emucv-cas HTTP/1.1" >>>>> 302 >>>>> - >>>>> 127.0.0.1 - - [18/Jun/2009:17:25:44 +0530] "GET >>>>> /CRISCAS/pages/index.jsf HTTP/1.1" 200 18963 >>>>> >>>>> Unfortunately, in CLIENT1's server log, I got this entry: >>>>> 17:25:39,541 INFO [STDOUT] 18-Jun-2009 5:25:39 PM >>>>> org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl retrieve >>>>> INFO: No Proxy Ticket found for PGTIOU-8-CftTUgVsNO3onsCrkvZG-cas >>>>> >>>>> And, in my Java code, when I try to grab a proxy ticket using this >>>>> call: >>>>> Assertion assertion = (Assertion) >>>>> FacesUtils.getSession().getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION); >>>>> String proxyTicket = assertion.getPrincipal().getProxyTicketFor(" >>>>> http://CLIENT2/"); >>>>> >>>>> the 'proxyTicket' variable is set to null. >>>>> >>>>> So, my questions are: >>>>> 1) Is there something wrong in my setup? >>>>> 2) Do I need to write some code that fires when the >>>>> /CRISCAS/pages/proxyCallback.jsp is fired to process the PGTIOU ticket >>>>> into >>>>> a Proxy Ticket or a Proxy Granting Ticket? >>>>> >>>>> >>>>> My goal is to grab a proxyTicket and then make another web application >>>>> running on the CLIENT2 server, which is also a CASified application. >>>>> >>>>> Any help, comments or suggestions would be greatly appreciated. >>>>> Thanks >>>>> Venka >>>>> >>>>> -- >>>>> Venka Ashtakala, B.Eng, G.C. Eng >>>>> Venka Ashtakala & Associates >>>>> Software Development Consultants >>>>> Office: +1-703-596-0287 >>>>> Fax: +1-815-550-1356 >>>>> Mobile: +91 9886304317 >>>>> [email protected] >>>>> >>>>> -- >>>>> You are currently subscribed to [email protected] as: >>>>> [email protected] >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> To unsubscribe, change settings or access archives, see >>>>> http://www.ja-sig.org/wiki/display/JSG/cas-user >>>>> >>>>> >>>> -- >>>> You are currently subscribed to [email protected] as: >>>> [email protected] >>>> >>>> >>>> >>>> >>>> >>>> To unsubscribe, change settings or access archives, see >>>> http://www.ja-sig.org/wiki/display/JSG/cas-user >>>> >>>> >>> >>> >>> -- >>> Venka Ashtakala, B.Eng, G.C. Eng >>> Venka Ashtakala & Associates >>> Software Development Consultants >>> Office: +1-703-596-0287 >>> Fax: +1-815-550-1356 >>> Mobile: +91 9886304317 >>> [email protected] >>> >>> -- >>> You are currently subscribed to [email protected] as: >>> [email protected] >>> >>> >>> >>> >>> To unsubscribe, change settings or access archives, see >>> http://www.ja-sig.org/wiki/display/JSG/cas-user >>> >>> >> -- >> You are currently subscribed to [email protected] as: >> [email protected] >> >> >> To unsubscribe, change settings or access archives, see >> http://www.ja-sig.org/wiki/display/JSG/cas-user >> >> > > > -- > Venka Ashtakala, B.Eng, G.C. Eng > Venka Ashtakala & Associates > Software Development Consultants > Office: +1-703-596-0287 > Fax: +1-815-550-1356 > Mobile: +91 9886304317 > [email protected] > > -- > You are currently subscribed to [email protected] as: > [email protected] > > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/cas-user > > -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
