On 09/02/2024 16:26, Rick Noel wrote:
Thank you so much Mark for working with me on this issue!
I am taking your recommendation to create a webapps-javaee directory and
place my Tomcat 9 running war file into
that dir so that Tomcat does the compile correctly.
Only problem is that now I cannot figure out what is the correct URL path to my
servlet!
When I place the .war, the old way with the .war being in
webapps/transaction,my tomcat cat log says...
Deploying web application directory [C:\apache-tomcat-9.0.73\webapps\transaction
And I see my application at
C:\apache-tomcat-9.0.73\webapps\transaction\ROOT##0001
And I can hit my servlet via...
http://localhost:8588/XmlRpc
That is all very non-standard.
What I would expect to see is:
foo.war deployed to $CATALINA_BASE/webapps/foo.war and then accessed at
http://localhost:port/foo
In server.xml what do you have configured for the Host's appBase ? Is it
"webapps/transaction" ?
Mark
BUT when I place my .war in webapps-javaee\transaction the tomcat cat log
says..
Deploying web application directory
[C:\apache-tomcat-10.1.18\webapps-javaee\transaction\transaction
And I cannot hit either..
http://localhost:8588/XmlRpc
or
http://localhost:8588/transaction/XmlRpc
The creation of the
C:\apache-tomcat-10.1.18\webapps-javaee\transaction\transaction directory is
baffling me
See attached file
I expect only to see the creation of a
C:\apache-tomcat-10.1.18\webapps-javaee\transaction\ROOT##0001 directory.
That is where I believe my application to be
Here is how I have my context defined in server.xml..
Is my server.xml wrong?
When I place my .war in webapps-javaee\transaction dir?
-Original Message-
From: Mark Thomas
Sent: Thursday, February 8, 2024 5:45 PM
To: users@tomcat.apache.org
Subject: Re: [EXT]Re: [EXT]Re: jakartaee-migration-1.0.7 migration tool failure
[You don't often get email from ma...@apache.org. Learn why this is important
at https://aka.ms/LearnAboutSenderIdentification ]
Confirmed this is user error. There is no bug in the migration tool.
Steps to demonstrate this:
- Create new, blank Eclipse dynamic web project
- Add provided servlet code
- Add required libraries
- Remove referenced to internal logging code
- Add web.xml with basic mapping to "/test"
- Export WAR file
- Deploy to Tomcat
- Start Tomcat
- Request servlet
Servlet loads and then reports an exception during init. That is fine.
It proves that the servlet was loaded which is all we care about at this point.
- Use migration tool to migrate WAR
- Deploy migrated WAR to Tomcat 10.1.x
- Start Tomcat
- Request servlet
Servlet loads and then reports an exception during init. Again, this is fine as
it proves that the Servlet has been converted correctly and can be loaded by
Tomcat 10.1.x.
Best guess, the Eclipse project isn't configured correctly to compile the web
application for Tomcat 10.1.x.
At this point the simplest solution is likely to be:
- take the WAR file that works on Tomcat 9
- drop in webapps-javaee in Tomcat 10 and let Tomcat convert it
automatically
Mark
On 08/02/2024 20:28, Rick Noel wrote:
No I cannot compile from command line.
But I do not really care how eclipse compiles my class anyway.
All I know is that eclipse compiles the class without errors. Using
the jars I tell it to. (all the jars run through the migration tool) But Tomcat
10 can not compile the class using those same migrated jar files.
And my class has no use of javax.server classes in it.
All the javax.server classes are only in the third part jar files
which are supposed to have been converted to use jakarta.server
classes
Is this not a bug with Tomcat migration tool?
Again here is my class that does not compile on Tomcat 10...
It has no reference to javax.server
package com.radiovoodoo.xmlrpc;
import java.io.IOException;
import java.net.MalformedURLException; import java.net.URL;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.XmlRpcRequest; import
org.apache.xmlrpc.server.AbstractReflectiveHandlerMapping.Authenticati
onHandler; import org.apache.xmlrpc.server.XmlRpcHandlerMapping;
import org.apache.xmlrpc.server.PropertyHandlerMapping;
import org.apache.xmlrpc.webserver.XmlRpcServlet;
import com.radiovoodoo.util.Log;
/**
* @(#)RVXmlRpcServlet.java
*
* new XmlRpcServlet, which extends the default Apache XmlRpcServlet
*
* @author Hank Zill
* @version 1.0
*
* Copyright(c) 2005 RadioVoodoo, Inc. All Rights Reserved.
*/
public class RVXmlRpcServlet
extends XmlRpcServlet
{
/**
* this init parameter defines the path to the property file from
* which to load the XML RPC handler mappings.
*
* the path is relative to the CLASSPATH
*/
public static final String RESOURCE_PATH = "property-file-path";
protected XmlRpcHandlerMapping newXmlRpcHandlerMapping()
throws XmlRpcException
{
Proper