You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ro...@apache.org on 2026/04/20 07:05:20 UTC

(axis-axis2-java-core) branch master updated (d2efd7ef4d -> c833164b8f)

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

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


    from d2efd7ef4d AXIS2-6105 Remove JiBX, SOAPMonitor, and Scripting modules
     new 74dd7e60e0 AXIS2-6105 Remove FastInfoset module
     new c833164b8f Update 2.0.1 release notes with new features, bug fixes, and removed modules

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 apidocs/pom.xml                                    |   6 +-
 modules/distribution/pom.xml                       |   6 +-
 .../src/main/assembly/bin-assembly.xml             |   4 +-
 modules/fastinfoset/README.txt                     |   8 -
 modules/fastinfoset/pom.xml                        | 265 -------------------
 .../axis2/fastinfoset/FastInfosetBuilder.java      |  60 -----
 .../fastinfoset/FastInfosetMessageFormatter.java   | 155 -----------
 .../axis2/fastinfoset/FastInfosetPOXBuilder.java   |  60 -----
 .../FastInfosetPOXMessageFormatter.java            | 155 -----------
 modules/fastinfoset/test-resources/axis2.xml       | 286 ---------------------
 .../fastinfoset/FastInfosetInputOutputTest.java    |  76 ------
 .../apache/axis2/fastinfoset/FastInfosetTest.java  | 124 ---------
 .../apache/axis2/fastinfoset/SimpleAddService.java |  38 ---
 .../axis2/fastinfoset/SimpleAddServiceClient.java  | 128 ---------
 modules/webapp/pom.xml                             |   8 +-
 pom.xml                                            |  10 +-
 src/site/markdown/release-notes/2.0.1.md           |  60 ++++-
 17 files changed, 64 insertions(+), 1385 deletions(-)
 delete mode 100644 modules/fastinfoset/README.txt
 delete mode 100644 modules/fastinfoset/pom.xml
 delete mode 100644 modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java
 delete mode 100644 modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java
 delete mode 100644 modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java
 delete mode 100644 modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java
 delete mode 100644 modules/fastinfoset/test-resources/axis2.xml
 delete mode 100644 modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java
 delete mode 100644 modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetTest.java
 delete mode 100644 modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddService.java
 delete mode 100644 modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddServiceClient.java


(axis-axis2-java-core) 01/02: AXIS2-6105 Remove FastInfoset module

Posted by ro...@apache.org.
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 74dd7e60e0fe2317d53463ed6181bfd3bb13d781
Author: Robert Lazarski <ro...@gmail.com>
AuthorDate: Sun Apr 19 20:39:38 2026 -1000

    AXIS2-6105 Remove FastInfoset module
    
    Binary XML encoding (ITU-T X.891). Solved SOAP verbosity by making
    SOAP binary, but the industry solved it by switching to JSON.
    No known users — anyone needing binary efficiency uses gRPC/Protobuf.
    
    Removes module, dependency, fi.version property, and all references
    from distribution, webapp, apidocs, and assembly descriptors.
---
 apidocs/pom.xml                                    |   6 +-
 modules/distribution/pom.xml                       |   6 +-
 .../src/main/assembly/bin-assembly.xml             |   4 +-
 modules/fastinfoset/README.txt                     |   8 -
 modules/fastinfoset/pom.xml                        | 265 -------------------
 .../axis2/fastinfoset/FastInfosetBuilder.java      |  60 -----
 .../fastinfoset/FastInfosetMessageFormatter.java   | 155 -----------
 .../axis2/fastinfoset/FastInfosetPOXBuilder.java   |  60 -----
 .../FastInfosetPOXMessageFormatter.java            | 155 -----------
 modules/fastinfoset/test-resources/axis2.xml       | 286 ---------------------
 .../fastinfoset/FastInfosetInputOutputTest.java    |  76 ------
 .../apache/axis2/fastinfoset/FastInfosetTest.java  | 124 ---------
 .../apache/axis2/fastinfoset/SimpleAddService.java |  38 ---
 .../axis2/fastinfoset/SimpleAddServiceClient.java  | 128 ---------
 modules/webapp/pom.xml                             |   8 +-
 pom.xml                                            |  10 +-
 16 files changed, 7 insertions(+), 1382 deletions(-)

diff --git a/apidocs/pom.xml b/apidocs/pom.xml
index 3ee7f536b1..957dae5a7a 100644
--- a/apidocs/pom.xml
+++ b/apidocs/pom.xml
@@ -65,11 +65,7 @@
             <artifactId>axis2-corba</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis2-fastinfoset</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+        <!-- axis2-fastinfoset removed: AXIS2-6105 -->
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>axis2-java2wsdl</artifactId>
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 4040d3c049..5562c35ae2 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -95,11 +95,7 @@
             <version>${project.version}</version>
         </dependency>
         <!-- removed: AXIS2-6105 -->
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-fastinfoset</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+        <!-- axis2-fastinfoset removed: AXIS2-6105 -->
         <dependency>
             <groupId>org.apache.axis2</groupId>
             <artifactId>axis2-jaxbri-codegen</artifactId>
diff --git a/modules/distribution/src/main/assembly/bin-assembly.xml b/modules/distribution/src/main/assembly/bin-assembly.xml
index ff9d3539eb..ada7550b58 100755
--- a/modules/distribution/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/bin-assembly.xml
@@ -188,9 +188,7 @@
                  <exclude>org.apache.ant:ant:jar</exclude>
                  <exclude>org.apache.ant:ant-launcher:jar</exclude>
                  <exclude>aopalliance:aopalliance:jar</exclude>
