hi Colin
import com.google.gwt.user.server.rpc.jakarta.RemoteServiceServlet;
//import com.google.gwt.user.server.rpc.RemoteServiceServlet;
As above, I replaced the import statement as you suggest. Also I
referenced gwt-servlet-jakarta.jar instead of gwt-servlet.jar in my ant
build file; gwt-servlet-deps.jar is also referenced and both do get copied
to the WEB-INF/libs.
But now I get a compile error:
[javac] class file for jakarta.servlet.http.HttpServlet not found
[javac]
/home/david/projects/gwt-2.12.1/dmatthews.org/src/org/dmatthews/server/RemoteIPServiceImpl.java:7:
error: cannot access ServletException
[javac] public class RemoteIPServiceImpl extends RemoteServiceServlet
implements RemoteIPService{
Other than that everything is as in the working 2.10 version. Incidently I
get a 404 with that version also *if* the server class file hasn't been
byte enhanced, so it's not a good indication that the servlet isn't
referenced correctly.
On the development machine javac is v21, but since I've got source="1.8"
target="1.8" nowarn="true" in the javac section of the build file, that's
neither here nor there?
On Tuesday, 3 December 2024 at 15:29:28 UTC Colin Alworth wrote:
> If you are using jakarta.servlet, you shouldn't need to do any bytecode
> fixing, provided you are depending on gwt-servlet-jakarta.jar and have
> changed your servlet implementation to extend from
> com.google.gwt.user.server.rpc.*jakarta*.RemoteServiceServlet.
>
> If you aren't getting any error except 404, that suggests to me that the
> servlet isn't configured to be loaded at all - can you confirm that it is
> listed in the web.xml? If instead you are using annotations for discovery,
> confirm it is jakarta.servlet.annotation.WebServlet rather than javax, and
> consider adding some logging to verify that your servlet is having its
> constructor and init(config) method called at all. If not, something is
> probably misconfigured in how you are signaling to your servlet container
> how it should find and load the required servlets.
>
> On Tuesday, December 3, 2024 at 6:04:49 AM UTC-6 [email protected]
> wrote:
>
>> Thanks Shaik & Jens for your replies, but I've still got the same
>> problem. To recap the project includes a servlet (yes it is gwt-rpc) that
>> simply grabs the remote IP and makes it available to client code. If I
>> browse to the servlet, I should get a 405 signifying that the servlet is
>> running but GET is not supported; but I still get a 404.
>>
>> Prompted by your replies, I saw I had neglected to update the ant build
>> file with gwt-servlet-jakarta.jar instead of gwt-servlet.jar, but nothing
>> else you suggested seems to apply. The web.xml and <project>.gwt.xml files
>> are unchanged and nothing else on the production server (apache, tomcat)
>> has changed.
>>
>> I again tried replacing the server class with a byte enhanced version as
>> I need to do with 2.10.0, but although it does add a few bytes, still I
>> get the 404. Nothing in either apache or tomcat logs apart from the 404s
>> and 405s
>>
>> On Monday, 2 December 2024 at 14:41:12 UTC SHAIK FAYAZ wrote:
>>
>>> Almost path problem it would be or check the path names correctly
>>>
>>> On Sun, Dec 1, 2024, 7:05 AM SHAIK FAYAZ <[email protected]> wrote:
>>>
>>>> 1. Check How the Servlet is Set Up
>>>> Look at the file where your servlet is connected to a URL, like web.xml
>>>> or in your annotations (comments in the code). Make sure the URL path for
>>>> your servlet is correct, so it gets triggered when you visit the right
>>>> link.
>>>> 2. Ensure You Updated All Java Imports
>>>> When you updated from version 2.10.0 to 2.12.1, you need to check if
>>>> your code is using the updated jakarta.* package instead of javax.*. Some
>>>> of the old names have changed, so make sure everything is up to date.
>>>> 3. Make Sure Your Tomcat Version Works with the New Code
>>>> If you're using an older version of Tomcat (like version 9 or below),
>>>> it may not work with the updated jakarta.* code. Make sure you’re using
>>>> Tomcat version 10 or higher, which supports this newer format.
>>>> 4. Check if Your Servlet Supports GET or POST Methods
>>>> Earlier, you got a "405" error, which means the servlet was not set up
>>>> to handle certain requests like GET. You need to make sure that your
>>>> servlet is set up to handle the right type of requests.
>>>> 5. Check Apache Proxy Settings
>>>> If you're using Apache to forward requests to Tomcat, make sure Apache
>>>> is set up correctly so that it passes the requests properly. A wrong
>>>> setting could cause the "404" error you're seeing now.
>>>> 6. Look at Logs for Clues
>>>> Check both the Tomcat and Apache logs. They might give you more details
>>>> about what’s going wrong and help identify the issue.
>>>> 7. Issues with Code Enhancers
>>>> If you’re using tools that automatically modify your code (like
>>>> Hibernate or other libraries), check to make sure they're compatible with
>>>> the new version (2.12.1). These tools sometimes cause problems when you
>>>> upgrade versions.
>>>>
>>>> On Sun, Dec 1, 2024, 5:31 AM Jens <[email protected]> wrote:
>>>>
>>>>> GWT doesn't really have any servlet magic so I doubt that the GWT
>>>>> upgrade has caused the issue. Are you double sure you haven't changed
>>>>> anything else except the GWT library? No Tomcat update? No Apache update?
>>>>> No update of Apache proxy rules?
>>>>>
>>>>> It sounds like your servlet is a GWT-RPC service because you used the
>>>>> Jakarta migration tool. If that is true you can now use
>>>>> gwt-servlet-jakarta.jar and skip the migration tool.
>>>>>
>>>>> -- J.
>>>>>
>>>>> [email protected] schrieb am Samstag, 30. November 2024 um
>>>>> 17:27:59 UTC+1:
>>>>>
>>>>>> hi
>>>>>> I'm trying to upgrade from 2.10.0 to 2.12.1.
>>>>>>
>>>>>> My app runs in tomcat / java 21 with apache using it as a proxy. It's
>>>>>> mostly client code except for a servlet whose sole function is to grab
>>>>>> the
>>>>>> remote ip and make it available to client code. With the 2.10.0 setup I
>>>>>> had
>>>>>> to run the server class through the jakartaee migration tool to make it
>>>>>> work. With everything ok, if you browse to the servlet you get a 405 as
>>>>>> the
>>>>>> GET method is not supported, although that confirms the servlet is
>>>>>> running.
>>>>>>
>>>>>> With unchanged code everything compiles with 2.12.1, but the servlet
>>>>>> will not run. I've tried both the standard compiled class and its byte
>>>>>> enhanced version. Both give a 404 and the ip is not available to client
>>>>>> code. The client code itself otherwise runs as expected.
>>>>>>
>>>>>> Any pointers towards a fix?
>>>>>>
>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "GWT Users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion visit
>>>>> https://groups.google.com/d/msgid/google-web-toolkit/dda2b7e2-3565-4f79-ac99-b90f8cac9522n%40googlegroups.com
>>>>>
>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/dda2b7e2-3565-4f79-ac99-b90f8cac9522n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/google-web-toolkit/5138bbfa-dd9a-4be2-80cb-eb0e2b703a9en%40googlegroups.com.