Hi Francois. Once again, sorry for the trouble. I keep treating wonder-slim as if I'm the only one using or touching it, forgetting to check how my changes affect other projects or people. Planning on making a release in the next couple of weeks to fix the situation.
The error you're seeing occurs because I changed the default request handler in wonder-slim, and I'm not handling the default/initial request yet (should probably just be mapped to the Main component by default like in regular WO). I've added some code to SlimSample to show how this can be handled, until I add default handling in wonder-slim itself: https://github.com/undur/wonder-slim-sample/blob/2c129dc3bbe3efabbba259c3a54e89b162f52495/SlimSample/src/main/java/slim/app/Application.java#L18-L42 The only thing really required was the first two lines, mapping "/". The other just demonstrates some of the things you can do with the routing API (under development). You can play around with the URLs listed there (from the server root so invoke them using URLs like: http://localhost:12345/plain-response ). --- Why I'm doing this --- In regular WO/Wonder applications, the component request handler is the default request handler by default (meaning that by default the "Main" component gets returned for the initial request). I've changed this in wonder-slim, so that the default request handler is now a "route handler" that checks the URL that was entered and handles the request appropriately, as seen in the demonstration code above. Note this only applies for URLs that don't start with an adaptor prefix. Regular WO URLs still work and get handled as normal - that initial request failing is the only visible change now if you're not using routing. The basic idea is based off something I've been using for years in my applications. But this particular change makes URLs in development and production identical. So: - https://www.productionsite.com/pages/faq - http://localhost:1200/pages/faq …both look and get handled the same way, and that makes life absolutely lovely. But there's of course really a longer story behind the why. --- Why I'm ACTUALLY doing this --- The 404 response returned by the routing request handler if the route is not handled, gets a marker key in it's userInfo dictionary: https://github.com/undur/wonder-slim/blob/8a29554cc7895f363018f18168601de19f1f842c/ERExtensions/src/main/java/er/extensions/routes/RouteTable.java#L170 If the application is using the Jetty adaptor ( https://github.com/undur/wo-adaptor-jetty ) it will check for this key and if present, the adaptor knows WO didn't handle the request so it passes it to the next handler in Jetty's request handler chain for handling: https://github.com/undur/wo-adaptor-jetty/blob/7e3ffe7101bb6e9e081043fb6036748604629b4b/src/main/java/com/webobjects/appserver/WOAdaptorJetty.java#L216-L219 This allows "WO" applications to exist with other applications, and only urls that WO can handle get handled by WO. "The next handler" in Jetty's chain can be anything. But in my case, that's of course the Jetty based ng-objects adaptor :). This means I can serve WO and ng-objects from the same application, allowing me to gradually migrate apps feature-by-feature. I'll be writing more about this soon, haven't done it yet since it's still under development. And these changes shouldn't affect you at all if you're not using the routing stuff. But here's a sample on my own site. The first URL is served by WO, the second one by NG. - https://www.hugi.io/news/ - https://www.hugi.io/ng/ BTW, the routing stuff is unrelated to/not dependent on any of wonder/wonder-slim and can be moved to a separate library as a standalone feature if anyone is interested in using it. I just added it to "slim" since it was quick and easy. And pardon never being able to answer the simplest question without a wall of text. Cheers, - hugi > On 2 Feb 2026, at 20:30, Francois BIENTZ via Webobjects-dev > <[email protected]> wrote: > > I’m sorry for the previous post > > I tried again the wonder-slim-sample in a wonder-slim "environment" maven > 3.9 , Jdk 25 > > When I run the app , I get this message in the browser : > No route found for URL: /cgi-bin/WebObjects/SlimSample.woa > > Did something change ? > > Thank you > Francois
