<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at May 1, 2013
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20130501" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis - Changelog for Axis 1.4.1</title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />

      
    <script type="text/javascript" src="../js/apache-maven-fluido-1.3.0.min.js"></script>

    
            </head>
        <body class="topBarDisabled">
          
                
                    
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                <div id="bannerLeft">
                <h2>Axis</h2>
                </div>
                      </div>
        <div class="pull-right">                                <a href=".././" id="bannerRight">
                                                                                                <img src="../images/axis-small.png"  alt="Apache Axis"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../../../" title="Axis">
        Axis</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../../" title="Axis 1.x">
        Axis 1.x</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href=".././" title="Java">
        Java</a>
        </li>
      <li class="divider ">/</li>
        <li class="">Changelog for Axis 1.4.1</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 2013-05-01</li> <li class="divider pull-right">|</li>
              <li id="projectVersion" class="pull-right">Version: 1.4.1-SNAPSHOT</li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">About</li>
                                
      <li>
    
                          <a href="../index.html" title="Introduction">
          <i class="none"></i>
        Introduction</a>
            </li>
                  
      <li>
    
                          <a href="../issue-tracking.html" title="Issue Tracking">
          <i class="none"></i>
        Issue Tracking</a>
            </li>
                  
      <li>
    
                          <a href="../mail-lists.html" title="Mailing Lists">
          <i class="none"></i>
        Mailing Lists</a>
            </li>
                  
      <li>
    
                          <a href="../source-repository.html" title="Source Repository">
          <i class="none"></i>
        Source Repository</a>
            </li>
                  
      <li>
    
                          <a href="../artifacts.html" title="Artifacts & Dependencies">
          <i class="none"></i>
        Artifacts & Dependencies</a>
            </li>
                  
      <li>
    
                          <a href="../apiDocs/index.html" title="Javadocs">
          <i class="none"></i>
        Javadocs</a>
            </li>
                              <li class="nav-header">Downloads</li>
                                
      <li>
    
                          <a href="../releases.html" title="Releases">
          <i class="none"></i>
        Releases</a>
            </li>
                                                                                                                                                      
      <li>
    
                          <a href="../changelog.html" title="Changelogs">
          <i class="icon-chevron-down"></i>
        Changelogs</a>
                    <ul class="nav nav-list">
                      
      <li class="active">
    
            <a href="#"><i class="none"></i>1.4.1</a>
          </li>
                      
      <li>
    
                          <a href="../changelogs/1_4.html" title="1.4">
          <i class="none"></i>
        1.4</a>
            </li>
                      
      <li>
    
                          <a href="../changelogs/1_3.html" title="1.3">
          <i class="none"></i>
        1.3</a>
            </li>
                      
      <li>
    
                          <a href="../changelogs/1_2_1.html" title="1.2.1">
          <i class="none"></i>
        1.2.1</a>
            </li>
                      
      <li>
    
                          <a href="../changelogs/1_1.html" title="1.1">
          <i class="none"></i>
        1.1</a>
            </li>
              </ul>
        </li>
                  
      <li>
    
                          <a href="../snapshots.html" title="Snapshots">
          <i class="none"></i>
        Snapshots</a>
            </li>
                              <li class="nav-header">Documentation</li>
                                
      <li>
    
                          <a href="../overview.html" title="Overview">
          <i class="none"></i>
        Overview</a>
            </li>
                  
      <li>
    
                          <a href="../install.html" title="Installation">
          <i class="none"></i>
        Installation</a>
            </li>
                  
      <li>
    
                          <a href="../user-guide.html" title="User's Guide">
          <i class="none"></i>
        User's Guide</a>
            </li>
                  
      <li>
    
                          <a href="../developers-guide.html" title="Developer's Guide">
          <i class="none"></i>
        Developer's Guide</a>
            </li>
                  
      <li>
    
                          <a href="../integration-guide.html" title="Integration Guide">
          <i class="none"></i>
        Integration Guide</a>
            </li>
                  
      <li>
    
                          <a href="../architecture-guide.html" title="Architecture Guide">
          <i class="none"></i>
        Architecture Guide</a>
            </li>
                  
      <li>
    
                          <a href="../reference.html" title="Reference Guide">
          <i class="none"></i>
        Reference Guide</a>
            </li>
                  
      <li>
    
                          <a href="../reading.html" title="Reading Guide">
          <i class="none"></i>
        Reading Guide</a>
            </li>
                              <li class="nav-header">More...</li>
                                
      <li>
    
                          <a href="../ant/ant.html" title="Ant Tasks">
          <i class="none"></i>
        Ant Tasks</a>
            </li>
                  
      <li>
    
                          <a href="../maven/index.html" title="Maven Plugins">
          <i class="none"></i>
        Maven Plugins</a>
            </li>
                  
      <li>
    
                          <a href="../castor/index.html" title="Castor Databinding">
          <i class="none"></i>
        Castor Databinding</a>
            </li>
                  
      <li>
    
                          <a href="../xmlbeans/index.html" title="XmlBeans Databinding">
          <i class="none"></i>
        XmlBeans Databinding</a>
            </li>
                  
      <li>
    
                          <a href="../transports/jms/index.html" title="JMS Transport">
          <i class="none"></i>
        JMS Transport</a>
            </li>
                  
      <li>
    
                          <a href="../transports/http-hc3/index.html" title="HttpClient 3 Transport">
          <i class="none"></i>
        HttpClient 3 Transport</a>
            </li>
                  
      <li>
    
                          <a href="../transports/http-javanet/index.html" title="java.net HTTP Transport">
          <i class="none"></i>
        java.net HTTP Transport</a>
            </li>
                  
      <li>
    
                          <a href="../standalone-server/index.html" title="Stand-alone Server">
          <i class="none"></i>
        Stand-alone Server</a>
            </li>
                              <li class="nav-header">Apache</li>
                                
      <li>
    
                          <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License">
          <i class="none"></i>
        License</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
          <i class="none"></i>
        Sponsorship</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <i class="none"></i>
        Thanks</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">
          <i class="none"></i>
        Security</a>
            </li>
            </ul>
                
                    
                            <form id="search-form" action="http://www.google.com/search" method="get" >
    
  <input value="ws.apache.org/axis/java" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
          <hr class="divider" />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span9" >
                                  
            <!-- 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. --><div class="section"><h2>Changes from 1.4 final<a name="Changes_from_1.4_final"></a></h2><ul><li>The Axis build has been migrated from Ant to Maven. This implies that the source distribution has a completely different structure.</li><li>A Maven plugin has been added. This plugin can be used as an alternative to the Axis Ant tasks.</li><li>A new stand-alone server has been added. It uses an embedded Jetty server and superseded the old SimpleAxisServer. The Maven plugin has goals to start/stop stand-alone server instances so that the new stand-alone server can be easily integrated into integration tests executed using Maven.</li><li>A new HTTP transport has been added. It can be used as an alternative to the default <tt>HTTPSender</tt> or the Commons HttpClient based transport (<tt>CommonsHTTPSender</tt>). It uses the <tt>java.net.HttpURLConnection</tt> API which supports HTTP 1.1 keep-alive connections. In contrast to <tt>CommonsHTTPSender</tt>, it doesn't impose any additional requirements on the application code (see the <a class="externalLink" href="http://wiki.apache.org/ws/FrontPage/Axis/AxisCommonsHTTP">AxisCommonsHTTP how-to</a>) and can therefore be used as a drop-in replacement for <tt>HTTPSender</tt>. However, it requires Java 1.5 because it relies on features of the <tt>java.net.HttpURLConnection</tt> API that were not available in earlier Java versions.</li><li>It is now possible to change the Java class associated with an XML type when generating a client stub. Note that this is only supported by the maven-wsdl2java-plugin, but not by the corresponding Ant task or command line tool. The feature can be used to consume MTOM enabled services. Check the <a href="../maven/maven-wsdl2java-plugin/java-xml-type-mappings.html">plugin documentation</a> for more information.</li><li>WSDL4J has been upgraded from 1.5.1 to 1.6.2.</li><li>Support for Java 1.3 has been dropped.</li><li><tt>AxisServlet</tt> no longer attempts to register the Axis MBeans automatically. To enable them, add <tt>axis-rt-management</tt> as a dependency and register <tt>org.apache.axis.management.servlet.AxisServerMBeanExporter</tt> as a listener in <tt>web.xml</tt>.</li></ul></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
              <div class="row span12">Copyright &copy;                    2000-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
        
                </div>
    </footer>
  </body>
</html>