-                 <exclude>bsf:bsf:jar</exclude>
-                 <exclude>com.sun.xml.fastinfoset:FastInfoset:jar</exclude>
-                 <exclude>rhino:js:jar</exclude>
+                 <!-- bsf, FastInfoset, rhino removed: AXIS2-6105 -->
                  <exclude>javax.servlet:servlet-api</exclude>
 		 <!-- AXIS2-6051, why was this excluded
 		      and why is it needed now?
diff --git a/modules/fastinfoset/README.txt b/modules/fastinfoset/README.txt
deleted file mode 100644
index c49693707d..0000000000
--- a/modules/fastinfoset/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This module handles Fast Infoset (FI) binary serialization for Axis2.
-
-The fast infoset parser used here is from Fast Infoset Project @ https://fi.dev.java.net/
-
-FI 1.1.x is targeted to JDK1.4 and is used in JAX-WS 2.0, JAXB 2.0.
-FI 1.2.x is targeted to JDK1.5 and is used in JAX-WS 2.1, JAXB 2.1.
-
-The maven script automatically detects the JDK version and use the appropriate FI jar file.
diff --git a/modules/fastinfoset/pom.xml b/modules/fastinfoset/pom.xml
deleted file mode 100644
index 06c4e605da..0000000000
--- a/modules/fastinfoset/pom.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?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
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.axis2</groupId>
-        <artifactId>axis2</artifactId>
-        <version>2.0.1-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>axis2-fastinfoset</artifactId>
-
-    <name>Apache Axis2 - Fast Infoset</name>
-    <description>Axis2 Fast Infoset module</description>
-    <url>http://axis.apache.org/axis2/java/core/</url>
-
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git</connection>
-        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git</developerConnection>
-        <url>https://gitbox.apache.org/repos/asf?p=axis-axis2-java-core.git;a=summary</url>
-        <tag>HEAD</tag>
-    </scm>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.sun.xml.fastinfoset</groupId>
-            <artifactId>FastInfoset</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-kernel</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-adb</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>wsdl4j</groupId>
-            <artifactId>wsdl4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-fileupload2-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ws.xmlschema</groupId>
-            <artifactId>xmlschema-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-java2wsdl</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-adb-codegen</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.neethi</groupId>
-            <artifactId>neethi</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>addressing</artifactId>
-            <version>${project.version}</version>
-            <type>mar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ws.commons.axiom</groupId>
-            <artifactId>axiom-truth</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <sourceDirectory>src</sourceDirectory>
-        <testSourceDirectory>test</testSourceDirectory>
-        <resources>
-            <resource>
-                <directory>conf</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>src</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>resources</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-        </resources>
-        <testResources>
-            <testResource>
-                <directory>test</directory>
-                <includes>
-                    <include>**/*.xml</include>
-                    <include>**/*.wsdl</include>
-                    <include>**/*.properties</include>
-                </includes>
-            </testResource>
-            <testResource>
-                <directory>${project.build.directory}/repo</directory>
-            </testResource>
-        </testResources>
-        <plugins>
-            <plugin>
-                <artifactId>maven-remote-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>process</goal>
-                        </goals>
-                        <configuration>
-                            <resourceBundles>
-                                <resourceBundle>org.apache.axis2:axis2-resource-bundle:${project.version}</resourceBundle>
-                            </resourceBundles>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.axis2</groupId>
-                <artifactId>axis2-repo-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>create-test-repository</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/repo</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>gen-ts</id>
-                        <phase>generate-test-sources</phase>
-                        <configuration>
-                            <target unless="maven.test.skip">
-                                <mkdir dir="target/test-classes" />
-
-                                <property name="axis2.home" value="${basedir}/target" />
-                                <path id="maven.dependency.classpath">
-                                    <path refid="maven.runtime.classpath" />
-                                </path>
-                                <!-- compiling some custom wsdl files -->
-                                <property name="wsdl.source.dir" value="test-resources/wsdl" />
-                                <property name="wsdl.output.base.dir" value="target/wsdl" />
-                                <!-- make the dirs -->
-                                <mkdir dir="${wsdl.output.base.dir}" />
-                                <echo>Compiling Service class</echo>
-                                <javac fork="true" destdir="target/test-classes" debug="on" release="${maven.compiler.release}" includeantruntime="false">
-                                    <classpath refid="maven.dependency.classpath" />
-                                    <classpath location="${compiled.classes.dir}" />
-                                    <include name="**/*SimpleAddService.java" />
-                                    <src path="test/" />
-                                </javac>
-                                <echo>Generating the WSDL</echo>
-                                <java classname="org.apache.ws.java2wsdl.Java2WSDL" fork="true">
-                                    <classpath>
-                                        <path refid="maven.test.classpath" />
-                                        <pathelement location="target/test-classes" />
-                                    </classpath>
-                                    <arg line="-o target/test-classes -of SimpleAddService.wsdl -efd unqualified -cn org.apache.axis2.fastinfoset.SimpleAddService" />
-                                </java>
-
-                                <echo>Compiling SimpleAddService.wsdl</echo>
-                                <mkdir dir="${wsdl.output.base.dir}/simpleAddService" />
-
-                                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
-                                    <classpath refid="maven.test.classpath" />
-                                    <classpath location="${compiled.classes.dir}" />
-                                    <arg line="-uri target/test-classes/SimpleAddService.wsdl -o target/wsdl/simpleAddService -S . -or" />
-                                </java>
-                            </target>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>add-test-source</id>
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>add-test-source</goal>
-                        </goals>
-                        <configuration>
-                            <sources>
-                                <source>${project.build.directory}/wsdl/simpleAddService</source>
-                            </sources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <inherited>true</inherited>
-                <configuration>
-                    <argLine>${argLine} -Xms256m -Xmx512m</argLine>
-                    <!-- Enable the next 2 lines if you want to attach a debugger
-                   <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>-->
-                    <includes>
-                        <include>**/*Test.java</include>
-                    </includes>
-                    <systemPropertyVariables>
-                        <build.repository>./target/test-classes</build.repository>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java b/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java
deleted file mode 100644
index 6b712f9d87..0000000000
--- a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import com.sun.xml.fastinfoset.stax.StAXDocumentParser;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.soap.SOAPModelBuilder;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.builder.Builder;
-import org.apache.axis2.context.MessageContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.InputStream;
-
-public class FastInfosetBuilder implements Builder {
-
-    private static  Log logger = LogFactory.getLog(FastInfosetBuilder.class);
-    
-    /**
-     * Returns a OMElement handler to the document element of the Fast Infoset message.
-     * 
-     * @param inputStream InputStream to the message
-     * @param contentType Content type of the message
-     * @param messageContext MessageContext to be used
-     * 
-     * @return OMElement handler to the document element
-     * 
-     * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext)
-     */
-    public OMElement processDocument(InputStream inputStream, String contentType, 
-            MessageContext messageContext) throws AxisFault {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Processing a Document with the content type: " + contentType);
-        }
-        //Create a instance of the StAX Parser which can handle the fast infoset stream 
-        SOAPModelBuilder builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(new StAXDocumentParser(inputStream));
-        messageContext.setProperty(Constants.BUILDER, builder);
-        return builder.getDocumentElement();
-    }
-}
diff --git a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java b/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java
deleted file mode 100644
index f2d1ecbf0a..0000000000
--- a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import com.sun.xml.fastinfoset.stax.StAXDocumentSerializer;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.kernel.MessageFormatter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-
-public class FastInfosetMessageFormatter implements MessageFormatter {
-
-    private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class);
-    
-    /**
-     * Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing.
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String)
-     */
-    public String formatSOAPAction(MessageContext messageContext,
-            OMOutputFormat format, String soapAction) {
-
-        return null;
-    }
-
-    /**
-     * Returns the content type
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String)
-     */
-    public String getContentType(MessageContext messageContext,
-            OMOutputFormat format, String soapAction) {
-        String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE);
-        String encoding = format.getCharSetEncoding();
-        
-        //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type"
-        if (contentType == null) {
-            contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE);
-        }
-
-        if (encoding != null) {
-            contentType += "; charset=" + encoding;
-        }
-            
-        return contentType;
-    }
-
-    /**
-     * Returns the target address to send the response
-     * FIXME This is very HTTP specific. What about other transport?
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL)
-     */
-    public URL getTargetAddress(MessageContext messageContext,
-            OMOutputFormat format, URL targetURL) throws AxisFault {
-        String httpMethod =
-            (String) messageContext.getProperty(Constants.Configuration.HTTP_METHOD);
-
-        URL targetAddress = targetURL; //Let's initialize to this
-        //if the http method is GET, parameters are attached to the target URL
-        if ((httpMethod != null)
-                && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) {
-            String param = getParam(messageContext);
-    
-            if (param.length() > 0) {
-                String returnURLFile = targetURL.getFile() + "?" + param;
-                try {
-                    targetAddress = 
-                        new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile);
-                } catch (MalformedURLException murle) {
-                    logger.error(murle.getMessage());
-                    throw new AxisFault(murle.getMessage(), murle);
-                }
-            }
-        }
-        
-        return targetAddress;
-    }
-
-    /**
-     * Write the SOAP envelop to the given OutputStream.
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean)
-     */
-    public void writeTo(MessageContext messageContext, OMOutputFormat format,
-            OutputStream outputStream, boolean preserve) throws AxisFault {
-        OMElement element = messageContext.getEnvelope();
-        
-        try {
-            //Create the StAX document serializer
-            XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream);
-            streamWriter.writeStartDocument();
-            element.serialize(streamWriter, preserve);
-//            TODO Looks like the SOAP envelop doesn't have a end document tag. Find out why?
-            streamWriter.writeEndDocument();
-        } catch (XMLStreamException xmlse) {
-            logger.error(xmlse.getMessage());
-            throw new AxisFault(xmlse.getMessage(), xmlse);
-        }
-    }
-    
-    /**
-     * Construct URL parameters like, "param1=value1&param2=value2"
-     * FIXME This is very HTTP specific. What about other transports
-     * 
-     * @param messageContext
-     * @return Formatted URL parameters
-     */
-    private String getParam(MessageContext messageContext) {
-        
-        OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement();
-        Iterator it = dataOut.getChildElements();
-        StringBuffer paramBuffer = new StringBuffer();
- 
-        while (it.hasNext()) {
-            OMElement element = (OMElement) it.next();
-            String parameter = element.getLocalName() + "=" + element.getText();
-            paramBuffer.append(parameter);
-            paramBuffer.append("&");
-        }
-        //We don't need a '&' at the end
-        paramBuffer.deleteCharAt(paramBuffer.length() - 1);
-        
-        return paramBuffer.toString();
-    }
-
-}
diff --git a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java b/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java
deleted file mode 100644
index 0ecdafee04..0000000000
--- a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import com.sun.xml.fastinfoset.stax.StAXDocumentParser;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.builder.Builder;
-import org.apache.axis2.context.MessageContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.InputStream;
-
-public class FastInfosetPOXBuilder implements Builder {
-
-    private static Log logger = LogFactory.getLog(FastInfosetBuilder.class);
-    
-    /**
-     * Returns a OMElement handler to the document element of the Fast Infoset message.
-     * 
-     * @param inputStream InputStream to the message
-     * @param contentType Content type of the message
-     * @param messageContext MessageContext to be used
-     * 
-     * @return OMElement handler to the document element
-     * 
-     * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext)
-     */
-    public OMElement processDocument(InputStream inputStream, String contentType, 
-            MessageContext messageContext) throws AxisFault {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Processing a Document with the content type: " + contentType);
-        }
-        //Create a instance of the StAX Parser which can handle the fast infoset stream
-        OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(new StAXDocumentParser(inputStream));
-        messageContext.setProperty(Constants.BUILDER, builder);
-        return builder.getDocumentElement();
-    }
-}
diff --git a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java b/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java
deleted file mode 100644
index 69a14c09ce..0000000000
--- a/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import com.sun.xml.fastinfoset.stax.StAXDocumentSerializer;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.kernel.MessageFormatter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-
-public class FastInfosetPOXMessageFormatter implements MessageFormatter {
-
-    private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class);
-    
-    /**
-     * Plain Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing.
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String)
-     */
-    public String formatSOAPAction(MessageContext messageContext,
-            OMOutputFormat format, String soapAction) {
-
-        return null;
-    }
-
-    /**
-     * Returns the content type
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String)
-     */
-    public String getContentType(MessageContext messageContext,
-            OMOutputFormat format, String soapAction) {
-        String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE);
-        String encoding = format.getCharSetEncoding();
-        
-        //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type"
-        if (contentType == null) {
-            contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE);
-        }
-
-        if (encoding != null) {
-            contentType += "; charset=" + encoding;
-        }
-            
-        return contentType;
-    }
-
-    /**
-     * Returns the target address to send the response
-     * FIXME This is very HTTP specific. What about other transport?
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL)
-     */
-    public URL getTargetAddress(MessageContext messageContext,
-            OMOutputFormat format, URL targetURL) throws AxisFault {
-        String httpMethod =
-            (String) messageContext.getProperty(Constants.Configuration.HTTP_METHOD);
-
-        URL targetAddress = targetURL; //Let's initialize to this
-        //if the http method is GET, parameters are attached to the target URL
-        if ((httpMethod != null)
-                && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) {
-            String param = getParam(messageContext);
-    
-            if (param.length() > 0) {
-                String returnURLFile = targetURL.getFile() + "?" + param;
-                try {
-                    targetAddress = 
-                        new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile);
-                } catch (MalformedURLException murle) {
-                    logger.error(murle.getMessage());
-                    throw new AxisFault(murle.getMessage(), murle);
-                }
-            }
-        }
-        
-        return targetAddress;
-    }
-
-    /**
-     * Write the SOAP envelop to the given OutputStream.
-     * 
-     * @see org.apache.axis2.kernel.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean)
-     */
-    public void writeTo(MessageContext messageContext, OMOutputFormat format,
-            OutputStream outputStream, boolean preserve) throws AxisFault {
-        //For POX drop the SOAP envelope and use the message body
-        OMElement element = messageContext.getEnvelope().getBody().getFirstElement();
-        
-        try {
-            //Create the StAX document serializer
-            XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream);
-            //Since we drop the SOAP envelop we have to manually write the start document and the end document events            
-            streamWriter.writeStartDocument();
-            element.serialize(streamWriter, preserve);
-            streamWriter.writeEndDocument();
-        } catch (XMLStreamException xmlse) {
-            logger.error(xmlse.getMessage());
-            throw new AxisFault(xmlse.getMessage(), xmlse);
-        }
-    }
-    
-    /**
-     * Construct URL parameters like, "param1=value1&param2=value2"
-     * FIXME This is very HTTP specific. What about other transports
-     * 
-     * @param messageContext
-     * @return Formatted URL parameters
-     */
-    private String getParam(MessageContext messageContext) {
-        
-        OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement();
-        Iterator it = dataOut.getChildElements();
-        StringBuffer paramBuffer = new StringBuffer();
- 
-        while (it.hasNext()) {
-            OMElement element = (OMElement) it.next();
-            String parameter = element.getLocalName() + "=" + element.getText();
-            paramBuffer.append(parameter);
-            paramBuffer.append("&");
-        }
-        //We don't need a '&' at the end
-        paramBuffer.deleteCharAt(paramBuffer.length() - 1);
-        
-        return paramBuffer.toString();
-    }
-}
diff --git a/modules/fastinfoset/test-resources/axis2.xml b/modules/fastinfoset/test-resources/axis2.xml
deleted file mode 100644
index 9d06c85e51..0000000000
--- a/modules/fastinfoset/test-resources/axis2.xml
+++ /dev/null
@@ -1,286 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements. See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
-    <!--that behaviour.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName"></parameter>
-    <parameter name="password"></parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-
-    <!-- If you have a frontend host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>        
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.kernel.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.kernel.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.kernel.http.ApplicationXMLFormatter"/>
-	<messageFormatter contentType="application/fastinfoset"
-                         class="org.apache.axis2.fastinfoset.FastInfosetPOXMessageFormatter"/>
-	<messageFormatter contentType="application/soap+fastinfoset"
-                         class="org.apache.axis2.fastinfoset.FastInfosetMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-	<messageBuilder contentType="application/fastinfoset"
-                         class="org.apache.axis2.fastinfoset.FastInfosetPOXBuilder"/>
-	<messageBuilder contentType="application/soap+fastinfoset"
-                         class="org.apache.axis2.fastinfoset.FastInfosetBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills us         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="requestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.impl.httpclient5.HTTPClient5TransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.impl.httpclient5.HTTPClient5TransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <!--<module ref="addressing"/>-->
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-    	<configurationManager class="org.apache.axis2.cluster.tribes.configuration.TribesConfigurationManager">
-    	    <listeners>
-    	    </listeners>
-    	</configurationManager>
-    	<contextManager class="org.apache.axis2.cluster.tribes.context.TribesContextManager">
-    	    <listeners>
-    	    </listeners>
-    	</contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System pre defined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <!--  System pre defined phases       -->
-        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-	<phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-	<phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-
-            <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-	<phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-	<phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java b/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java
deleted file mode 100644
index d12c571923..0000000000
--- a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import com.sun.xml.fastinfoset.stax.StAXDocumentParser;
-import com.sun.xml.fastinfoset.stax.StAXDocumentSerializer;
-
-import org.apache.axiom.blob.Blobs;
-import org.apache.axiom.blob.MemoryBlob;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
-import org.junit.Test;
-
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import static com.google.common.truth.Truth.assertAbout;
-import static org.apache.axiom.truth.xml.XMLTruth.xml;
-
-import java.io.FileInputStream;
-import java.io.OutputStream;
-
-public class FastInfosetInputOutputTest {
-
-    /**
-     * This is to test how fast infoset interoperate with Axiom.
-     * This is how this test is organized.
-     * <pre>
-     *      de-ser(wstx)        ser(fast-info)             de-ser(fast-info)       ser(wstx)
-     * XML  -------->     Axiom     ------>    binary file -------------->   Axiom ---------> XML
-     * </pre>
-     * <p/>
-     * Then the initial XML file and the last XML will be compared to see whether they are the same.
-     */
-    @Test
-    public void testInputOutput() throws Exception {
-        String inputFile = "pom.xml";
-
-        // first let's read the xml document in to Axiom
-        OMElement element = OMXMLBuilderFactory.createOMBuilder(
-                new FileInputStream(inputFile)).getDocumentElement();
-
-        // output it using binary xml outputter
-        MemoryBlob blob = Blobs.createMemoryBlob();
-        OutputStream out = blob.getOutputStream();
-        XMLStreamWriter streamWriter = new StAXDocumentSerializer(out);
-        streamWriter.writeStartDocument();
-        element.serialize(streamWriter);
-        streamWriter.writeEndDocument();
-        out.close();
-
-        // now let's read the binary file in to Axiom
-        XMLStreamReader streamReader = new StAXDocumentParser(blob.getInputStream());
-        OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(streamReader);
-
-        assertAbout(xml()).that(builder.getDocumentElement()).hasSameContentAs(element);
-    }
-}
diff --git a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetTest.java b/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetTest.java
deleted file mode 100644
index 10bf8ed282..0000000000
--- a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.transport.http.SimpleHTTPServer;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.SocketException;
-import java.rmi.RemoteException;
-
-public class FastInfosetTest extends TestCase {
-
-	private static SimpleHTTPServer server;
-	private static AxisService service;
-	private static EndpointReference target;
-	private static ConfigurationContext configurationContext;
-	
-	public void testAdd() throws RemoteException {
-		SimpleAddServiceClient client = new SimpleAddServiceClient(target); //Comment to test with tcpmon.
-//		SimpleAddServiceClient client = new SimpleAddServiceClient(); //Uncomment to test with tcpmon.
-		
-		String result = client.addStrings("Hello ", "World!");
-		System.out.println("Output: " + result);
-		TestCase.assertEquals("Hello World!", result);
-		
-		int result1 = client.addInts(17, 33);
-		System.out.println("Output: " + result1);
-		TestCase.assertEquals(50, result1);
-		
-		float result2 = client.addFloats(17.64f, 32.36f);
-		System.out.println("Output: " + result2);
-		TestCase.assertEquals(50.0f, result2, 0.0005f);
-	}
-
-
-	public void testAdd2() throws RemoteException {
-        SimpleAddServiceClient client = new SimpleAddServiceClient(target, true); //Comment to test with tcpmon.
-////		SimpleAddServiceClient client = new SimpleAddServiceClient(); //Uncomment to test with tcpmon.
-////
-		String result = client.addStrings("Hello ", "World!");
-		System.out.println("Output: " + result);
-		TestCase.assertEquals("Hello World!", result);
-
-		int result1 = client.addInts(17, 33);
-		System.out.println("Output: " + result1);
-		TestCase.assertEquals(50, result1);
-
-		float result2 = client.addFloats(17.64f, 32.36f);
-		System.out.println("Output: " + result2);
-		TestCase.assertEquals(50.0f, result2, 0.0005f);
-	}
-
-	private static int findAvailablePort() throws SocketException, IOException {
-		//Create a server socket on any free socket to find a free socket.
-		ServerSocket ss = new ServerSocket(0);
-		int port = ss.getLocalPort();
-		ss.close();
-   	
-    	return port;
-    }
-	
-    public static Test suite() {
-        return new TestSetup(new TestSuite(FastInfosetTest.class)) {
-            public void setUp() throws Exception {
-
-                System.out.println("Setting up the Simple HTTP Server");
-
-                    int port = findAvailablePort();
-                    port = 5555; //Uncomment to test with tcpmon
-                    target = new EndpointReference("http://127.0.0.1:" + (port)
-                            + "/axis2/services/SimpleAddService");
-
-                    File configFile = new File(System.getProperty("basedir",".") + "/test-resources/axis2.xml");
-                    configurationContext = ConfigurationContextFactory
-                    .createConfigurationContextFromFileSystem("target/test-classes", configFile
-                            .getAbsolutePath());
-
-                    server = new SimpleHTTPServer(configurationContext, port);
-
-                    server.start();
-
-                service = AxisService.createService("org.apache.axis2.fastinfoset.SimpleAddService",
-                        server.getConfigurationContext().getAxisConfiguration());
-
-                server.getConfigurationContext().getAxisConfiguration().addService(
-                        service);
-
-                System.out.println("Simple HTTP Server is started");
-            }
-
-            public void tearDown() throws Exception {
-                    server.stop();
-                    System.out.println("Stopped the Simple HTTP Server");
-            }
-        };
-    }
-}
diff --git a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddService.java b/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddService.java
deleted file mode 100644
index 3a5fd92a6b..0000000000
--- a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-public class SimpleAddService {
-	
-	public int addInts(int val1, int val2) {
-		System.out.println("Received " + val1 + " & " + val2);
-		return val1 + val2;
-	}
-
-	public float addFloats(float val1, float val2) {
-		System.out.println("Received " + val1 + " & " + val2);
-		return val1 + val2;
-	}
-	
-	public String addStrings(String val1, String val2) {
-		System.out.println("Received " + val1 + " & " + val2);
-		return val1 + val2;
-	}
-}
diff --git a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddServiceClient.java b/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddServiceClient.java
deleted file mode 100644
index 8f8011ff2d..0000000000
--- a/modules/fastinfoset/test/org/apache/axis2/fastinfoset/SimpleAddServiceClient.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.axis2.fastinfoset;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddFloats;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddFloatsResponse;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddInts;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddIntsResponse;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddStrings;
-import org.apache.axis2.fastinfoset.SimpleAddServiceStub.AddStringsResponse;
-
-import java.rmi.RemoteException;
-
-public class SimpleAddServiceClient {
-	
-	private SimpleAddServiceStub serviceStub;
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		try {
-			SimpleAddServiceClient client = new SimpleAddServiceClient();
-			System.out.println("Response 1 is " + client.addStrings("Hello ", "World!"));
-			System.out.println("Response 2 is " + client.addInts(23, 27));
-			System.out.println("Response 3 is " + client.addFloats(22.84f, 27.16f));
-		} catch (AxisFault af) {
-			af.printStackTrace();
-		} catch (RemoteException re) {
-			re.printStackTrace();
-		}
-	}
-	
-	/**
-	 * Contructor which uses "http://localhost:8081/axis2/services/SimpleAddService" as the target.
-	 * When the serrver runs at port 8080, this can be use with tcpmon for debugging.
-	 * 
-	 * @throws AxisFault
-	 */
-	public SimpleAddServiceClient() throws AxisFault {
-		this(new EndpointReference("http://localhost:8081/axis2/services/SimpleAddService"));
-	}
-	
-	/**
-	 * Constructor used by the default JUnit test case.
-	 * 
-	 * @param target
-	 * @throws AxisFault
-	 */
-	public SimpleAddServiceClient(EndpointReference target) throws AxisFault {
-		ConfigurationContext context = 
-			ConfigurationContextFactory.createConfigurationContextFromFileSystem("target/test-classes", "test-resources/axis2.xml");
-		serviceStub = new SimpleAddServiceStub(context, target.getAddress());
-		//serviceStub = new SimpleAddServiceStub();
-		ServiceClient client=  serviceStub._getServiceClient();
-		Options options = client.getOptions();
-		options.setProperty(Constants.Configuration.MESSAGE_TYPE, "application/soap+fastinfoset");
-	}
-
-	/**
-	 * Constructor used by the default JUnit test case.
-	 * 
-	 * @param target
-	 * @throws AxisFault
-	 */
-	public SimpleAddServiceClient(EndpointReference target, boolean pox) throws AxisFault {
-		ConfigurationContext context = 
-			ConfigurationContextFactory.createConfigurationContextFromFileSystem("target/test-classes", "test-resources/axis2.xml");
-		serviceStub = new SimpleAddServiceStub(context, target.getAddress());
-		//serviceStub = new SimpleAddServiceStub();
-		ServiceClient client=  serviceStub._getServiceClient();
-		Options options = client.getOptions();
-		if (pox) {
-			options.setProperty(Constants.Configuration.MESSAGE_TYPE, "application/fastinfoset");
-		} else {
-			options.setProperty(Constants.Configuration.MESSAGE_TYPE, "application/soap+fastinfoset");
-		}
-	}
-	
-	public String addStrings(String param0, String param1) throws RemoteException {
-		AddStrings addStrings = new SimpleAddServiceStub.AddStrings();
-		addStrings.setVal1(param0);
-		addStrings.setVal2(param1);
-		AddStringsResponse response1 = serviceStub.addStrings(addStrings);
-		return response1.get_return();
-	}
-
-	public int addInts(int param0, int param1) throws RemoteException {
-		AddInts addInts = new SimpleAddServiceStub.AddInts();
-		addInts.setVal1(param0);
-		addInts.setVal2(param1);
-		AddIntsResponse response2 = serviceStub.addInts(addInts);
-		return response2.get_return();
-	}
-	
-	public float addFloats(float param0, float param1) throws RemoteException {
-		AddFloats addFloats = new SimpleAddServiceStub.AddFloats();
-		addFloats.setVal1(param0);
-		addFloats.setVal2(param1);
-		AddFloatsResponse response3 = serviceStub.addFloats(addFloats);
-		return response3.get_return();
-	}
-}
diff --git a/modules/webapp/pom.xml b/modules/webapp/pom.xml
index e43483a90b..1d2aa969fb 100644
--- a/modules/webapp/pom.xml
+++ b/modules/webapp/pom.xml
@@ -56,11 +56,7 @@
             <artifactId>axis2-spring</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-fastinfoset</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+        <!-- axis2-fastinfoset removed: AXIS2-6105 -->
         <dependency>
             <groupId>org.apache.axis2</groupId>
             <artifactId>axis2-jaxws</artifactId>
