Good call Paul! That was the problem. I was implementing getLink incorrectly. I corrected it to deal with the friendly URLs. Thanks.
-----Original Message----- From: Paul Ferraro [mailto:[EMAIL PROTECTED] Sent: Friday, July 22, 2005 12:36 PM To: Tapestry users Subject: Re: Friendly URL Servlet Path Problem. How does your custom service implement IEngineService.getLink(...)? If you are closely adhering to the code outlined at http://wiki.apache.org/jakarta-tapestry/FriendlyUrls then this method should look something like this: public static final String SERVICE_NAME = "EnrollmentReportService"; public ILink getLink(IRequestCycle cycle, IComponent component, Object[] parameters) { String suffix = cycle.getEngine().getSpecification().getProperty("org.apache.tapestry.se rvice-url-suffix"); // This ILink implementation refers to the one outlined at http://wiki.apache.org/jakarta-tapestry/FriendlyUrls return new Link(cycle, SERVICE_NAME + suffix, null, parameters); } All custom services should also override AbstractService.getServiceContext() like so: protected String[] getServiceContext(RequestContext requestContext) { return requestContext.getParameters(Tapestry.SERVICE_QUERY_PARAMETER_NAME); } Assuming your service-url-suffix = ".do", this will generate urls that look like: http://localhost:8100/registrar-student/EnrollmentReportService.do Much prettier... Paul Skriloff, Nicholas wrote: >We are using friendly URLs within the confines of Tapestry 3.0.3. I >have a service called EnrollmentReportService declared in our >application file. The service's job is to return the list of courses for >which a student is enrolled as a pdf. IT is working fine most of the >time except for when I run my automated web test. > > <service name="EnrollmentReportService" >class="edu.darden.registrar.student.reports.EnrollmentReportService"/> > >Web.xml has the following > > <servlet-mapping> > <servlet-name>registrar-student</servlet-name> > <url-pattern>*.tap</url-pattern> > </servlet-mapping> > <servlet-mapping> > <servlet-name>registrar-student</servlet-name> > <url-pattern>*.svc</url-pattern> > </servlet-mapping> > >If I am at working directly in firefox and click the submit button, I >get a url generated like follows >http://localhost:8100/registrar-student/Home.tap?service=EnrollmentRepo r >tService&sp=... > >However, when I run my automated Selenium test, where the test clicks >the submit button, I get >http://localhost:8100/registrar-student/home.svc?service=EnrollmentRepo r >tService&sp= > >THIS CAUSES MY HOME PAGE TO COME UP INSTEAD OF MY REPORT. NOTICE THE >DIFFERENCE BETWEEN HOME.TAP? AND HOME.SVC. > >ONCE THAT HAPPENS, EVEN IF I GO BACK INTO FIREFOX AND ACT AS A USER >AGAIN, THE PROBLEM PERSISTS. > >Any Thoughts? > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
