             Axis (Apache eXtensible Interaction System)
             ------------------------------------------- 

Welcome to Axis!  You'll find documentation in the docs/ directory.

Please read the release notes (release-notes.html) in this directory for
details on the current release.

Thanks from all of us on the Axis team for downloading the package; help
us make it better by sending comments to axis-user@ws.apache.org.


