This is an automated email from the ASF dual-hosted git repository.

robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git

commit 037eea0bce812fdb44eda5fee6078660042f5e73
Author: Robert Lazarski <[email protected]>
AuthorDate: Sun Sep 6 08:45:55 2026 -1000

    Stop bundling the mail transport in axis2.war
    
    Same case as JMS: no default axis2.xml enables a mailto listener or sender, 
and
    the module is deprecated for removal in 2.1.0. It stays in the binary
    distribution's lib/. angus-mail and jakarta.mail-api deliberately stay in 
the
    WAR and are not transport baggage -- the API jar carries the MimeBodyPart 
and
    ByteArrayDataSource classes JAX-WS attachments use, and angus supplies the
    StreamProvider service they resolve at runtime. Dropping either breaks MTOM.
    
    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
---
 modules/webapp/pom.xml                   |  5 -----
 modules/webapp/scripts/build.xml         |  4 ++++
 src/site/markdown/release-notes/2.0.2.md | 10 ++++++++++
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/modules/webapp/pom.xml b/modules/webapp/pom.xml
index 5b73c1bc3f..9a93896401 100644
--- a/modules/webapp/pom.xml
+++ b/modules/webapp/pom.xml
@@ -137,11 +137,6 @@
             <artifactId>axis2-transport-local</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis2-transport-mail</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>axis2-transport-tcp</artifactId>
diff --git a/modules/webapp/scripts/build.xml b/modules/webapp/scripts/build.xml
index 8e968f27a5..155da5f707 100644
--- a/modules/webapp/scripts/build.xml
+++ b/modules/webapp/scripts/build.xml
@@ -82,6 +82,10 @@
                                     no default axis2.xml enables a JMS 
listener or sender, and
                                     jakarta.jms-api is an API with no 
provider, so a WAR that wanted
                                     JMS always had to add a broker client 
anyway. -->
+                               <!-- Deprecated for removal in 2.1.0 and 
enabled by no default
+                                    axis2.xml. angus-mail and jakarta.mail-api 
stay: JAX-WS
+                                    attachment handling needs them, not the 
transport. -->
+                               <exclude name="axis2-transport-mail-*.jar" />
                                <exclude name="axis2-transport-jms-*.jar" />
                                <exclude name="jakarta.jms-api-*.jar" />
                                <exclude name="commons-cli-*.jar" />
diff --git a/src/site/markdown/release-notes/2.0.2.md 
b/src/site/markdown/release-notes/2.0.2.md
index 790f858ad5..e4abc6d5e0 100644
--- a/src/site/markdown/release-notes/2.0.2.md
+++ b/src/site/markdown/release-notes/2.0.2.md
@@ -26,6 +26,16 @@ Apache Axis2 2.0.2 Release Notes
   could not work without the four jars deliberately left out. Axis2's own
   `axis2-spring` is unchanged and still shipped.
 
+- **The mail transport is no longer bundled in `axis2.war` either.** Same 
reasoning
+  as JMS: no default `axis2.xml` enables a `mailto` listener or sender, and 
the module
+  is deprecated for removal in 2.1.0. It remains in `lib/` of the binary 
distribution.
+  Note that `angus-mail` and `jakarta.mail-api` stay in the WAR and are 
**not** mail
+  transport baggage: `jakarta.mail-api` carries the `MimeBodyPart`,
+  `MimePartDataSource`, `InternetHeaders` and `ByteArrayDataSource` classes 
that
+  JAX-WS attachment handling uses, and `angus-mail` supplies the
+  `META-INF/services/jakarta.mail.util.StreamProvider` implementation those 
classes
+  need at runtime. Removing either would break MTOM and SwA, not the mail 
transport.
+
 - **The JMS transport is no longer bundled in `axis2.war`.** 
`axis2-transport-jms`
   and `jakarta.jms-api` shipped in every WAR while no default `axis2.xml` 
enables a
   JMS listener or sender, so every deployment carried the transport -- and its 
JNDI

Reply via email to