blob: 7f1ddaf737c8acf45bf5230aa141eb3a2ecd9be3 [file] [log] [blame]
<html>
<head>
<title>Axis Change Log</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.example { background:#ccccff }
.xml { background:#eeeeee }
body { font-family: Verdana, Arial, Helvetica, sans-serif; margin-left: 40px}
h2 { text-decoration: underline; background-color: #DCE1FF; background-position: left; margin-left: -30px}
h3 { margin-left: -10px}
h1 { margin-left: -30px}
-->
</style>
</head>
<body>
<h1>Axis Change Log</h1>
<h2>Axis 1.2</h2>
<h3>Changes from 1.2rc3</h3>
<ul>
<li> Tons of changes to typemapping system to better support jax-rpc1.1 and .NET
<li> Improved SAAJ 1.2 support
<li> Much better for rpc/lit and doc/lit (especially for arrays)
<li>Map schema "wrapped" arrays (with inner &lt;item&gt; elements) into arrays of the item type, instead of JavaBeans, by default. Introduce the "-w" or "--wrapArrays" option to WSDL2Java to switch back to the earlier behavior.
<li> Fix some WS-I related bugs. Makes it easier to deploy WS-I BP compatible services.
<li> Internationalized happyaxis jsp pages.
<li> Updated to latest dependency jars. (ex wsdl4j-1.5.1.jar)
<li> Improved commons httpclient support.
<li> Support for sending and receiving multiple cookies
<li> Lots of fixes for performance enhancements (including eliminating ThreadLocal's)
<li> Improved JMX support - Start/Stop server/services and deploy/modify services
</ul>
<h3>Changes from 1.2beta2</h3>
<ul>
<li>When generating WSDL, don't change the scoping rules for type mappings. In other words, use the most specific mappings just like we do for message processing.
<li>Fix problem with version string
<li>Remove JAXP interfaces (should come from jaxp.jar, not jaxrpc.jar)
</ul>
<h3>Changes from 1.1</h3>
<ul>
<li>Preliminary SAAJ 1.2 support!</li>
<li>Improved doc/literal support</li>
<li>Improved handling of array types + WSDL generation</li>
<li>More logical type mapping registration (SOAP-ENC types are in a separate registry which then delegates to the default one)</li>
<li>Improved schema support (we deal with lists and groups now)</li>
<li>ServiceDesc metadata is now more generic - ServiceDesc is an interface and JavaServiceDesc implements it to do specific Java processing.</li>
<li>Throw fault when bad values for "mustUnderstand" attribute are parsed</li>
<li>log4j.properties is no longer in axis.jar. This is to avoid conflicts
with the configuration files in other bits of the application.</li>
<li>Many bugfixes. See <A HREF="docs/cvslog.html">docs/cvslog.html</A></li>
</ul>
<h2>Axis 1.1</h2>
<h3>Changes from 1.0 to 1.1 that may break your code</h3>
<ul>
<li> We have changed how we map http URLs to packages, such that any directories
in the URL are used as well as the hostname. The previous behavior was a defect,
as it would import WSDL from the same site into the same place. If you do
not explicitly state the mappings of URIs to packages, things may now end
up in different places </li>
<li> The default socket timeout for clients is now 60 seconds, not infinity.
You can use the setTimeout() option on any binding (cast it to an <tt>org.apache.axis.client.Stub</tt>
first) to change this.</li>
<li>The API for writing custom schema from a Serializer (writeSchema()) has
changed! We now return an Element which should be suitable for either dropping
under an &lt;element&gt; or &lt;attribute&gt; declaration as an anonymous
type OR for putting a name=&quot;&quot; attribute on and making global in
the schema. See any of our included serializers (MapSerializer is a good'un)
for an example.</li>
</ul>
<h3>Changes from 1.1RC2</h3>
<p>For a full list of ALL changes in CVS since 1.1RC2, <a href="http://ws.apache.org/axis/changelogs/11rc2-11-diff.html">click
here</a>.</p>
<h3>Changes from 1.0 to 1.1</h3>
<ul>
<li>Vastly improved SOAP 1.2 support
<li>There is a new email transport in transport/mail
<li>Added serializers/deserializers for Castor compatibility
<li>Improved WSDL schema generation APIs for custom types
<li>Added CORBA and RMI providers
<li>Improved EJBProvider's ability to be a &quot;good EJB citizen&quot; (deals
better with JNDI, etc)
<li>Improved multiref deserialization code
<li>Axis supports JMS for reliable messaging between client and server. Note
that the actual wire format of JMS messages is vendor-specific at present,
so you may not be able to use this to connect arbitrary JMS clients and servers
without special bridging software. Refer to your particular JMS vendor for
details. (rule-of-thumb is &quot;if you can get a JMS connection working,
we can talk SOAP over it.&quot; :))
<li>We include a more recent version of wsdl4j.jar (23/mar/2003).
<li>The misnamed org.apache.axis.encoding.DefaultSOAP12TypeMappingImpl is now
called DefaultSOAPEncodingTypeMappingImpl (the old class is still there but
deprecated)
<li>Log4J 1.2.8 is the version of log4J we use, though Axis still works with
older versions (i.e. we dont use the XML configuration mechanism.).
<li>Many more WSDL and interop issues reported (thank you!) and fixed.
<li>One late breaking interop fix was a workaround for a bug in .NET1.0, which
does not like empty arrays very much. This fix is not enabled by default.
If you have trouble with .NET1.0 clients handling arrays, look up <b>axis.sendMinimizedElements</b>
in the global configuaration section of the reference manual.
<li>Axis Ant tasks are now documented, and are much enhanced.
<!-- you only get this if you build axis yourself, so
<li>Axis now includes a Castor serializer, handing off XML marshalling to <a href="http://castor.exolab.org/">Castor</a>.
Castor integration offers schema validation and autogenerated Java classes
from a Schema. Pending documentation and tests, this code is left for the
experienced Castor user, who should look at the classes in org.apache.axis.encoding.ser.castor
to discover what is available.
-->
<li>Fixed a bug where clients running Java1.4 needed servlet.jar on their classpath
<li>Fixed <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13682">
a bug</a> with Axis shutdown on Tomcat 3.3.1
<li>Various documentation tweaks: improved installation guide, more reference
documentation and a new security guide for anyone using Axis in production.
<li>On the subject of security, three security issues were fixed; two related
to XML entity/file inclusion on inbound messages and one potentially enabling
cross-site-scripting.
<li>Tcpmon lets you specify delays in message handling: sleep times in milliseconds
every so-many bytes sent or received. This is useful if you want to see what
happens to your client application over a slow link. Usually it becomes clear
that your client application grinds to a halt unless all the calls are in
a separate thread from any GUI.
<li>Attachments are extended with direct access to the filename, and the ability
to detach the file from the <tt>AttachmentPart</tt> so it wont get deleted
on cleanup. Yes, attachments should now get automatically cleaned up when
their owning <tt>AttachmentPart</tt> is finalized. Look at the javadocs for
the specifics.
<li>CommonsHTTPSender updated to use <A href="http://jakarta.apache.org/commons/httpclient/downloads.html">Jakarta
Commons's HTTPClient 2.0 RC3</a></li>
</ul>
<h4>Improvements in Exception Handling</h4>
The JAX-RPC specification of exceptions is now implemented; you may well be able
to send abitrary exceptions over the wire and have them retranslated into Java
Exceptions at the far end. Of course, non-Java destinations have a little problem there,
all they get are the XML details to make sense of somehow. There is a lot to
be said for creating, filling and throwing an <tt>AxisFault</tt> directly, and documenting
the <tt>faultdetails</tt> elements for callers of all languages to make sense of. Axis now
makes it easier to work with these details; consult at the <tt>AxisFault</tt> javadocs to
see the new fault detail methods.
<p>
Axis no longer reports AxisFaults at INFO level on the client or server,
unless you configure the logging parameters to do so;
see the reference documents for details on how to do this. There is one
exception: we do log server-side any AxisFaults created from RunTimeExceptions
that are thrown by web service methods you implement. This is because those
are usually bugs (like null pointer exceptions) that service developers like
to know about before
<p>
For security reasons we have stopped sending stack traces over the wire to
callers by default. The reference manual shows how to enable this on
development systems.
<p> Finally, we know we still have more to do to get exceptions fully under control.
For example, global <tt>OnFault</tt> handlers are apparently not called consistently,
and we need to do a lot more interop testing across platforms and languages.
We also need a willing volunter to provide a guide to exceptions in SOAP and
Axis.
<h3>Older Changes</h3>
<p>More changelogs can be found on <a href="http://ws.apache.org/axis/changelogs">the
Axis website</a>.
</body>
</html>