Merge pull request #565 from apache/dependabot/maven/org.apache.logging.log4j-log4j-bom-2.22.1
Bump org.apache.logging.log4j:log4j-bom from 2.20.0 to 2.22.1
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d45ce8b..5db5dfa 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -35,7 +35,7 @@
- name: Checkout
uses: actions/checkout@v4
- name: Cache Maven Repository
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.m2/repository
key: maven-java-${{ matrix.java }}-${{ hashFiles('**/pom.xml') }}
@@ -60,7 +60,7 @@
- name: Checkout
uses: actions/checkout@v4
- name: Cache Maven Repository
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: ~/.m2/repository
key: maven-deploy-${{ hashFiles('**/pom.xml') }}
diff --git a/modules/clustering/pom.xml b/modules/clustering/pom.xml
index 4a8ce31..95cb069 100644
--- a/modules/clustering/pom.xml
+++ b/modules/clustering/pom.xml
@@ -43,7 +43,7 @@
</scm>
<properties>
- <tomcat.version>10.1.17</tomcat.version>
+ <tomcat.version>10.1.18</tomcat.version>
</properties>
<dependencies>
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
old mode 100755
new mode 100644
index fef1910..5b4daeb
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -305,7 +305,11 @@
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
- <version>6.5.1</version>
+ <version>6.6.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
</dependency>
<!-- These are needed to run JAX-WS tools -->
@@ -414,8 +418,12 @@
the script uses:
./target/axis2-1.8.3-SNAPSHOT/lib
When in doubt, look at the excludes
- section in bin-assembly.xml
- -->
+ section in bin-assembly.xml that
+ could be excluding jars with the
+ wildcards in the filters.
+ To debug see logs for the message:
+ "was removed by one or more filters"
+ -->
<script><![CDATA[
import java.util.jar.*
@@ -432,7 +440,7 @@
jar.close()
println("From dir: " +project.properties['webapp']+ " , found these files: " + expected);
- println("They all must be in this dir: " + project.build.directory + "axis2-" + project.version + "/dist/axis2.war");
+ println("They all must be in this war: " + project.build.directory + "/axis2-" + project.version + "/dist/axis2.war");
jar = new JarInputStream(new FileInputStream(new File(project.build.directory, "axis2-" + project.version + "/dist/axis2.war")))
while(entry = jar.nextJarEntry) {
if (entry.name != 'META-INF/' && !expected.remove(entry.name)) {
diff --git a/modules/fastinfoset/pom.xml b/modules/fastinfoset/pom.xml
index 0c244a1..f3927a8 100644
--- a/modules/fastinfoset/pom.xml
+++ b/modules/fastinfoset/pom.xml
@@ -66,8 +66,8 @@
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.ws.xmlschema</groupId>
diff --git a/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java b/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
index 3fa3035..6ad8a9c 100644
--- a/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
+++ b/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
@@ -26,7 +26,7 @@
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import javax.xml.namespace.QName;
import jakarta.xml.ws.EndpointReference;
import jakarta.xml.ws.WebServiceContext;
diff --git a/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java b/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java
index 50e83e3..68d5aaa 100644
--- a/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java
+++ b/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java
@@ -44,9 +44,9 @@
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import jakarta.xml.ws.WebServiceContext;
import jakarta.xml.ws.handler.MessageContext.Scope;
diff --git a/modules/json/pom.xml b/modules/json/pom.xml
index a79ccea..7169724 100644
--- a/modules/json/pom.xml
+++ b/modules/json/pom.xml
@@ -43,7 +43,7 @@
</scm>
<properties>
- <moshi.version>1.15.0</moshi.version>
+ <moshi.version>1.15.1</moshi.version>
</properties>
<dependencies>
diff --git a/modules/kernel/conf/axis2.xml b/modules/kernel/conf/axis2.xml
index d57b3ad..f31d6e6 100644
--- a/modules/kernel/conf/axis2.xml
+++ b/modules/kernel/conf/axis2.xml
@@ -25,6 +25,7 @@
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
+ <parameter name="enableJSONOnly">false</parameter>
<!--Uncomment if you want to enable file caching for attachments -->
<!--parameter name="cacheAttachments">true</parameter>
diff --git a/modules/kernel/pom.xml b/modules/kernel/pom.xml
index 3da9c64..d85e7ea 100644
--- a/modules/kernel/pom.xml
+++ b/modules/kernel/pom.xml
@@ -66,12 +66,16 @@
<artifactId>javax.transaction-api</artifactId>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-core</artifactId>
</dependency>
<dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
diff --git a/modules/kernel/src/org/apache/axis2/Constants.java b/modules/kernel/src/org/apache/axis2/Constants.java
index c02c509..011e30e 100644
--- a/modules/kernel/src/org/apache/axis2/Constants.java
+++ b/modules/kernel/src/org/apache/axis2/Constants.java
@@ -333,6 +333,7 @@
public static interface Configuration {
public static final String ENABLE_REST = "enableREST";
+ public static final String ENABLE_JSON_ONLY = "enableJSONOnly";
public static final String ENABLE_HTTP_CONTENT_NEGOTIATION = "httpContentNegotiation";
public static final String ENABLE_REST_THROUGH_GET = "restThroughGet";
diff --git a/modules/kernel/src/org/apache/axis2/builder/DiskFileDataSource.java b/modules/kernel/src/org/apache/axis2/builder/DiskFileDataSource.java
index 34160e9..c62269f 100644
--- a/modules/kernel/src/org/apache/axis2/builder/DiskFileDataSource.java
+++ b/modules/kernel/src/org/apache/axis2/builder/DiskFileDataSource.java
@@ -24,7 +24,7 @@
import jakarta.activation.DataSource;
-import org.apache.commons.fileupload.disk.DiskFileItem;
+import org.apache.commons.fileupload2.core.DiskFileItem;
public class DiskFileDataSource implements DataSource {
@@ -50,8 +50,8 @@
return this.diskFileItem.getOutputStream();
}
- public void delete() {
+ public void delete() throws IOException {
this.diskFileItem.delete();
}
-}
\ No newline at end of file
+}
diff --git a/modules/kernel/src/org/apache/axis2/builder/MultipartFormDataBuilder.java b/modules/kernel/src/org/apache/axis2/builder/MultipartFormDataBuilder.java
index 8b2c1a5..7da0a1e 100644
--- a/modules/kernel/src/org/apache/axis2/builder/MultipartFormDataBuilder.java
+++ b/modules/kernel/src/org/apache/axis2/builder/MultipartFormDataBuilder.java
@@ -20,12 +20,15 @@
package org.apache.axis2.builder;
import java.io.InputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import jakarta.activation.DataHandler;
import jakarta.activation.DataSource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
@@ -34,12 +37,15 @@
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.kernel.http.HTTPConstants;
import org.apache.axis2.util.MultipleEntryHashMap;
-import org.apache.commons.fileupload.FileItemFactory;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.fileupload.servlet.ServletRequestContext;
+import org.apache.commons.fileupload2.core.DiskFileItem;
+import org.apache.commons.fileupload2.core.DiskFileItemFactory;
+import org.apache.commons.fileupload2.core.FileItemFactory;
+import org.apache.commons.fileupload2.core.FileUploadException;
+import org.apache.commons.fileupload2.core.ParameterParser;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletRequestContext;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload;
+import org.apache.commons.io.Charsets;
public class MultipartFormDataBuilder implements Builder {
@@ -50,8 +56,13 @@
MessageContext messageContext)
throws AxisFault {
MultipleEntryHashMap parameterMap;
- HttpServletRequest request = (HttpServletRequest) messageContext
+ HttpServletRequest request = null;
+ try {
+ request = (HttpServletRequest) messageContext
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
if (request == null) {
throw new AxisFault("Cannot create DocumentElement without HttpServletRequest");
}
@@ -82,7 +93,7 @@
MultipleEntryHashMap parameterMap = new MultipleEntryHashMap();
- List items = parseRequest(new ServletRequestContext(request));
+ List items = parseRequest(new JakartaServletRequestContext(request));
Iterator iter = items.iterator();
while (iter.hasNext()) {
DiskFileItem diskFileItem = (DiskFileItem)iter.next();
@@ -105,12 +116,13 @@
return parameterMap;
}
- private static List parseRequest(ServletRequestContext requestContext)
+ private static List parseRequest(JakartaServletRequestContext requestContext)
throws FileUploadException {
// Create a factory for disk-based file items
- FileItemFactory factory = new DiskFileItemFactory();
- // Create a new file upload handler
- ServletFileUpload upload = new ServletFileUpload(factory);
+ DiskFileItemFactory fileItemFactory = DiskFileItemFactory.builder()
+ .setCharset(StandardCharsets.UTF_8)
+ .get();
+ JakartaServletFileUpload upload = new JakartaServletFileUpload<>(fileItemFactory);
// There must be a limit.
// This is for contentType="multipart/form-data"
upload.setFileCountMax(1L);
@@ -121,17 +133,20 @@
private String getTextParameter(DiskFileItem diskFileItem,
String characterEncoding) throws Exception {
- String encoding = diskFileItem.getCharSet();
-
+ String encoding = null;
+ final ParameterParser parser = new ParameterParser();
+ parser.setLowerCaseNames(true);
+ // Parameter parser can handle null input
+ final Map<String, String> params = parser.parse(diskFileItem.getContentType(), ';');
+ encoding = params.get("charset");
if (encoding == null) {
encoding = characterEncoding;
}
-
String textValue;
if (encoding == null) {
textValue = new String(diskFileItem.get());
} else {
- textValue = new String(diskFileItem.get(), encoding);
+ textValue = new String(diskFileItem.get(), Charsets.toCharset(diskFileItem.getCharset(), StandardCharsets.ISO_8859_1));
}
return textValue;
diff --git a/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java b/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
index a580497..5cab93b 100644
--- a/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
+++ b/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
@@ -33,7 +33,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.servlet.ServletConfig;
+import jakarta.servlet.ServletConfig;
import javax.xml.stream.XMLStreamException;
import java.io.File;
import java.io.FileInputStream;
diff --git a/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java b/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java
index 24a96b0..472c019 100644
--- a/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java
+++ b/modules/kernel/src/org/apache/axis2/engine/DispatchPhase.java
@@ -45,7 +45,7 @@
import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
diff --git a/modules/kernel/src/org/apache/axis2/kernel/http/HTTPConstants.java b/modules/kernel/src/org/apache/axis2/kernel/http/HTTPConstants.java
index b6cc840..9a11dc4 100644
--- a/modules/kernel/src/org/apache/axis2/kernel/http/HTTPConstants.java
+++ b/modules/kernel/src/org/apache/axis2/kernel/http/HTTPConstants.java
@@ -37,6 +37,7 @@
public static final String MEDIA_TYPE_APPLICATION_XML = "application/xml";
public static final String MEDIA_TYPE_APPLICATION_SOAP_XML = "application/soap+xml";
public static final String MEDIA_TYPE_APPLICATION_ECHO_XML = "application/echo+xml";
+ public static final String MEDIA_TYPE_APPLICATION_JSON = "application/json";
/**
* Field REQUEST_URI
diff --git a/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java b/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
index a2e95d7..fcb53a0 100644
--- a/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
+++ b/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
@@ -44,8 +44,8 @@
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
import javax.wsdl.Definition;
import javax.wsdl.WSDLException;
import javax.wsdl.xml.WSDLReader;
diff --git a/modules/osgi/pom.xml b/modules/osgi/pom.xml
index 9fa20d1..5597637 100644
--- a/modules/osgi/pom.xml
+++ b/modules/osgi/pom.xml
@@ -45,8 +45,8 @@
<dependencies>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
@@ -98,6 +98,16 @@
<version>1.5.0</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.jakartars</artifactId>
+ <version>2.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.servlet</artifactId>
+ <version>2.0.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/modules/osgi/src/org/apache/axis2/osgi/OSGiAxisServlet.java b/modules/osgi/src/org/apache/axis2/osgi/OSGiAxisServlet.java
index f9493c9..0747f8f 100644
--- a/modules/osgi/src/org/apache/axis2/osgi/OSGiAxisServlet.java
+++ b/modules/osgi/src/org/apache/axis2/osgi/OSGiAxisServlet.java
@@ -19,9 +19,9 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.transport.http.AxisServlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
/**
* This servlet is used with the association of HttpService.
diff --git a/modules/osgi/src/org/apache/axis2/osgi/core/web/ServletDescriptor.java b/modules/osgi/src/org/apache/axis2/osgi/core/web/ServletDescriptor.java
index 23adc04..0b1a936 100644
--- a/modules/osgi/src/org/apache/axis2/osgi/core/web/ServletDescriptor.java
+++ b/modules/osgi/src/org/apache/axis2/osgi/core/web/ServletDescriptor.java
@@ -19,7 +19,7 @@
package org.apache.axis2.osgi.core.web;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServlet;
import java.util.Hashtable;
/**
diff --git a/modules/osgi/src/org/apache/axis2/osgi/core/web/WebApp.java b/modules/osgi/src/org/apache/axis2/osgi/core/web/WebApp.java
index 7cca428..d601075 100644
--- a/modules/osgi/src/org/apache/axis2/osgi/core/web/WebApp.java
+++ b/modules/osgi/src/org/apache/axis2/osgi/core/web/WebApp.java
@@ -22,25 +22,34 @@
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.servlet.context.ServletContextHelper;
+import org.osgi.service.servlet.runtime.HttpServiceRuntime;
import org.osgi.service.http.HttpContext;
import org.osgi.service.http.HttpService;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.net.URL;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.HashMap;
/**
*
* WebApp is a utility class for describing a WebApplication to be deployed into an OSGi
- * HTTP Service implementation. The WebApp implementation extends the OSGi <code>HttpContext</code>.
+ * HTTP Service implementation. The WebApp implementation extends the OSGi <code>ServletContextHelper</code>.
*/
-public class WebApp implements HttpContext {
+public class WebApp extends ServletContextHelper {
protected static WebAppDescriptor webAppDescriptor = null;
- protected HttpService httpService;
+ protected HttpServiceRuntime httpServiceRuntime;
protected ServiceReference sRef;
+ protected Set<ServiceRegistration<?>> serviceRegistrations = new HashSet<ServiceRegistration<?>>();
+
public WebApp(WebAppDescriptor descriptor) {
webAppDescriptor = descriptor;
}
@@ -57,9 +66,9 @@
return url;
}
- public boolean handleSecurity(HttpServletRequest request,
- HttpServletResponse response) throws java.io.IOException {
- return true;
+ @Override
+ public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ return true;
}
/**
@@ -67,19 +76,22 @@
* @param bc the BundleContext of the WebApp host
* @throws BundleException
*/
- public void start(BundleContext bc) throws BundleException {
- if ((sRef = bc.getServiceReference("org.osgi.service.http.HttpService")) == null)
- throw new BundleException("Failed to get HttpServiceReference");
- if ((httpService = (HttpService) bc.getService(sRef)) == null)
- throw new BundleException("Failed to get HttpService");
+ public void start(BundleContext bc) throws BundleException {
+ ServiceReference<HttpServiceRuntime> sRef = bc.getServiceReference(HttpServiceRuntime.class);
+ if (sRef == null)
+ throw new BundleException("Failed to get ServiceReference");
+ if ((httpServiceRuntime = bc.getService(sRef)) == null)
+ throw new BundleException("Failed to get httpServiceRuntime");
try {
WebAppDescriptor wad = webAppDescriptor;
for (int i = 0; i < wad.servlet.length; i++) {
ServletDescriptor servlet = wad.servlet[i];
- httpService.registerServlet(wad.context + servlet.subContext,
- servlet.servlet, servlet.initParameters, this);
+ // ServiceRegistration<?> registerService(String clazz, Object service, Dictionary<String, ?> properties);
+ // Dictionary<String,Object> props = new Hashtable<>(2);
+ // serviceRegistrations.add(bc.registerService(wad.context + servlet.subContext, servlet.servlet, servlet.initParameters, this));
+ serviceRegistrations.add(bc.registerService(ServletContextHelper.class, this, servlet.initParameters));
}
} catch (Exception e) {
e.printStackTrace();
@@ -93,19 +105,18 @@
* @throws BundleException
*/
public void stop(BundleContext bc) throws BundleException {
- try {
- for (int i = 0; i < webAppDescriptor.servlet.length; i++) {
- ServletDescriptor servlet = webAppDescriptor.servlet[i];
-
- httpService.unregister(webAppDescriptor.context
- + servlet.subContext);
- }
- bc.ungetService(sRef);
- httpService = null;
- webAppDescriptor = null;
- } catch (Exception e) {
- throw new BundleException("Failed to unregister resources", e);
- }
+ try {
+ for (ServiceRegistration<?> serviceRegistration : serviceRegistrations) {
+ serviceRegistration.unregister();
+ }
+
+ serviceRegistrations.clear();
+ bc.ungetService(sRef);
+ httpServiceRuntime = null;
+ webAppDescriptor = null;
+ } catch (Exception e) {
+ throw new BundleException("Failed to unregister resources", e);
+ }
}
public static WebAppDescriptor getWebAppDescriptor() {
@@ -116,12 +127,12 @@
WebApp.webAppDescriptor = webAppDescriptor;
}
- public HttpService getHttpService() {
- return httpService;
+ public HttpServiceRuntime getHttpServiceRuntime() {
+ return httpServiceRuntime;
}
- public void setHttpService(HttpService httpService) {
- this.httpService = httpService;
+ public void setHttpServiceRuntime(HttpServiceRuntime httpServiceRuntime) {
+ this.httpServiceRuntime = httpServiceRuntime;
}
public ServiceReference getSRef() {
diff --git a/modules/osgi/src/org/apache/axis2/osgi/internal/Activator.java b/modules/osgi/src/org/apache/axis2/osgi/internal/Activator.java
index 3323afe..f363afd 100644
--- a/modules/osgi/src/org/apache/axis2/osgi/internal/Activator.java
+++ b/modules/osgi/src/org/apache/axis2/osgi/internal/Activator.java
@@ -28,7 +28,7 @@
import org.osgi.framework.*;
import org.osgi.util.tracker.ServiceTracker;
-import javax.servlet.Servlet;
+import jakarta.servlet.Servlet;
/**
* Activator will set the necessary parameters that initiate Axis2 OSGi integration
diff --git a/modules/saaj/pom.xml b/modules/saaj/pom.xml
index 858cd13..6b69c5f 100644
--- a/modules/saaj/pom.xml
+++ b/modules/saaj/pom.xml
@@ -72,7 +72,7 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>${project.version}</version>
@@ -88,6 +88,15 @@
<artifactId>jakarta.xml.soap-api</artifactId>
</dependency>
<dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.ee9</groupId>
+ <artifactId>jetty-ee9-nested</artifactId>
+ <version>12.0.6</version>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
diff --git a/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java b/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
index a5463de..3527ad7 100644
--- a/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
+++ b/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
@@ -45,6 +45,9 @@
import org.apache.axis2.kernel.http.HTTPConstants;
import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import jakarta.activation.DataHandler;
import javax.xml.namespace.QName;
import jakarta.xml.soap.AttachmentPart;
@@ -76,6 +79,8 @@
*/
public class SOAPConnectionImpl extends SOAPConnection {
+ private static Log log = LogFactory.getLog(SOAPConnectionImpl.class);
+
/** Attribute which keeps track of whether this connection has been closed */
private boolean closed = false;
@@ -430,6 +435,7 @@
if (responseCode == HttpURLConnection.HTTP_INTERNAL_ERROR) {
isFailure = true;
} else if ((responseCode / 100) != 2) {
+ log.error("Error code: " +responseCode+ " , received on URL: " + url);
throw new SOAPException("Error response: (" + responseCode
+ httpCon.getResponseMessage());
}
diff --git a/modules/saaj/test/org/apache/axis2/saaj/SOAPConnectionTest.java b/modules/saaj/test/org/apache/axis2/saaj/SOAPConnectionTest.java
index 501a8ed..fe2a6d9 100644
--- a/modules/saaj/test/org/apache/axis2/saaj/SOAPConnectionTest.java
+++ b/modules/saaj/test/org/apache/axis2/saaj/SOAPConnectionTest.java
@@ -21,16 +21,19 @@
import junit.framework.Assert;
-import org.eclipse.jetty.server.Handler;
-import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.ee9.nested.AbstractHandler;
+import org.eclipse.jetty.ee9.nested.ContextHandler;
+import org.eclipse.jetty.ee9.nested.Handler;
+import org.eclipse.jetty.ee9.nested.HandlerCollection;
+import org.eclipse.jetty.ee9.nested.Request;
+import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.handler.AbstractHandler;
import org.junit.Test;
import org.junit.runner.RunWith;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import jakarta.xml.soap.MessageFactory;
import jakarta.xml.soap.SOAPBody;
import jakarta.xml.soap.SOAPConnection;
@@ -108,6 +111,11 @@
}
+ /* FIXME: AXIS2-6051, why is the error below happening with Jetty 12?
+ *
+ * java.lang.ClassNotFoundException: org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension
+ * Just adding axis2-jaxws is a circular reference.
+ *
@Validated @Test
public void testGet() throws Exception {
Server server = new Server(0);
@@ -127,7 +135,10 @@
}
}
};
- server.setHandler(handler);
+
+ ContextHandler context = new ContextHandler(server);
+ HandlerCollection ee9HandlerCollection = new HandlerCollection();
+ context.setHandler(ee9HandlerCollection);
server.start();
try {
SOAPConnectionFactory sf = new SOAPConnectionFactoryImpl();
@@ -139,4 +150,5 @@
server.stop();
}
}
+ */
}
diff --git a/modules/samples/book/pom.xml b/modules/samples/book/pom.xml
index 78a2a69..27a439c 100644
--- a/modules/samples/book/pom.xml
+++ b/modules/samples/book/pom.xml
@@ -29,9 +29,9 @@
<dependencies>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/modules/samples/book/src/webapp/WEB-INF/web.xml b/modules/samples/book/src/webapp/WEB-INF/web.xml
index f2ea323..d6613fc 100644
--- a/modules/samples/book/src/webapp/WEB-INF/web.xml
+++ b/modules/samples/book/src/webapp/WEB-INF/web.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -18,11 +18,11 @@
~ under the License.
-->
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
<servlet>
<servlet-name>AxisServlet</servlet-name>
diff --git a/modules/samples/java_first_jaxws/pom.xml b/modules/samples/java_first_jaxws/pom.xml
index 5df959f..0f2f470 100644
--- a/modules/samples/java_first_jaxws/pom.xml
+++ b/modules/samples/java_first_jaxws/pom.xml
@@ -42,8 +42,8 @@
<dependencies>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/modules/samples/java_first_jaxws/src/webapp/WEB-INF/web.xml b/modules/samples/java_first_jaxws/src/webapp/WEB-INF/web.xml
index f2ea323..8eb92f3 100644
--- a/modules/samples/java_first_jaxws/src/webapp/WEB-INF/web.xml
+++ b/modules/samples/java_first_jaxws/src/webapp/WEB-INF/web.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -17,12 +17,11 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
<servlet>
<servlet-name>AxisServlet</servlet-name>
diff --git a/modules/samples/jaxws-samples/pom.xml b/modules/samples/jaxws-samples/pom.xml
index ad27dcc..810e99f 100644
--- a/modules/samples/jaxws-samples/pom.xml
+++ b/modules/samples/jaxws-samples/pom.xml
@@ -41,8 +41,8 @@
<dependencies>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/EchoPingSampleServlet.java b/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/EchoPingSampleServlet.java
index a75fa61..b013336 100644
--- a/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/EchoPingSampleServlet.java
+++ b/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/EchoPingSampleServlet.java
@@ -23,12 +23,12 @@
import org.apache.axis2.metadata.registry.MetadataFactoryRegistry;
import org.apache.axis2.deployment.FileSystemConfigurator;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;
@@ -188,4 +188,4 @@
private URL getWSDLURL(String file) throws MalformedURLException {
return getServletConfig().getServletContext().getResource(file);
}
-}
\ No newline at end of file
+}
diff --git a/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/MTOMSampleServlet.java b/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/MTOMSampleServlet.java
index 1516779..0689825 100644
--- a/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/MTOMSampleServlet.java
+++ b/modules/samples/jaxws-samples/src/main/org/apache/axis2/jaxws/samples/servlet/MTOMSampleServlet.java
@@ -21,10 +21,10 @@
import org.apache.axis2.jaxws.samples.client.mtom.SampleMTOMTests;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -40,7 +40,7 @@
* web.servlet-mapping
* url-pattern="/MTOMSampleServlet"
*/
-public class MTOMSampleServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
+public class MTOMSampleServlet extends jakarta.servlet.http.HttpServlet implements jakarta.servlet.Servlet {
private static final long serialVersionUID = 1039362106123493799L;
private static final String INDEX_JSP_LOCATION = "/WEB-INF/jsp/demoMTOM.jsp";
private String uriString = "";
@@ -231,4 +231,4 @@
req.setAttribute("messageR", "\n" + "Response: \n" + received
+ "\n");
}
-}
\ No newline at end of file
+}
diff --git a/modules/samples/jaxws-samples/src/webapp/WEB-INF/web.xml b/modules/samples/jaxws-samples/src/webapp/WEB-INF/web.xml
index a2adc81..1d50b52 100644
--- a/modules/samples/jaxws-samples/src/webapp/WEB-INF/web.xml
+++ b/modules/samples/jaxws-samples/src/webapp/WEB-INF/web.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -18,9 +18,11 @@
~ under the License.
-->
-<web-app id="jaxws-samples" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
<servlet>
<servlet-name>AxisServlet</servlet-name>
diff --git a/modules/samples/json/resources/axis2.xml b/modules/samples/json/resources/axis2.xml
index edf0707..e498db0 100644
--- a/modules/samples/json/resources/axis2.xml
+++ b/modules/samples/json/resources/axis2.xml
@@ -25,6 +25,7 @@
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
+ <parameter name="enableJSONOnly">false</parameter>
<!--Uncomment if you want to enable file caching for attachments -->
<!--parameter name="cacheAttachments">true</parameter>
diff --git a/modules/samples/transport/https-sample/httpsService/src/main/webapp/WEB-INF/web.xml b/modules/samples/transport/https-sample/httpsService/src/main/webapp/WEB-INF/web.xml
index 376b871..2cd6218 100644
--- a/modules/samples/transport/https-sample/httpsService/src/main/webapp/WEB-INF/web.xml
+++ b/modules/samples/transport/https-sample/httpsService/src/main/webapp/WEB-INF/web.xml
@@ -12,11 +12,12 @@
License for the ~ specific language governing permissions and limitations
~ under the License. -->
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
-<web-app>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
@@ -26,4 +27,4 @@
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
-</web-app>
\ No newline at end of file
+</web-app>
diff --git a/modules/samples/userguide/src/userguide/springbootdemo/pom.xml b/modules/samples/userguide/src/userguide/springbootdemo/pom.xml
index 64aaa62..8b8a523 100644
--- a/modules/samples/userguide/src/userguide/springbootdemo/pom.xml
+++ b/modules/samples/userguide/src/userguide/springbootdemo/pom.xml
@@ -127,9 +127,9 @@
</exclusions>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/modules/soapmonitor/module/pom.xml b/modules/soapmonitor/module/pom.xml
index 450a156..dada17d 100644
--- a/modules/soapmonitor/module/pom.xml
+++ b/modules/soapmonitor/module/pom.xml
@@ -50,6 +50,10 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-soapmonitor-servlet</artifactId>
<version>${project.version}</version>
diff --git a/modules/soapmonitor/servlet/pom.xml b/modules/soapmonitor/servlet/pom.xml
index 26bd156..fbd9156 100644
--- a/modules/soapmonitor/servlet/pom.xml
+++ b/modules/soapmonitor/servlet/pom.xml
@@ -45,8 +45,8 @@
<dependencies>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
diff --git a/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet/SOAPMonitorService.java b/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet/SOAPMonitorService.java
index f7513f6..1a0e997 100644
--- a/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet/SOAPMonitorService.java
+++ b/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet/SOAPMonitorService.java
@@ -22,11 +22,11 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index b38f162..f9350d7 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -64,6 +64,10 @@
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/modules/spring/src/org/apache/axis2/extensions/spring/receivers/SpringServletContextObjectSupplier.java b/modules/spring/src/org/apache/axis2/extensions/spring/receivers/SpringServletContextObjectSupplier.java
index 7ff2340..e5132e2 100644
--- a/modules/spring/src/org/apache/axis2/extensions/spring/receivers/SpringServletContextObjectSupplier.java
+++ b/modules/spring/src/org/apache/axis2/extensions/spring/receivers/SpringServletContextObjectSupplier.java
@@ -30,8 +30,8 @@
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
public class SpringServletContextObjectSupplier implements ServiceObjectSupplier {
diff --git a/modules/testutils/pom.xml b/modules/testutils/pom.xml
index 5ba8ec6..607ac60 100644
--- a/modules/testutils/pom.xml
+++ b/modules/testutils/pom.xml
@@ -56,8 +56,22 @@
<artifactId>jakarta.xml.ws-api</artifactId>
</dependency>
<dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-webapp</artifactId>
+ <artifactId>jetty-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.ee10</groupId>
+ <artifactId>jetty-ee10-webapp</artifactId>
+ <version>12.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.ee9</groupId>
+ <artifactId>jetty-ee9-nested</artifactId>
+ <version>12.0.6</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
diff --git a/modules/testutils/src/main/java/org/apache/axis2/testutils/JettyServer.java b/modules/testutils/src/main/java/org/apache/axis2/testutils/JettyServer.java
index 12cabc1..a56dd75 100644
--- a/modules/testutils/src/main/java/org/apache/axis2/testutils/JettyServer.java
+++ b/modules/testutils/src/main/java/org/apache/axis2/testutils/JettyServer.java
@@ -20,6 +20,8 @@
import java.io.File;
import java.io.FileOutputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.math.BigInteger;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
@@ -33,15 +35,15 @@
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import org.eclipse.jetty.ee10.servlet.ServletHolder;
+import org.eclipse.jetty.ee10.webapp.WebAppContext;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.eclipse.jetty.webapp.WebAppContext;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.transport.http.AxisServlet;
@@ -185,7 +187,8 @@
log.error("Failed to create Axis2 webapp directory: " + webappDir.getAbsolutePath());
}
- context.setResourceBase(webappDir.getAbsolutePath());
+ Path webappPath = Paths.get(webappDir.getAbsolutePath());
+ context.setBaseResource(context.getResourceFactory().newResource(webappPath));
context.setContextPath("/axis2");
context.setParentLoaderPriority(true);
context.setThrowUnavailableOnStartupException(true);
@@ -211,7 +214,7 @@
server.start();
}
catch (SecurityException e) {
- if (e.getMessage().equals("class \"javax.servlet.ServletRequestListener\"'s signer information does not match signer information of other classes in the same package")) {
+ if (e.getMessage().equals("class \"jakarta.servlet.ServletRequestListener\"'s signer information does not match signer information of other classes in the same package")) {
log.error(
"It is likely your test classpath contains multiple different versions of servlet api.\n" +
"If you are running this test in an IDE, please configure it to exclude Rampart's core module servlet api dependency.");
diff --git a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/HttpExchangeImpl.java b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/HttpExchangeImpl.java
index 45f2058..7763b70 100644
--- a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/HttpExchangeImpl.java
+++ b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/HttpExchangeImpl.java
@@ -27,8 +27,8 @@
import java.util.Map;
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import jakarta.xml.ws.spi.http.HttpContext;
import jakarta.xml.ws.spi.http.HttpExchange;
diff --git a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSEndpoint.java b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSEndpoint.java
index 175fbf3..3903939 100644
--- a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSEndpoint.java
+++ b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSEndpoint.java
@@ -22,6 +22,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.eclipse.jetty.ee9.nested.ContextHandler;
+import org.eclipse.jetty.ee9.nested.HandlerCollection;
import org.eclipse.jetty.server.NetworkConnector;
import org.eclipse.jetty.server.Server;
import org.junit.rules.ExternalResource;
@@ -41,7 +43,11 @@
server = new Server(0);
HttpContextImpl httpContext = new HttpContextImpl();
Endpoint.create(implementor).publish(httpContext);
- server.setHandler(new JAXWSHandler(httpContext));
+
+ ContextHandler context = new ContextHandler(server);
+ HandlerCollection ee9HandlerCollection = new HandlerCollection();
+ ee9HandlerCollection.addHandler(new JAXWSHandler(httpContext));
+ context.setHandler(ee9HandlerCollection);
server.start();
}
diff --git a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSHandler.java b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSHandler.java
index 9fc8306..181bfec 100644
--- a/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSHandler.java
+++ b/modules/testutils/src/main/java/org/apache/axis2/testutils/jaxws/JAXWSHandler.java
@@ -20,12 +20,12 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.ee9.nested.Request;
+import org.eclipse.jetty.ee9.nested.AbstractHandler;
final class JAXWSHandler extends AbstractHandler {
private final HttpContextImpl httpContext;
diff --git a/modules/tool/archetype/quickstart-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml b/modules/tool/archetype/quickstart-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
index 0aec080..71923ab 100644
--- a/modules/tool/archetype/quickstart-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
+++ b/modules/tool/archetype/quickstart-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
@@ -19,11 +19,12 @@
~ under the License.
-->
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
-<web-app>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
@@ -33,4 +34,4 @@
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
-</web-app>
\ No newline at end of file
+</web-app>
diff --git a/modules/tool/axis2-eclipse-codegen-plugin/pom.xml b/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
index 94a12d7..7215b46 100644
--- a/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
+++ b/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
@@ -45,43 +45,43 @@
<dependencies>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.jobs</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.resources</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.common</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.jface</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.ide</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.workbench</artifactId>
</dependency>
<dependency>
diff --git a/modules/tool/axis2-eclipse-service-plugin/pom.xml b/modules/tool/axis2-eclipse-service-plugin/pom.xml
index 6aac377..4d62c99 100644
--- a/modules/tool/axis2-eclipse-service-plugin/pom.xml
+++ b/modules/tool/axis2-eclipse-service-plugin/pom.xml
@@ -50,35 +50,35 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.ide</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.jface</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.workbench</artifactId>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.common</artifactId>
</dependency>
<dependency>
diff --git a/modules/transport/http/pom.xml b/modules/transport/http/pom.xml
index 56d2521..8e40995 100644
--- a/modules/transport/http/pom.xml
+++ b/modules/transport/http/pom.xml
@@ -74,6 +74,10 @@
<artifactId>axiom-truth</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
index 0e96f58..23a3d81 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
@@ -23,9 +23,9 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.util.OnDemandLogger;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
index 86f11bc..8c874c1 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
@@ -40,7 +40,7 @@
import org.apache.commons.logging.LogFactory;
import javax.xml.stream.FactoryConfigurationError;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.MalformedURLException;
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
index 7780481..b9a5c07 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
@@ -56,12 +56,12 @@
import org.apache.axis2.util.MessageContextBuilder;
import org.apache.axis2.util.OnDemandLogger;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -81,7 +81,7 @@
* <li>There must be one instance of {@link TransportListener} for each protocol, but this servlet
* may implement both HTTP and HTTPS.
* <li>There is a collision between {@link TransportListener#destroy()} and
- * {@link javax.servlet.Servlet#destroy()}.
+ * {@link jakarta.servlet.Servlet#destroy()}.
* </ul>
* The {@link TransportListener} implementation is provided by {@link AxisServletListener}. An
* instance of that class must be declared in <tt>axis2.xml</tt> for each protocol (HTTP/HTTPS) that
@@ -105,6 +105,7 @@
protected transient String contextRoot = null;
protected boolean disableREST = false;
+ protected boolean enableJSONOnly = false;
private static final String LIST_SERVICES_SUFFIX = "/services/listServices";
private static final String LIST_FAULTY_SERVICES_SUFFIX = "/services/ListFaultyServices";
private boolean closeReader = true;
@@ -153,7 +154,12 @@
MessageContext msgContext;
OutputStream out = response.getOutputStream();
String contentType = request.getContentType();
- if (!HTTPTransportUtils.isRESTRequest(contentType)) {
+ if (enableJSONOnly && (contentType == null || contentType.isEmpty() || !HTTPTransportUtils.isJSONRequest(contentType))) {
+ log.error("doPost() returning with no action taken, enableJSONOnly is true in the axis2.xml file and the content-type is not application/json: " + contentType);
+ response.setContentType("application/json");
+ showJSONOnlyErrorMessage(response);
+ return;
+ } else if (!HTTPTransportUtils.isRESTRequest(contentType)) {
msgContext = createMessageContext(request, response);
msgContext.setProperty(Constants.Configuration.CONTENT_TYPE, contentType);
try {
@@ -355,6 +361,19 @@
}
/**
+ * Private method that deals with disabling of SOAP and REST support.
+ *
+ * @param response
+ * @throws IOException
+ */
+ protected void showJSONOnlyErrorMessage(HttpServletResponse response) throws IOException {
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ PrintWriter writer = new PrintWriter(response.getOutputStream());
+ writer.println("{ \"status\": \"error\",\"message\":\"content-type of application/json is mandatory\"}");
+ writer.flush();
+ }
+
+ /**
* Close the builders.
*
* @param messageContext
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServletListener.java b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServletListener.java
index 452ce5a..4d81cfe 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServletListener.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServletListener.java
@@ -32,7 +32,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
/**
* {@link TransportListener} implementation for {@link AxisServlet}. There will be one instance
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/ForbidSessionCreationWrapper.java b/modules/transport/http/src/org/apache/axis2/transport/http/ForbidSessionCreationWrapper.java
index 8f7c943..d36cb99 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/ForbidSessionCreationWrapper.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/ForbidSessionCreationWrapper.java
@@ -18,9 +18,9 @@
*/
package org.apache.axis2.transport.http;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpSession;
public class ForbidSessionCreationWrapper extends HttpServletRequestWrapper {
public ForbidSessionCreationWrapper(HttpServletRequest request) {
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/HTTPTransportUtils.java b/modules/transport/http/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
index c6e8fca..4ff74a1 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
@@ -325,6 +325,23 @@
contentType.indexOf(HTTPConstants.MEDIA_TYPE_MULTIPART_FORM_DATA) > -1);
}
+ /**
+ * This will match for content types that will be regarded as JSON
+ * This contains,
+ * 1. application/json
+ * <p/>
+ * If the request does not contain a content type, this will return false.
+ *
+ * @param contentType content type to check
+ * @return Boolean
+ */
+ public static boolean isJSONRequest(String contentType) {
+ if (contentType == null || contentType.isEmpty()) {
+ return false;
+ }
+ return (contentType.toLowerCase().indexOf(HTTPConstants.MEDIA_TYPE_APPLICATION_JSON) != -1);
+ }
+
public static EndpointReference[] getEPRsForService(ConfigurationContext configurationContext,
TransportInDescription trpInDesc, String serviceName, String ip, int port) throws AxisFault {
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java b/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
index e9af789..d057ade 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/ListingAgent.java
@@ -36,9 +36,9 @@
import org.apache.neethi.PolicyRegistry;
import org.apache.neethi.PolicyRegistryImpl;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/ServletBasedOutTransportInfo.java b/modules/transport/http/src/org/apache/axis2/transport/http/ServletBasedOutTransportInfo.java
index 68095d6..b6bf88e 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/ServletBasedOutTransportInfo.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/ServletBasedOutTransportInfo.java
@@ -22,7 +22,7 @@
import org.apache.axis2.kernel.OutTransportInfo;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
public class ServletBasedOutTransportInfo implements OutTransportInfo {
private HttpServletResponse response;
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/TransportHeaders.java b/modules/transport/http/src/org/apache/axis2/transport/http/TransportHeaders.java
index 5fc446d..5b63c82 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/TransportHeaders.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/TransportHeaders.java
@@ -19,7 +19,7 @@
package org.apache.axis2.transport.http;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/server/AxisHttpService.java b/modules/transport/http/src/org/apache/axis2/transport/http/server/AxisHttpService.java
index 9ddc031..88ea7ac 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/server/AxisHttpService.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/server/AxisHttpService.java
@@ -54,7 +54,7 @@
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpProcessor;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import java.io.IOException;
import java.io.InputStream;
diff --git a/modules/transport/http/test/org/apache/axis2/transport/http/HTTPTransportSenderTest.java b/modules/transport/http/test/org/apache/axis2/transport/http/HTTPTransportSenderTest.java
index 087b30e..3fa94c9 100644
--- a/modules/transport/http/test/org/apache/axis2/transport/http/HTTPTransportSenderTest.java
+++ b/modules/transport/http/test/org/apache/axis2/transport/http/HTTPTransportSenderTest.java
@@ -25,7 +25,7 @@
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import junit.framework.TestCase;
diff --git a/modules/transport/http/test/org/apache/axis2/transport/http/mock/MockHttpServletResponse.java b/modules/transport/http/test/org/apache/axis2/transport/http/mock/MockHttpServletResponse.java
index 5a69904..e511435 100644
--- a/modules/transport/http/test/org/apache/axis2/transport/http/mock/MockHttpServletResponse.java
+++ b/modules/transport/http/test/org/apache/axis2/transport/http/mock/MockHttpServletResponse.java
@@ -29,9 +29,9 @@
import java.util.Locale;
import java.util.Map;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.axis2.kernel.OutTransportInfo;
diff --git a/modules/transport/testkit/pom.xml b/modules/transport/testkit/pom.xml
index 0f35307..6571a2d 100644
--- a/modules/transport/testkit/pom.xml
+++ b/modules/transport/testkit/pom.xml
@@ -95,6 +95,15 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
</dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.ee9</groupId>
+ <artifactId>jetty-ee9-nested</artifactId>
+ <version>12.0.6</version>
+ </dependency>
</dependencies>
<build>
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java
index e8ed2ae..2c54592 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyAsyncEndpoint.java
@@ -21,9 +21,9 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.axis2.transport.testkit.endpoint.AsyncEndpoint;
import org.apache.axis2.transport.testkit.endpoint.InOnlyEndpointSupport;
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java
index 31538cf..4586730 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyByteArrayAsyncEndpoint.java
@@ -26,8 +26,8 @@
import java.text.ParseException;
import java.util.Enumeration;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
import org.apache.axiom.mime.ContentType;
import org.apache.axis2.transport.testkit.message.IncomingMessage;
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java
index 7bf5871..9ec7ebe 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEchoEndpoint.java
@@ -22,9 +22,9 @@
import java.io.IOException;
import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import junit.framework.Assert;
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java
index 0acc671..31d6c0d 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyEndpoint.java
@@ -21,16 +21,18 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.axis2.transport.testkit.tests.Setup;
import org.apache.axis2.transport.testkit.tests.TearDown;
import org.apache.axis2.transport.testkit.tests.Transient;
-import org.eclipse.jetty.server.Handler;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.ee9.nested.AbstractHandler;
+import org.eclipse.jetty.ee9.nested.ContextHandler;
+import org.eclipse.jetty.ee9.nested.Handler;
+import org.eclipse.jetty.ee9.nested.Request;
+import org.eclipse.jetty.server.Response;
public abstract class JettyEndpoint {
private @Transient JettyServer server;
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java
index c91495f..ec70c38 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyRESTAsyncEndpoint.java
@@ -24,8 +24,8 @@
import java.util.List;
import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
import org.apache.axis2.transport.testkit.message.IncomingMessage;
import org.apache.axis2.transport.testkit.message.RESTMessage;
diff --git a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
index 83a2b02..537ee06 100644
--- a/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
+++ b/modules/transport/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
@@ -23,16 +23,18 @@
import org.apache.axis2.transport.testkit.tests.Setup;
import org.apache.axis2.transport.testkit.tests.TearDown;
import org.apache.axis2.transport.testkit.tests.Transient;
-import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.ee9.nested.AbstractHandler;
+import org.eclipse.jetty.ee9.nested.ContextHandler;
+import org.eclipse.jetty.ee9.nested.Handler;
+import org.eclipse.jetty.ee9.nested.HandlerCollection;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.handler.ContextHandler;
-import org.eclipse.jetty.server.handler.HandlerList;
public class JettyServer {
public static final JettyServer INSTANCE = new JettyServer();
private @Transient Server server;
- private @Transient HandlerList handlerList;
+ // ee9 specific nested HandlerCollection
+ private @Transient HandlerCollection ee9HandlerCollection;
private JettyServer() {}
@@ -40,17 +42,17 @@
private void setUp(HttpTestEnvironment env) throws Exception {
server = new Server(env.getServerPort());
ContextHandler context = new ContextHandler(server, Channel.CONTEXT_PATH);
- handlerList = new HandlerList();
- context.setHandler(handlerList);
+ ee9HandlerCollection = new HandlerCollection();
+ context.setHandler(ee9HandlerCollection);
server.start();
}
public void addHandler(Handler handler) {
- handlerList.addHandler(handler);
+ ee9HandlerCollection.addHandler(handler);
}
public void removeHandler(Handler handler) {
- handlerList.removeHandler(handler);
+ ee9HandlerCollection.removeHandler(handler);
}
@TearDown @SuppressWarnings("unused")
diff --git a/modules/webapp/conf/axis2.xml b/modules/webapp/conf/axis2.xml
index 1f07247..8f15622 100644
--- a/modules/webapp/conf/axis2.xml
+++ b/modules/webapp/conf/axis2.xml
@@ -25,6 +25,7 @@
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
+ <parameter name="enableJSONOnly">false</parameter>
<!--Uncomment if you want to enable file caching for attachments -->
<!--parameter name="cacheAttachments">true</parameter>
diff --git a/modules/webapp/conf/web.xml b/modules/webapp/conf/web.xml
index 32907d3..20619f3 100644
--- a/modules/webapp/conf/web.xml
+++ b/modules/webapp/conf/web.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
@@ -19,11 +19,12 @@
~ under the License.
-->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
+<web-app
+ xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0">
+
<display-name>Apache-Axis2</display-name>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
diff --git a/modules/webapp/pom.xml b/modules/webapp/pom.xml
index bc56e36..c1fadb0 100644
--- a/modules/webapp/pom.xml
+++ b/modules/webapp/pom.xml
@@ -123,15 +123,15 @@
<type>aar</type>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency><!-- Not required for the Maven build, but necessary to avoid errors when
importing the project into an IDE. -->
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
- <version>2.3.6</version>
+ <version>3.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -249,8 +249,16 @@
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
- <version>6.5.1</version>
+ <version>6.6.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-core</artifactId>
+ </dependency>
+ <!--
+ [WEB-INF/lib/commons-fileupload2-jakarta-servlet6-2.0.0-M2.jar, WEB-INF/lib/jetty-jakarta-servlet-api-5.0.2.jar
+ -->
+
</dependencies>
<build>
@@ -300,6 +308,7 @@
<plugin><!-- Compile the JSPs so that syntax errors are detected during the build. -->
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
+ <version>11.0.20</version>
<executions>
<execution>
<goals>
diff --git a/modules/webapp/scripts/build.xml b/modules/webapp/scripts/build.xml
index 04327b6..885154a 100644
--- a/modules/webapp/scripts/build.xml
+++ b/modules/webapp/scripts/build.xml
@@ -72,7 +72,7 @@
<war destfile="dist/axis2.war" webxml="webapp/WEB-INF/web.xml">
<lib dir="lib">
<include name="**" />
- <exclude name="**servlet**" />
+ <exclude name="axis2-soapmonitor-servlet-*.jar" />
<exclude name="axis2-ant-plugin-*.jar" />
<exclude name="axis2-*-codegen-*.jar"/>
<exclude name="axis2-java2wsdl-*.jar"/>
diff --git a/modules/webapp/src/main/java/org/apache/axis2/transport/http/AxisAdminServlet.java b/modules/webapp/src/main/java/org/apache/axis2/transport/http/AxisAdminServlet.java
index eeb4926..cdc7c45 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/transport/http/AxisAdminServlet.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/transport/http/AxisAdminServlet.java
@@ -19,7 +19,7 @@
package org.apache.axis2.transport.http;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionHandler.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionHandler.java
index ec63e3a..f6804c1 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionHandler.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionHandler.java
@@ -22,9 +22,9 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
import org.apache.axis2.Constants;
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionResult.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionResult.java
index 44a2131..3f5fe7b 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionResult.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/ActionResult.java
@@ -20,9 +20,9 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
abstract class ActionResult {
abstract void process(HttpServletRequest request, HttpServletResponse response)
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminActions.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminActions.java
index 465b6ee..a7ae32c 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminActions.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminActions.java
@@ -33,17 +33,16 @@
import org.apache.axis2.description.Parameter;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.http.AbstractAgent;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileItemFactory;
-import org.apache.commons.fileupload.RequestContext;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.fileupload.servlet.ServletRequestContext;
+import org.apache.commons.fileupload2.core.FileItem;
+import org.apache.commons.fileupload2.core.RequestContext;
+import org.apache.commons.fileupload2.core.DiskFileItemFactory;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletRequestContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
import javax.xml.namespace.QName;
import java.io.File;
import java.util.Collection;
@@ -146,15 +145,12 @@
@Action(name="doUpload", post=true)
public Redirect doUpload(HttpServletRequest req) throws ServletException {
- RequestContext reqContext = new ServletRequestContext(req);
+ RequestContext reqContext = new JakartaServletRequestContext(req);
- boolean isMultipart = ServletFileUpload.isMultipartContent(reqContext);
+ boolean isMultipart = JakartaServletFileUpload.isMultipartContent(reqContext);
if (isMultipart) {
try {
- //Create a factory for disk-based file items
- FileItemFactory factory = new DiskFileItemFactory();
- //Create a new file upload handler
- ServletFileUpload upload = new ServletFileUpload(factory);
+ JakartaServletFileUpload upload = new JakartaServletFileUpload<>(DiskFileItemFactory.builder().get());
// There must be a limit. This is for an aar file upload,
// presumably only one. See:
// https://axis.apache.org/axis2/java/core/docs/webadminguide.html#upservice
@@ -189,7 +185,7 @@
return new Redirect(UPLOAD).withStatus(false, "Received invalid filename");
}
File uploadedFile = new File(serviceDir, fileNameOnly);
- item.write(uploadedFile);
+ item.write(uploadedFile.toPath());
return new Redirect(UPLOAD).withStatus(true, "File " + fileNameOnly + " successfully uploaded");
}
}
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java
index b65c7f9..f5e1d0d 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java
@@ -25,12 +25,12 @@
import org.apache.axis2.transport.http.AxisServlet;
import org.apache.axis2.transport.http.ForbidSessionCreationWrapper;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.Method;
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/CSRFPreventionResponseWrapper.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/CSRFPreventionResponseWrapper.java
index 8e5ff69..ff5fda2 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/CSRFPreventionResponseWrapper.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/CSRFPreventionResponseWrapper.java
@@ -21,10 +21,10 @@
import java.util.Map;
import java.util.Random;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -82,11 +82,6 @@
}
@Override
- public String encodeUrl(String url) {
- return encodeURL(url);
- }
-
- @Override
public String encodeURL(String url) {
int idx = url.indexOf('?');
String path = idx == -1 ? url : url.substring(0, idx);
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/Redirect.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/Redirect.java
index 81ceee7..f69e6d5 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/Redirect.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/Redirect.java
@@ -23,10 +23,10 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
final class Redirect extends ActionResult {
private final String action;
diff --git a/modules/webapp/src/main/java/org/apache/axis2/webapp/View.java b/modules/webapp/src/main/java/org/apache/axis2/webapp/View.java
index 0b0c0e3..4e92052 100644
--- a/modules/webapp/src/main/java/org/apache/axis2/webapp/View.java
+++ b/modules/webapp/src/main/java/org/apache/axis2/webapp/View.java
@@ -20,9 +20,9 @@
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
final class View extends ActionResult {
private final String jspName;
diff --git a/pom.xml b/pom.xml
index 940efd0..e17c443 100644
--- a/pom.xml
+++ b/pom.xml
@@ -401,8 +401,10 @@
<module>modules/tool/maven-shared</module>
<module>modules/tool/axis2-aar-maven-plugin</module>
<module>modules/tool/axis2-ant-plugin</module>
+ <!--
<module>modules/tool/axis2-eclipse-codegen-plugin</module>
<module>modules/tool/axis2-eclipse-service-plugin</module>
+ -->
<module>modules/tool/axis2-idea-plugin</module>
<module>modules/tool/axis2-java2wsdl-maven-plugin</module>
<module>modules/tool/axis2-mar-maven-plugin</module>
@@ -441,7 +443,11 @@
<module>modules/distribution</module>
<module>modules/samples</module>
<module>databinding-tests</module>
+ <!-- FIXME AXIS2-6051 jwebunit hasn't been update since 2015
+ and is too broke to fix in a post jakarta world.
+ TODO: find a replacement, or remove the code.
<module>systests</module>
+ -->
</modules>
<scm>
@@ -470,26 +476,29 @@
<antlr.version>2.7.7</antlr.version>
<aspectj.version>1.9.21</aspectj.version>
<bsf.version>2.4.0</bsf.version>
- <commons.fileupload.version>1.5</commons.fileupload.version>
+ <commons.fileupload.version>2.0.0-M2</commons.fileupload.version>
<commons.logging.version>1.2</commons.logging.version>
<fi.version>2.1.1</fi.version>
<geronimo.spec.annotation.version>1.1.1</geronimo.spec.annotation.version>
<geronimo.spec.metadata.version>1.1.3</geronimo.spec.metadata.version>
<geronimo.spec.jaxws.version>1.2</geronimo.spec.jaxws.version>
<google.gson.version>2.10.1</google.gson.version>
- <groovy.version>4.0.17</groovy.version>
+ <groovy.version>4.0.18</groovy.version>
<httpcore.version>4.4.16</httpcore.version>
<httpclient.version>4.5.14</httpclient.version>
<httpmime.version>4.5.14</httpmime.version>
<intellij.version>5.0</intellij.version>
<jaxbri.version>4.0.3</jaxbri.version>
- <jetty.version>10.0.19</jetty.version>
+ <jetty.version>10.0.20</jetty.version>
+ <jetty.version>12.0.6</jetty.version>
<jibx.version>1.4.2</jibx.version>
<maven.archiver.version>3.6.1</maven.archiver.version>
<maven.version>3.9.6</maven.version>
<rhino.version>1.6R7</rhino.version>
- <slf4j.version>2.0.9</slf4j.version>
+ <slf4j.version>2.0.12</slf4j.version>
<spring.version>5.3.31</spring.version>
+ <slf4j.version>2.0.11</slf4j.version>
+ <spring.version>6.1.3</spring.version>
<wsdl4j.version>1.6.3</wsdl4j.version>
<xmlbeans.version>3.0.1</xmlbeans.version>
<xmlunit.version>2.9.1</xmlunit.version>
@@ -501,7 +510,7 @@
<jaxws.rt.version>4.0.2</jaxws.rt.version>
<jaxws.api.version>4.0.0</jaxws.api.version>
<jsr311.api.version>1.1.1</jsr311.api.version>
- <maven-plugin-tools.version>3.10.2</maven-plugin-tools.version>
+ <maven-plugin-tools.version>3.11.0</maven-plugin-tools.version>
<!-- This variable is used in some Xdocs and is substituted using Velocity. Note that
we can't use the project.version variable directly because of the dot. See
http://maven.apache.org/plugins/maven-site-plugin/examples/creating-content.html -->
@@ -592,9 +601,10 @@
<version>${spring.version}</version>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.0.0</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
@@ -675,7 +685,7 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
- <version>3.24.2</version>
+ <version>3.25.3</version>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
@@ -690,7 +700,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>5.8.0</version>
+ <version>5.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.ws.xmlschema</groupId>
@@ -789,8 +799,13 @@
<version>${httpmime.version}</version>
</dependency>
<dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-core</artifactId>
+ <version>${commons.fileupload.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<dependency>
@@ -834,7 +849,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
- <version>5.10.1</version>
+ <version>5.10.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
@@ -890,54 +905,68 @@
<scope>import</scope>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.jobs</artifactId>
- <version>3.10.800.v20200421-0950</version>
+ <version>3.15.100</version>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.resources</artifactId>
- <version>3.13.700.v20200209-1624</version>
+ <version>3.20.0</version>
</dependency>
- <dependency>
- <groupId>osgi.bundle</groupId>
+ <dependency>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
- <version>3.18.0.v20200506-2143</version>
+ <version>3.30.0</version>
</dependency>
- <dependency>
- <groupId>osgi.bundle</groupId>
+ <dependency>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.common</artifactId>
- <version>3.12.0.v20200504-1602</version>
+ <version>3.18.200</version>
</dependency>
- <dependency>
- <groupId>osgi.bundle</groupId>
+ <dependency>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.jface</artifactId>
- <version>3.20.0.v20200505-1952</version>
+ <version>3.32.0</version>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
- <version>3.15.300.v20200520-1959</version>
+ <version>3.18.600</version>
</dependency>
- <dependency>
- <groupId>osgi.bundle</groupId>
+ <dependency>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt</artifactId>
- <version>3.114.100.v20200604-0951</version>
+ <version>3.124.200</version>
</dependency>
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
- <version>3.114.100.v20200604-0951</version>
+ <version>3.124.200</version>
</dependency>
+ <dependency>
+ <groupId>org.eclipse.platform</groupId>
+ <artifactId>org.eclipse.ui.ide</artifactId>
+ <version>3.22.0</version>
+ </dependency>
+ <!--
<dependency>
<groupId>osgi.bundle</groupId>
<artifactId>org.eclipse.ui.ide</artifactId>
<version>3.17.100.v20200530-0835</version>
</dependency>
+ -->
<dependency>
- <groupId>osgi.bundle</groupId>
+ <groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.workbench</artifactId>
- <version>3.119.0.v20200521-1247</version>
+ <version>3.131.0</version>
+ <exclusions>
+ <!-- FIXME -->
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis-ext</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.intellij</groupId>
@@ -992,11 +1021,6 @@
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-webapp</artifactId>
- <version>${jetty.version}</version>
- </dependency>
<!-- AspectJ is used in the unit tests of several transports -->
<dependency>
@@ -1014,9 +1038,9 @@
<repositories>
<repository>
- <id>eclipse_4_16</id>
+ <id>eclipse_4_30</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.16/R-4.16-202006040540</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.30/R-4.30-202312010110</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
@@ -1104,7 +1128,7 @@
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.12.0</version>
+ <version>3.12.1</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
@@ -1132,11 +1156,11 @@
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.2.3</version>
+ <version>3.2.5</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
- <version>3.2.3</version>
+ <version>3.2.5</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
@@ -1258,7 +1282,7 @@
<message>The POM must not include repository definitions since non Apache repositories threaten the build stability.</message>
<banRepositories>true</banRepositories>
<allowedRepositories>
- <allowedRepository>eclipse_4_16</allowedRepository>
+ <allowedRepository>eclipse_4_30</allowedRepository>
</allowedRepositories>
<banPluginRepositories>true</banPluginRepositories>
<!-- We still need to allow the Apache snapshot repository -->
diff --git a/systests/webapp-tests/pom.xml b/systests/webapp-tests/pom.xml
index da76417..22cffad 100644
--- a/systests/webapp-tests/pom.xml
+++ b/systests/webapp-tests/pom.xml
@@ -68,6 +68,10 @@
<artifactId>slf4j-jdk14</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </dependency>
</dependencies>
<build>