@@ -351,8 +347,6 @@
                         WEB-INF/lib/spring-core-*.jar,
                         WEB-INF/lib/spring-web-*.jar,
                         WEB-INF/lib/aopalliance-*.jar,
-                        WEB-INF/lib/bsf-*.jar,
-                        WEB-INF/lib/FastInfoset-*.jar,
                         WEB-INF/lib/js-*.jar
                     </packagingExcludes>
                     <webResources>
diff --git a/pom.xml b/pom.xml
index d355ef6e06..1c286b4c8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -381,7 +381,7 @@
         <module>modules/adb-tests</module>
         <module>modules/addressing</module>
         <module>modules/codegen</module>
-        <module>modules/fastinfoset</module>
+        <!-- FastInfoset removed: AXIS2-6105 (binary XML, superseded by JSON + gzip) -->
         <module>modules/integration</module>
         <module>modules/java2wsdl</module>
         <!-- JiBX modules removed: AXIS2-6105 (dead project, last release 2016) -->
@@ -465,7 +465,7 @@
         <bsf.version>2.4.0</bsf.version>
 	<commons.fileupload.version>2.0.0-M5</commons.fileupload.version>
         <commons.logging.version>1.3.6</commons.logging.version>
-        <fi.version>2.1.1</fi.version>
+        <!-- fi.version removed: AXIS2-6105 -->
         <google.gson.version>2.13.2</google.gson.version>
         <groovy.version>5.0.5</groovy.version>
         <httpcore.version>5.4.2</httpcore.version>
@@ -505,11 +505,7 @@
 
     <dependencyManagement>
         <dependencies>
-            <dependency>
-                <groupId>com.sun.xml.fastinfoset</groupId>
-                <artifactId>FastInfoset</artifactId>
-                <version>${fi.version}</version>
-            </dependency>
+            <!-- FastInfoset dep removed: AXIS2-6105 -->
             <dependency>
                 <groupId>xml-resolver</groupId>
                 <artifactId>xml-resolver</artifactId>


(axis-axis2-java-core) 02/02: Update 2.0.1 release notes with new features, bug fixes, and removed modules

Posted by ro...@apache.org.
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 c833164b8f1f66237f7f996f85ac869d8fa19acc
Author: Robert Lazarski <ro...@gmail.com>
AuthorDate: Sun Apr 19 20:50:22 2026 -1000

    Update 2.0.1 release notes with new features, bug fixes, and removed modules
    
    Add AXIS2-6103 (streaming formatters, HTTP/2 client), Spring Boot
    starter, MCP support, OpenAPI module to new features. Add AXIS2-6101,
    AXIS2-5862, AXIS2-5788 bug fixes. Document all AXIS2-6105 removed
    modules (Eclipse/IDEA plugins, OSGi, JiBX, SOAPMonitor, Scripting,
    FastInfoset) and AXIS2-6102 WSDL 2.0 removal in breaking changes.
---
 src/site/markdown/release-notes/2.0.1.md | 60 ++++++++++++++++++++++++++++++--
 1 file changed, 57 insertions(+), 3 deletions(-)

diff --git a/src/site/markdown/release-notes/2.0.1.md b/src/site/markdown/release-notes/2.0.1.md
index 6bcccdc286..4fa32181ec 100644
--- a/src/site/markdown/release-notes/2.0.1.md
+++ b/src/site/markdown/release-notes/2.0.1.md
@@ -3,10 +3,64 @@ Apache Axis2 2.0.1 Release Notes
 
 ## Java Version Support
 
-Apache Axis2 2.0.1 adds **OpenJDK 21 support** and **requires OpenJDK 17 as the minimum version** (upgraded from Java 8). The SecurityManager APIs removed in Java 21 are handled transparently, and legacy Date/Calendar APIs have been modernized to use java.time APIs. All features are fully tested and supported on both Java 17 and Java 21.
+Apache Axis2 2.0.1 adds **OpenJDK 21 and 25 support** and **requires OpenJDK 17 as the minimum version** (upgraded from Java 8). The SecurityManager APIs removed in Java 21 are handled transparently, and legacy Date/Calendar APIs have been modernized to use java.time APIs. All features are fully tested and supported on Java 17, 21, and 25.
+
+## New Features
+
+- **AXIS2-6098**: HTTP/2 transport module with multiplexing, ALPN negotiation, and adaptive timeouts. Includes standalone HTTP/2 Java client example (`Http2JsonClient`).
+- **AXIS2-6103**: Streaming JSON message formatters (`MoshiStreamingMessageFormatter`, `JSONStreamingMessageFormatter`) with `FlushingOutputStream` that flushes every 64KB. Prevents reverse proxy 502 errors on large responses. Field-level filtering via `FieldFilteringMessageFormatter` and `?fields=` query parameter. MCP (Model Context Protocol) support for AI agents with auto-generated `inputSchema` from Java method parameter types.
+- **AXIS2-6100**: OpenAPI 3.0.1 spec generation and Swagger UI from Axis2 service definitions.
+- **axis2-spring-boot-starter**: New module for Spring Boot autoconfiguration of Axis2.
+- **AXIS2-6040**: `Automatic-Module-Name` defined for Java 9+ module system compatibility.
+
+## Bug Fixes
+
+- [AXIS2-4146](https://issues.apache.org/jira/browse/AXIS2-4146) — HTTP status code 400 is changed to 500
+- [AXIS2-5628](https://issues.apache.org/jira/browse/AXIS2-5628) — Axis OSGi Bundle doesn't provide AxisServices with original WSDL
+- [AXIS2-5696](https://issues.apache.org/jira/browse/AXIS2-5696) — Axis2 threads are not closing properly
+- [AXIS2-5788](https://issues.apache.org/jira/browse/AXIS2-5788) — ConfigurationContext.getServiceGroupContext(id) always touches the id ("Observer Effect")
+- [AXIS2-5852](https://issues.apache.org/jira/browse/AXIS2-5852) — 'Axis2 task' threads stay in waiting state without terminating
+- [AXIS2-5858](https://issues.apache.org/jira/browse/AXIS2-5858) — soap:address location value is wrong with IPv6
+- [AXIS2-5862](https://issues.apache.org/jira/browse/AXIS2-5862) — Handler / Phase indexes incorrect
+- [AXIS2-5955](https://issues.apache.org/jira/browse/AXIS2-5955) — Code generator plugin for Eclipse doesn't work
+- [AXIS2-5965](https://issues.apache.org/jira/browse/AXIS2-5965) — .class files up to 3 times redundantly in jar file
+- [AXIS2-5966](https://issues.apache.org/jira/browse/AXIS2-5966) — Axis2 1.8.0-SNAPSHOT fix did not work for JDK 11
+- [AXIS2-5971](https://issues.apache.org/jira/browse/AXIS2-5971) — AxisServlet.processURLRequest uses content-type header instead of accept
+- [AXIS2-5972](https://issues.apache.org/jira/browse/AXIS2-5972) — Missing namespace declaration when attribute present in multiple XSDs
+- [AXIS2-6031](https://issues.apache.org/jira/browse/AXIS2-6031) — XMLBeans generator generates methods with @deprecated in Javadoc only
+- [AXIS2-6047](https://issues.apache.org/jira/browse/AXIS2-6047) — Missing port in Host header from HTTPClient4TransportSender
+- [AXIS2-6055](https://issues.apache.org/jira/browse/AXIS2-6055) — Basic Auth credentials are missing in request
+- [AXIS2-6061](https://issues.apache.org/jira/browse/AXIS2-6061) — Axis2 client parses SOAP envelope on HTTP 404
+- [AXIS2-6074](https://issues.apache.org/jira/browse/AXIS2-6074) — Issue with empty enum tags
+- [AXIS2-6083](https://issues.apache.org/jira/browse/AXIS2-6083) — Cookie handling does not work with 2.0.0
+- [AXIS2-6086](https://issues.apache.org/jira/browse/AXIS2-6086) — AxisServlet processAxisFault does not guard against NumberFormatException
+- [AXIS2-6087](https://issues.apache.org/jira/browse/AXIS2-6087) — Master branch using 1.8.0 AAR/MAR dependencies
+- [AXIS2-6090](https://issues.apache.org/jira/browse/AXIS2-6090) — Tomcat version compatibility
+- [AXIS2-6091](https://issues.apache.org/jira/browse/AXIS2-6091) — Problem handling HTTP response in OutInAxisOperationClient
+- [AXIS2-6094](https://issues.apache.org/jira/browse/AXIS2-6094) — CRC mismatch between WAR and repository JARs
+- [AXIS2-6095](https://issues.apache.org/jira/browse/AXIS2-6095) — CORBA IDL parser fault on valid comment
+- [AXIS2-6096](https://issues.apache.org/jira/browse/AXIS2-6096) — Attempted read on closed stream in multithreaded environment
+- [AXIS2-6101](https://issues.apache.org/jira/browse/AXIS2-6101) — Adapt to changes in HttpClient 5.6
+
+## Improvements
+
+- [AXIS2-3879](https://issues.apache.org/jira/browse/AXIS2-3879) — Ability to change HTTP status code in response
+- [AXIS2-5762](https://issues.apache.org/jira/browse/AXIS2-5762) — Add transport ports to MessageContext
+- [AXIS2-5881](https://issues.apache.org/jira/browse/AXIS2-5881) — Sort services and operations in listServices.jsp
+- [AXIS2-6053](https://issues.apache.org/jira/browse/AXIS2-6053) — Fix contentType attribute validation
+- [AXIS2-6082](https://issues.apache.org/jira/browse/AXIS2-6082) — Make Axis2 build reproducible
+- [AXIS2-6085](https://issues.apache.org/jira/browse/AXIS2-6085) — Build instructions mention bash requirement
+
+## Removed Features
+
+- **AXIS2-6105**: Eclipse codegen and service plugins, IntelliJ IDEA plugin, OSGi module (AXIS2-6076), JiBX data binding, SOAPMonitor, Scripting (BSF/JSR-223), FastInfoset. See [AXIS2-6105](https://issues.apache.org/jira/browse/AXIS2-6105) for details.
+- **AXIS2-6102**: WSDL 2.0 (Woden) implementation removed. WSDL 1.1 remains fully supported.
+- **AXIS2-6097**: Clustering feature removed.
+- **AXIS2-6079**: Java Security Manager / AccessController code removed (deprecated in Java 17, removed in Java 24).
 
 ## Breaking Changes
 
-- **Minimum Java Version**: Now requires **Java 17** (previously Java 8)
+- **Minimum Java Version**: Requires **Java 17** (previously Java 8)
 - **API Modernization**: Legacy Date/Calendar usage replaced with java.time.Instant APIs
-- **Security**: SecurityManager dependent code removed for Java 21 compatibility
+- **Security**: SecurityManager dependent code removed for Java 21+ compatibility
+- **Removed modules**: Users of JiBX, SOAPMonitor, Scripting, FastInfoset, Eclipse/IDEA plugins, OSGi, WSDL 2.0, or Clustering must migrate before upgrading from 2.0.0