<!--
  ~ 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.
  -->

<html>
<head>
  <meta http-equiv="content-type" content="">
  <title>Welcome to Apache Axis2 version @axisVersion@</title>
</head>

<body lang="en">
<h1>Welcome to Apache Axis2 version @axisVersion@</h1>

<h3>@TODAY@</h3>

<pre>Just over 8 months since the 1.3 release, we are very proud to
announce the release of Apache Axis2 version @axisVersion@.

Downloads are available at:
    http://ws.apache.org/axis2/download.cgi

Apache Axis2 is a complete re-design and re-write of the widely used
Apache Axis engine and is a more efficient, more scalable, more modular
and more XML-oriented Web services framework. It is carefully designed to
support the easy addition of plug-in "modules" that extend its
functionality for features such as security and reliability.

Modules supporting WS-Security/Secure-Conversation (Apache Rampart),
WS-Trust (Apache Rahas), WS-Reliable Messaging (Apache Sandesha) and
WS-Eventing (Apache Savan) will be available soon after the Apache Axis2
@axisVersion@ release. Please see these projects' own sites for further information.

Major Changes Since 1.3:
- Support for JAXWS and JSR 181 Annotations
- Experimental Corba Support
- Fixed tons of small and not-so-small bugs (See list below)

Known Issues and Limitations in @axisVersion@ Release:
- Please see JIRA

We are striving for a simple and happy first time user experience as well as a
satisfying experienced user experience with this release. We welcome any
and all feedback at:
    axis-user@ws.apache.org (please include "[axis2]" in the subject)
    axis-dev@ws.apache.org (please include "[axis2]" in the subject)
    http://issues.apache.org/jira/browse/AXIS2

Thank you for your interest in Apache Axis2!

The Axis2 Development Team
http://ws.apache.org/axis2/

------------------------------------------------------------------------------------

Features of Apache Axis2:

Programming Model
   - Simple XML-centric client API with full WSDL and policy support
   - Support for POJO and Spring services and clients
   - Support for any message exchange pattern (MEP)
   - Synchronous and asynchronous programming model
   - Archived service deployment model supporting full service
     encapsulation with versioning support
   - Archived module deployment model supporting controlled
     extensibility with versioning support
   - Hot deployment
   - WS-Policy driven code generation extensions
   - Flexible service life cycle model
   - Automatic support for POX (REST) style invocation of services
   - Support for querying service's WSDL (with ?wsdl), schema (with
     ?xsd) and policies (with ?policy)

Supported Specifications
   - SOAP 1.1 and 1.2
   - Message Transmission Optimization Mechanism (MTOM)
   - XML Optimized Packaging (XOP)
   - SOAP with Attachments
   - WSDL 1.1, including both SOAP and HTTP bindings
   - WS-Addressing submission and 1.0
   - WS-Policy
   - SAAJ 1.1

Transports
   - HTTP
   - SMTP
   - JMS
   - TCP

Supported Data Bindings
   - Axis Data Binding (ADB)
   - XMLBeans
   - JibX
   - JaxBRI (Experimental)

Tools
   - WSDL2Java: Generate Java stubs and skeletons from a WSDL document.
   - Java2WSDL: Generate a WSDL document from a Java class.
   - Eclipse Plugins
   - IntelliJ Idea Plugins
   - Maven2 Plugins
   - Web application for administering Apache Axis2
   
Bugs marked as Resolved/Fixed after 1.3 Release:
AXIS2-3757	Miss behaviour in adding handlers to the phase when the handler has after attribute
AXIS2-3758	REST GET invocations fail with httpLocations of the form foo/{name} when more than one parameter is present
AXIS2-3759	JAXWS: Out Of Memory Issues With JAXBContext
AXIS2-3760	legal/backport-util-concurrent-LICENSE.txt is out of date
AXIS2-3761	Generated ?wsdl2 docs are invalid when a service has more than 1 transport enabled
AXIS2-3762	Generated ?wsdl2 docs do not contain httpLocation for HttpBinding hence codegen for httpBinding will not work
AXIS2-3763	Invalid soap fault
AXIS2-3764	Attribute containing all upper case characters not included in response
AXIS2-3765	[REST support] when using POST with x-www-form-urlencoded data aren't decode from url encoded
AXIS2-3766	File setLastModified() in deployment code causes problems
AXIS2-3767	Store UnmarshalInfo instances on AxisOperation instead of AxisService
AXIS2-3768	org.apache.axis2.AxisFault: Connection reset - connections are not closing for long time
AXIS2-3769	Use actaul message to determine the outbound wsa action
AXIS2-3770	Wrong JAX-WS handler-chain execution
AXIS2-3771	Rampart has dependancies to classes which was in mex-impl
AXIS2-3772	JAXWS: CID for SWA Attachments does not comply with the WS-I Specification Syntax
AXIS2-3773	Support for @MTOM Threshold.
AXIS2-3774	?wsdl2 does not show engaged security policies
AXIS2-3775	?wsdl2 shows endpoints for transports that are dissabled
AXIS2-3776	Context class loader not restored correctly
AXIS2-3777	Handling of exceptions raised by handlers in one-way invocations
AXIS2-3778	Problems loading RequestWrapper/ResponseWrapper etc when JAXWS Service is deployed as a jar under servicejars
AXIS2-3779	JAX-WS: JAXBUtils should not load classes from nested packages
AXIS2-3780	Array of strings (or other simple types) are serialized as xsd:list
AXIS2-3781	Shell scripts do not tolerate AXIS2_HOME and JAVA_HOME with spaces in paths
AXIS2-3782	All outbound handlers are invoked when an inbound handler throws exception or returns false
AXIS2-3783	CLONE -Classpath/Classloader issue with packaging
AXIS2-3784	Log.debug statement causes NullPointerException
AXIS2-3785	Can't use SSL with scope="transportsession"
AXIS2-3786	Invalid SOAPMessage caching in SoapMessageContext
AXIS2-3787	MessageContext.REFERENCE_PARAMETERS property not visible in handlers
AXIS2-3788	WSDL2Java fails for WSDL that work for Axis2 1.3
AXIS2-3789	Adding codegen jar to axis2.war and adding mtompolicy jar to distribution
AXIS2-3790	WSDL2Java throws a StackOverflowError
AXIS2-3791	If available prefer sending [Subsubcode] as the fault code instead of [Subcode] for SOAP 1.1 faults
AXIS2-3792	axis2-mtompolicy-1.4.jar is missing in the bin dist
AXIS2-3793	Input/output wsa actions are not always set
AXIS2-3794	fixes for backward compatibility
AXIS2-3795	Improve handler-chains.xml parsing
AXIS2-3796	SOAP Action is not set by service Client when its invoked via a WSDL
AXIS2-3797	JAXWS: Support Binding Property to Access SOAPHeaders
AXIS2-3798	httpcore-niossl-LICENSE.txt is no longer needed - should be deleted
AXIS2-3799	Methods with multiple faults and wsa actions are not handled correctly
AXIS2-3800	Backward compatibility, Minor fixes for 1.4 release
AXIS2-3801	Add option to enable a wsa:MessageId in repsonse message
AXIS2-3802	WSDL2Java tool fails with NullPointerException
AXIS2-3803	Thread safety in XMLFaultCode
AXIS2-3804	JAXWS: Need to preserve "custom fault codes" for SOAP 1.1
AXIS2-3805	WSDL2java does not work correctly if no network or behind Firewall
AXIS2-3806	The AddressingInHandler needs to take account of the WS_ADDRESSING_VERSION parameter
AXIS2-3807	JAXWS: @MTOM annotation not respected in some circumstances
AXIS2-3808	Should preclude new dispatch instances where type is SOAP and mode is payload
AXIS2-3809	Support for @XmlSeeAlso
AXIS2-3810	Update signature of WsdlGenerator method
AXIS2-3811	AddressingOutHandler uses OMElement instead of SOAPHeaderBlock when processing reference parameters
AXIS2-3812	Wsdl2 code generation falis
AXIS2-3813	Attachments larger than Integer.MAX_VALUE (appr 2.1GB) fails
AXIS2-3814	org.apache.axis2.transport.jms.JMSListener.stop() doesn't shutdown the thread pool created in start() for JMSMessageReceiver
AXIS2-3815	Unable to switch addressing mar on in jaxws-integration tests
AXIS2-3816	AddressingOutHandler may omit wsa:To on 2004/08 despite it being mandatory
AXIS2-3817	NPE in MessageContextBuilder.createFaultEnvelope and SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME property set in message context
AXIS2-3818	Need to ensure we are generating wsdl only for SOAP 11 based bindings
AXIS2-3819	Support WS-A action generation from pure annotations
AXIS2-3820	Enable AxisFault to display correct 'caused by' exception
AXIS2-3821	InvocationResponse.equals throws NPE
AXIS2-3822	Implicit SEIs cause too many methods to be published
AXIS2-3823	Suggested fixes for 1.4 RC3
AXIS2-3824	AxisBindings are created for each and every transport on services deployed
AXIS2-3825	MTOM does not work if the file length is zero
AXIS2-3826	ADB code generation fails when <element> is a reference to included schema
AXIS2-3827	xmlSchema optional attributes are not handled properly
AXIS2-3828	Included schema filenames impact wsdl2java with xmlbeans binding
AXIS2-3829	Validation failure on using sun JDK in ParallelAsyncTests
AXIS2-3830	java_first_jaxws sample does not run per README instructions
AXIS2-3831	JAXWS Sample - Asynchronous Echo with Async Communication doesn't work
AXIS2-3832	@WebMethod(exclude=true) is not being honored
AXIS2-3833	New service deployment change has broken ?wsdl2
AXIS2-3834	JAXWS: NLS Correction for 1.4 RC3
AXIS2-3835	jaxws-calculator sample does not run per the README.txt
AXIS2-3836	JAXWS Addressing Calculator does not work.
AXIS2-3837	Running JAXWS proxy tests with WSDL fails
AXIS2-3838	Problem building documentaiton Module v1.3 rc2
AXIS2-3839	The generated WSDL2 (?wsdl2) does not have soap11, http bindings if the wsdl is included in service archive
AXIS2-3840	multipart/form-data problem at the RESTFul Service
AXIS2-3841	Encoded ampersands in REST URLs terminate parameters
AXIS2-3842	JAXWS: Not correctly detecting version mismatch
AXIS2-3843	maven java2wsdl and wsdl2code plugins do not work
AXIS2-3844	JAXWS: The scenario where a single SWA attachment is sent and returned (no body elements) is not working
AXIS2-3845	@WebService.name attribute parameter not being properly set
AXIS2-3846	GenericProviderDispatcher in default war's axis2.xml
AXIS2-3847	Unable to find handlerChain's configuration file from the classpath
AXIS2-3848	Support for JAX-WS 2.1
AXIS2-3849	Need a scrub for J2S doPriv
AXIS2-3850	Axis2-1.4-RC1: Advanced-rmi sample client fails
AXIS2-3851	JAX-WS 2.1: Support @RespectBinding and RespectBindingFeature
AXIS2-3852	Worng Content-Type HTTP header when sending MTOM (incompatible with JBossWS)
AXIS2-3853	.NET C# using WSE 3.0 does not interop with Axis2.0 Version 1.3
AXIS2-3854	MTOM not enabled for dynamic ports
AXIS2-3855	Support role/actor based mustUnderstand header processing
AXIS2-3856	MTOM has problems when I create an attachtment from a byte array of zero elements
AXIS2-3857	Attachment delete to use LifecycleManager functionality.
AXIS2-3858	WSDLDefinitionWrapper is not being constructed with the proper Configuration information
AXIS2-3859	NullPointerException during codegen when using JaxB RI databinding
AXIS2-3860	memory leaks related to unmarshaller pooling
AXIS2-3861	JAXBCustomBuilder should avoid encrypted data
AXIS2-3862	Wrong SOAP MustUnderstand Handling when using JAX-WS Handler
AXIS2-3863	RequestBlockingHandler.invoke uses equals to compare a String and a QName
AXIS2-3864	ObjectInputStreamWithCL.resolver should not be static because it's updated by instance methods
AXIS2-3865	Improvements in SafeObjectOutputStream
AXIS2-3866	SessionContext does not initializes the transent maps into readExternal
AXIS2-3867	[Break] MtomSampleTests - The org.apache.axis2.jaxws.sample.MtomSampleTests suite is failing
AXIS2-3868	NPE in HttpCoreNIOSender
AXIS2-3869	The MessageId generator creates duplicates
AXIS2-3870	java.io.FileNotFoundException related to persising sessions in tomcat
AXIS2-3871	Axis2 on Jetty & Tomcat bug: work dir is deleted on jetty shut down
AXIS2-3872	NPE throws when invoking jax-ws calculator sample service
AXIS2-3873	[Break] ParallelAsyncTests
AXIS2-3874	When WSDL exists, set wsdl properties for provider
AXIS2-3875	[Break] NonWrapTests break - dispatchable OperationDescription list is incorrect
AXIS2-3876	Addressing setup in JAXWSDeployer fails
AXIS2-3877	Example maven2 configuration is broken.
AXIS2-3878	axis2.bat, axis2server.bat and wsdl2java.bat scripts do not work if axis2 directory path is too long
AXIS2-3879	java.lang.NoClassDefFoundError while running java2wsdl or wsdl2java
AXIS2-3880	ParameterIncludeImpl needs AccessControl check
AXIS2-3881	java.lang.IllegalStateException on org.apache.axis2.transport.TransportUtils.deleteAttachments.
AXIS2-3882	Upgrade simple http and nhttp transports to HttpComponents Core 4.0-beta1
AXIS2-3883	[Break] SimpleTypeDateTimePopulateTest break - on JDK 1.4
AXIS2-3884	Add support for @Action and @FaultAction
AXIS2-3885	JAX-WS 2.1: Add support for AddressingFeature and SubmissionAddressingFeature
AXIS2-3886	Enhance the JAXWSDeployer to configure the JAX-WS runtime to be able to create endpoint references.
AXIS2-3887	problem in axis2 version service + internal server error prevents access to services/admin pages
AXIS2-3888	Adding equals and hashCode to ServiceClient
AXIS2-3889	SwaTest.wsdl not found when building binary from source distribution
AXIS2-3890	Remove one of MEX maven module
AXIS2-3891	New MustUnderstand code results in JAXWS Integration test failure
AXIS2-3892	Error extracting fault from SOAP envelope when body is encrypted
AXIS2-3893	Undeploy fails to persist sessions on Tomcat 5.5 and 6
AXIS2-3894	Fix for the inner classes issue (attached)
AXIS2-3895	StringListTests doesn't work
AXIS2-3896	sources unavailable in the maven repository.
AXIS2-3897	Axis2 online documentation references invalid services.xsd
AXIS2-3898	MEX module does not contain implementation class files after build
AXIS2-3899	Change scope of Maven dependencies in axis-spring to 'provided'
AXIS2-3900	Axis doesn't use params from axis2.xml
AXIS2-3901	Unable to engage addressing at client side, want to know the specific location of addressing.mar in the project
AXIS2-3902	Endpoint Extension handling bug in WSDL20ToAxisServiceBuilder
AXIS2-3903	Loader.java in util package of kernel can not find the class in extremely environment
AXIS2-3904	Axis error when using the endpoint address with japanese characters
AXIS2-3905	Can't avoid timeout
AXIS2-3906	org.apache.axis2.description.AxisService#setLastupdate() is a typo.
AXIS2-3907	Axis2 incomplete cached files should be deleted BUT they aren't; how can I delete them
AXIS2-3908	NPE in LocalTransportReceiver.processMessage()
AXIS2-3909	wsdl2java for JAXB binding generates uncompilable code
AXIS2-3910	NullPointerException in org.apache.axiom.om.impl.util.OMSerializerUtil
AXIS2-3911	support logging full stack traces in log
AXIS2-3912	Deploy goal for Axis2 Web Admin Console for axis2-aar-maven-plugin
AXIS2-3913	org.apache.axis2.client.Stub addHeader ignores custom header attributes
AXIS2-3914	LocalTransportSender can be used on multithread.
AXIS2-3915	Axis2 SAAJ implementation included in Geronimo 2.0.1 - class cast bug when unmarshalling
AXIS2-3916	MTOM doesnt work over JMS
AXIS2-3917	Axis2's build.xml file for Axis2.war excludes the axis2-codegen-1.3.jar file needed by Rampart 1.3
AXIS2-3918	WebServiceContextAnnot should be deleted
AXIS2-3919	AbstractMessageReceiver defines custom class loader without using doPrivileged
AXIS2-3920	MailAddress defines equals() but not hashCode()
AXIS2-3921	Bug 3230 Reopen. Axis2 deployment fails when deploying spring proxy-d classes as services
AXIS2-3922	Handler is not being invoked
AXIS2-3923	'org.apache.maven.plugins:maven-antrun-plugin' does not exist or no valid version could be found
AXIS2-3924	JAX-WS dependence on ADB
AXIS2-3925	Move JaxMe databinding code into separate module
AXIS2-3926	Unnecessary warning when deploying a service with a custom message receiver
AXIS2-3927	[7/12/07 9:09:32:923 CEST] 82d122f SRTServletRes W WARNING: Cannot set header. Response already committed. is logged when ever a Axis2 based webservice is called
AXIS2-3928	WebService deployment failed due to config.getServletContext().getRealPath("") returns null in NES6.2
AXIS2-3929	ServiceDescriptionImpl always creates URL for WSDL
AXIS2-3930	NullPointerException in RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:158)
AXIS2-3931	SecurityException thrown in util.LoggingControl, when run from an applet
AXIS2-3932	Validate fails if nonProxyHosts contains wildcard
AXIS2-3933	AxisClient creates large number of temporary files that never gets deleted in an appserver environment as long as the server is running
AXIS2-3934	Axis client fails if http.nonProxyHosts contains * as wildcard
AXIS2-3935	mvn package failes due to missing dependencies (fix included)
AXIS2-3936	Non Blocking Dual Channel fails if MsgContext already had an replyTo Epr set to anonymous
AXIS2-3937	Axis2 server responds with Http 200 instead of 202 for the request of a dual channel invocation
AXIS2-3938	axis2-java2wsdl-maven-plugin axis2-java2wsdl-maven-plugin
AXIS2-3939	Java2WSDL creates WSDLs that fail Eclipse validation
AXIS2-3940	getSchematargetNamespace and setSchematargetNamespacePrefix are typos
AXIS2-3941	Axis2Server.bat fails to start
AXIS2-3942	There is no reason for HTTPSListener to be inner class
AXIS2-3943	NullpointerException in AbstractHTTPHeader
AXIS2-3944	Fix commented out tests
AXIS2-3945	Codegeneration creates faulty Stub with JAXBRI when a SOAP Header is defined in the WSDL
AXIS2-3946	Axis2 fails to parse "Multipart/Related"-Messages from SAAJ-Webservice
AXIS2-3947	Fix JAXWS MTOMSample Test
AXIS2-3948	WSDL2CODE maven plugin not generating ports
AXIS2-3949	JAXWS classloading issues with annotated class with aar based deployment
AXIS2-3950	version service not started and exception at console
AXIS2-3951	incorrect definition of property maven.repo.local in modules/integration/pom.xml
AXIS2-3952	java2wsdl maven 2 plugin user guide incorrect
AXIS2-3953	Axis2 maven plugin does not allow to generate sources for remote WSDL file
AXIS2-3954	Proper usage of binding hierarchy
AXIS2-3955	getter for configuration on CodeGenerationEngine to access generated info
AXIS2-3956	NullpointerException in org.apache.axis2.deployment.util.Utils.loadHandler method
AXIS2-3957	Incorrect reference to start.bat in java2wsdl and wsdl2java scripts (bat/sh)
AXIS2-3958	surefire is still run even if maven.test.skip is true
AXIS2-3959	java.util.regex.PatternSyntaxException in org.apache.axis2.transport.http.ProxyConfiguration
AXIS2-3960	Allow pluggable Exception handling in JAX-WS server flow
AXIS2-3961	SOAPMonitorApplet/SOAPMonitorService broken
AXIS2-3962	XMLDispatch.createMessageFromValue fails to copy mime headers
AXIS2-3963	Intermittent failure in testEcho(org.apache.axis2.jaxws.sample.DocLitBareMinTests)
AXIS2-3964	SoapMessageProviderTests.testProviderSourceXMLOnly broken
AXIS2-3965	TransportUtils NullPointerException When Logger Category is DEBUG
AXIS2-3966	Provide enabling support in JAXWS for SOAP/JMS
AXIS2-3967	Provide visibility of dynamic ports only to client that created them
AXIS2-3968	Need a JAXWS specific Deployer
AXIS2-3969	Improve structure of JAXWS end-to-end tetss
AXIS2-3970	Plug JAX-WS / MDQ deployment into Axis2 deployment model
AXIS2-3971	Refactor the ThreadContextMigratorUtil class to use parameters instead of properties.
AXIS2-3972	javax.xml.ws.handler.MessageContext.WSDL_DESCRIPTION not populated correctly
AXIS2-3973	Ability to plugin a new Axiom LifecycleManager via axis2.xml
AXIS2-3974	LogicalMessageContextTests.testGetPayloadAsJAXB fails
AXIS2-3975	JAXB CustomBuilder support in JAXWS layer.
AXIS2-3976	JAXWS Endpoint API does not work in 1.3 RC2
AXIS2-3977	JAX-WS 2.1: Support @MTOM and MTOMFeature
AXIS2-3978	A patch for the CORBA module to support types declared insides interfaces.
AXIS2-3979	Common invocation using Axis2 client framework
AXIS2-3980	Maven build fails due to woden dependency problem
AXIS2-3981	InputStreamConfigurator
AXIS2-3982	WSDL2Java tool does not handle 'key' and 'keyref' constraints(in included/imported schemas) properly
AXIS2-3983	Please please please write javadoc!
AXIS2-3984	We need an api way to set the axis2.repository.path and the axis2.xml.path
AXIS2-3985	DispatchPhase does not consider MEPs defined in WSDL2Constants
AXIS2-3986	Error in Validation page when HTTPS is enabled
AXIS2-3987	WarBasedAxisConfigurator incorrect config file loading routine (patch included)
AXIS2-3988	messageContext.setDoingMTOM doesn't work
AXIS2-3989	FAQ descripton of 'frequently used maven commands' is out of date.
AXIS2-3990	Codegen and runtime changes for supporting "full" WSDL 2.0 HTTP binding
AXIS2-3991	MTOM should support xmlbeans
AXIS2-3992	Dependency resolution mess with axis2-wsdl2code-maven-plugin
AXIS2-3993	ServiceContext.activate() never executes a path because of null value
AXIS2-3994	Redundant checks into WarBasedAxisConfigurator
AXIS2-3995	Redundant check in XMPPSender
AXIS2-3996	Potential NPE in XMPPPacketListener
AXIS2-3997	Possible NPE in XMLUtils
AXIS2-3998	ServiceContext.activate never executes the else block
AXIS2-3999	Various bugs in deployment.Utils
AXIS2-4000	EchoBlockingClient on axis 1.x to 2.x migration page is missing line to set options into client
AXIS2-4001	Log errors returned to client as Error, not Debug messages
AXIS2-4002	Misspelling of HTTP constant definition?
AXIS2-4003	Exception message in ListenerManager.start() is empty
AXIS2-4004	Typo in the default axis2.xml for commented out parameter "requestMaxThreadPoolSize"
AXIS2-4005	misspelling of "javascript" in line 39 in adminheader.jsp
AXIS2-4006	[JDK16] 2 tests fail in integration module
AXIS2-4007	SAAJ build fails under JDK1.6
AXIS2-4008	When deploying using JAXWSMessageReceiver, the dynamic wsdl (?wsdl) should reflect the annotations
AXIS2-4009	Interop issue: Utf16 Mtom failure with MS WCF
AXIS2-4010	NPE bug in ServerWorker.handlerException
AXIS2-4011	ConcurrentModificationException when concurrent threads try to engage the Addressing module
AXIS2-4012	org.apache.axis2.saaj.SOAPConnectionImpl(line # 181) Null checking is required
AXIS2-4013	javax.xml.stream.XMLStreamException: problem accessing the parser. Parser already accessed! - Authenticated WS Client
AXIS2-4014	Introduce support in JAX-WS for OASIS XML Catalogs.
AXIS2-4015	NPE in AxisConfiguration
AXIS2-4016	Unable to send a result message to a host different from the caller (it was possible)
AXIS2-4017	custom handler is not executed
AXIS2-4018	Expose isMakeConnectionAnonymous on EPR
AXIS2-4019	Make the definition of custom "anonymous" URIs configurable
AXIS2-4020	wsdl2java exception with xmlbeans bindings - Imported schema has a target namespace that does not match the specified
AXIS2-4021	JAX-WS: @WebService name parameter should default to the name of the class
AXIS2-4022	JAX-WS: Performance Improvement to JAXB Unmarshalling
AXIS2-4023	pojo not working
AXIS2-4024	Error in generated WSDL - Import missing
AXIS2-4025	Premature Optimization of ReplyTo = Anon
AXIS2-4026	Out-Of-Memory error on server side - Use of wsdl4j WSDLDefinition
AXIS2-4027	axis2 deployment failure for web services proxied by Spring
AXIS2-4028	AxisService name not unique enough
AXIS2-4029	change JMS tests to not use port 61616 which is the default for Geronimo and ActiveMQ
AXIS2-4030	Problem with ConverterUtil date conversion
AXIS2-4031	specified MessageReceiver from services.xml is ignored
AXIS2-4032	Nullpointer exception when BuilderUtils can not resolve a Builder
AXIS2-4033	UnsupportedOperationException due to usage of Arrays.asList
AXIS2-4034	CORBA module for Axis2
AXIS2-4035	Improve Performance of RuntimeServiceDescription code
AXIS2-4036	Codegen with unwrapping argument fails
AXIS2-4037	December 20 nightly build -- jsp exception
AXIS2-4038	Writing JAXWS Clients - How to specify the axis2.xml and repository
AXIS2-4039	Provide new plugpoint in JAX-WS server-side code
AXIS2-4040	Axis2 generates incorrect schema imports in WSDL returned via ?wsdl
AXIS2-4041	Plugin in JAXWS RI's wsgen to generate the dynamic wsdl/xsd's
AXIS2-4042	Performance: Swap lookup order in AxisService.getOperationsBySOAPAction
AXIS2-4043	The ConfigurationContext in Axis2-Kernal causes ConcurrentModificationException in Session-Scope and thus is not multithreading-able
AXIS2-4044	Clean build of java/Axis2 from head failed in SOAP Monitor step
AXIS2-4045	Tolerate Java 6 JRE for JAX-WS applications
AXIS2-4046	Make it easy to set HTTP proxy
AXIS2-4047	Document JSR181 support
AXIS2-4048	WSDL2C:
AXIS2-4049	Incorrect Exception in WSDL11ToAxisServiceBuilder
AXIS2-4050	java.lang.RuntimeException: Unexpected subelement value
AXIS2-4051	Merge inbound WS-Addressing handlers into a single handler
AXIS2-4052	No logging in POJODeployer at all
AXIS2-4053	Response invalidly delivered even ReplyTo is absent in Header
AXIS2-4054	Error in generated WSDL file - wsaw namespace
AXIS2-4055	No access to the operationContextMap in the ConfigurationContext class
AXIS2-4056	AbstractContext should lazily create the PropertyDifferences map
AXIS2-4057	Support JAX-WS and Metadata client-side sparse composite to override certain annotation members
AXIS2-4058	TransportUtils aggressively changing content type from text/xml to application/xml
AXIS2-4059	JAXB Unmarshaller cannot find the MTOM DataHandler
AXIS2-4060	NullPointerException in MetaData code
AXIS2-4061	NullPointerException in the Namespace->Package code used by JAXWS
AXIS2-4062	WS-Addressing EndpointReference elements not getting added in the outgoing soap message
AXIS2-4063	setting handler resolver on dispatch client does not call expected handlers
AXIS2-4064	Eliminate redundant lookup in MessageContext.getProperty(String)
AXIS2-4065	Modify BlockImpl to avoid double unmarshalling
AXIS2-4066	Incorrect check in org.apache.axis2.saaj.SOAPHeaderImpl#addHeaderElement
AXIS2-4067	Nested swaRef attachments not sent in message
AXIS2-4068	JAX-WS BasicAuth client config should allow no password
AXIS2-4069	Performance: Improve the FactoryRegistry code
AXIS2-4070	The modules/parent/pom.xml has an invalid dependency on org.apache.woden:woden-1.0.0M6.jar
AXIS2-4071	'-or (overwrite) option of WSDL2Code doesn't work for services.xml
AXIS2-4072	wrong codegen for anytype
AXIS2-4073	OMException with the message "localname can not be null or empty"
AXIS2-4074	Codegen bug with different namespaces (including proposed fix)
AXIS2-4075	Cannot generate code giving a remote HTTP URI, when the client is behind an HTTP proxy server
AXIS2-4076	choice of sequence of union causes infinite loop in generated ADB binding
AXIS2-4077	Axis2-aar-Maven2 plugin SNAPSHOT does not work, while a locally build one works
AXIS2-4078	Prefix error serializing ADB bean
AXIS2-4079	minimize response from RPCMessageReceiver
AXIS2-4080	Use wrapper types when elements are optional (i.e.: nillable="true" or minOccurs="0"/maxOccurs="1")
AXIS2-4081	Code generation fails if a wsdl has schema imports and that wsdl is included in a service archive with useOriginalWsdl = true
AXIS2-4082	XML dateTime strings are not converted correctly
AXIS2-4083	Using minOccurs="0" on element within sequence does not accept if element is empty...
AXIS2-4084	hot update - class not reloaded
AXIS2-4085	JAX-WS: JAXB Processing Improvement
AXIS2-4086	Invalid xs:date serialization (WSDL2Java generated code)
AXIS2-4087	Hotupdate seems to be broken in the latest snapshots
AXIS2-4088	XmlStreamParser in RMI module can encounter problems with nesting
AXIS2-4089	Test case errors in integration module can cause failures when not using Sun JVM.
AXIS2-4090	No readme for jaxws-calculator sample
AXIS2-4091	WSDL2C 30-November Snapshot - non-blocking prototypes in headers do not match function implementations with adb option
AXIS2-4092	When exception arises from createMessageFromValue, create Protocol specific exception instead of the generic WebserviceException
AXIS2-4093	Axis2 webapp throws exception with missing class at startup
AXIS2-4094	Make JAXWS POJODeployer behave the same as AAR files with respect to hot deploy and redeploy
AXIS2-4095	JAX-WS: wsdl11 generation fails if @WebMethod annotation is specified with member values
AXIS2-4096	When setting the operationName using JSR181 the service fails to show WSDL correctly
AXIS2-4097	Generation of Client Stubs with WSDL having WSSecurity (Username token) created with Weblogic9.2
AXIS2-4098	Deployment of embedded service causes IllegalArgumentException: Filename must not be null
AXIS2-4099	Scrub jaxws module for NLS
AXIS2-4100	Performance: JAX-WS MessageContext getProperty/setProperty improvement
AXIS2-4101	Genarate RPC signature in WSDL2 when valid
AXIS2-4102	Ability to have XML as documentation in the wsdl
AXIS2-4103	NullPointerException in WSDL20ToAxisServiceBuilder
AXIS2-4104	java.lang.StackOverflowError when trying to generate code for an Amazon service.
AXIS2-4105	The generated services.xml file is not validate
AXIS2-4106	WSDL2Java fails with "Can not find an attribute group for group reference" (Malformed UTF-8 Character Exception in WSDL2Java only in nightly build, not in 1.0 stable)
AXIS2-4107	Code generated by wsdl2java doesnot compile
AXIS2-4108	Problems with ADB Client and XMLBeans Service
AXIS2-4109	Enhance adb binding union to default to type xs:any
AXIS2-4110	Unresolved symbol when using attribute
AXIS2-4111	Cannot throw same fault from multiple methods
AXIS2-4112	Switch to XmlBeans 2.3.0. Adapt to xmlbeans dependency renaming.
AXIS2-4113	Incorrect wsdl2java behaviour: target dir + reformatting
AXIS2-4114	JAXWS: Add support for SOAPMessageContext.getHeaders(QName qname, JAXBContext jaxbcontext, boolean allRoles)
AXIS2-4115	JAX-WS Dispatch(Source) returns a StAXSource if JDK 6.0. StAXSource is not acceptable in many scenarios.
AXIS2-4116	Performance: Synchronization of AbstractContext.addPropertyDifference degrades performance
AXIS2-4117	optional attributes are generated as required
AXIS2-4118	Wrong code generation (syntax error: staticabstract)
AXIS2-4119	ADB Boolean type mapping incorrect for '1' and '0'
AXIS2-4120	SOAP header block attributes
AXIS2-4121	Client sender connections not cleaned up when AxisFault received.
AXIS2-4122	Incorrect configuration in maven-wsdl2code-plugin.html doc
AXIS2-4123	fix documentation on the axis2 website
AXIS2-4124	Maven2 WSDL2Code Plug-in Guide has incorrect and missing descriptions.
AXIS2-4125	NullPointerException when web service request is missing Content-Type
AXIS2-4126	Axis2.1.2 listService is not working
AXIS2-4127	[PATCH] Upgrades 'Simple' HTTP and NIO HTTP transports to HttpCore 4.0-alpha6
AXIS2-4128	Proposing "AXIS2 Powered" Logo
AXIS2-4129	Throws NullPointerException in RPCMessageReceiver when handling Exception in catch block; real stack trace is lost
AXIS2-4130	When I use SMTP as for the communication in the server side it never send the fault
AXIS2-4131	Axis2 client stub fails randomly under load with a Parser error
AXIS2-4132	Detail in Error message thrown from databinding types is not explanatory
AXIS2-4133	java.lang.NoClassDefFoundError: javax/wsdl/WSDLException on axis2-wsdl2code-maven-plugin
AXIS2-4134	When you add a namespaceUri packageName in axis2-wsdlcode-maven-plugin, it will complain that you don't have one.
AXIS2-4135	Compile error in generated JUnit
AXIS2-4136	Axis2 Client generation with wsdl2 java with -g option does not generate skema
AXIS2-4137	Java2Security of getAnnotation calls
AXIS2-4138	Scrub metadata module for NLS
AXIS2-4139	Wrong java code generation with adb for data type boolean
AXIS2-4140	Provide getter/setters on DescriptionBuilderComposite for InputStream to handler chain config file
AXIS2-4141	Client stub generation fails for WSDL's with wsdl:import
AXIS2-4142	An xsd-file specifies both elements and attributes as parts of a SOAP block header. WSDL2Java generates all neccessary code for both elements and attributes but only the elements are included in the actual SOAP request when it arrives to the server
AXIS2-4143	maven2 wsdl2code plugin does not work
AXIS2-4144	Invalid content-type on http header. missed "<" and ">"
AXIS2-4145	NPE when demarshalling a fault response
AXIS2-4146	JAXWS: Performance: Remove Synchronization in JAXBUtils
AXIS2-4147	jaxen-LICENCE.txt should have jaxen licence text rather than Apache v2.0
AXIS2-4148	Corrections to the JAX-WS Async Endpoint thread switching code.
AXIS2-4149	Date gets changed for xs:date types
AXIS2-4150	ADB still not clever enough wrt Elements and ComplexTypes with the same name.
AXIS2-4151	wsdl2java modifies foreign java sources that it did not create on its own before.
AXIS2-4152	ConverterUtil.convertToArray fails for boolean.class
AXIS2-4153	The WSDL2Java ADB binding doesn't take namespace into account
AXIS2-4154	Getting error while deploying web service made using Axis2.1.3
AXIS2-4155	IntelliJ Service Archiver class file browser not working
AXIS2-4156	add an option not to generate xmlbeans classes and instead get them from classpath
AXIS2-4157	Using attributeFormDefault="qualified" in a schema causes null attribute values in Java objects
AXIS2-4158	There is a bug in generated stub, it can not get AxisFault detail or reason when server side respond with an envelope that has fault string and fault detail
AXIS2-4159	change in WSDLWriter11 forbids wsdl:import of xsd files
AXIS2-4160	Multiple XSD's in codegen
AXIS2-4161	WSDL2Java.sh never end and consume all the CPU
AXIS2-4162	Local types in schemes not supported
AXIS2-4163	Creation of web service client from wsdl fails with xmlbeans binding where scomp suceeds for the same wsdl
AXIS2-4164	wsdl2java ADB client creates 'staticabstract' instead of 'static abstract'
AXIS2-4165	Generating adb client or service binding has a problem with patterns
AXIS2-4166	ADB Binding doesn't generate default value for the element
AXIS2-4167	Make SOAP 1.2 bindings optional, as they break older Axis 1 clients
AXIS2-4168	Support custom annotations in the MDQ layer
AXIS2-4169	Provide ServiceInstanceFactory mechanism in JAX-WS layer
AXIS2-4170	Allow for custom classloader use in JAXBUtils
AXIS2-4171	Allow file based override for MetadataFactoryRegistry
AXIS2-4172	JavaProvider is not reestablishing its EndpointDesc object
AXIS2-4173	Add fully qualified field class name as property on FieldDescriptionComposite in the metadata module.
AXIS2-4174	Add log statements to jaxws msg util classes
AXIS2-4175	Extend Spring support to accept proxies
AXIS2-4176	Add Spring Support
AXIS2-4177	Disabling REST should should make the http binding generation in WSDL stop too..
AXIS2-4178	Stubs generated for all the ports in wsdl2 code generation
AXIS2-4179	POJO service with NULL array causes NPE
AXIS2-4180	AxisConfiguration.isEngaged(QName) needs to remain as deprecated for legacy apps
AXIS2-4181	There are numerous public methods on ConfigurationContext which do not have comments.
AXIS2-4182	AnnotationServiceImplDescriptionTests broken
AXIS2-4183	Java 2 Security
AXIS2-4184	Asynchronous web service invocation does not return XML response on a SOAP fault
AXIS2-4185	Internal server error when modifying axis2.xml in axis2 1.3 war distribution
AXIS2-4186	JiBX databinding doesn't work with eclipse code generator plugin
AXIS2-4187	Generating Java 1.5 Code when using XMLBeans
AXIS2-4188	JAX-WS: Performance Changes related to property migration code
AXIS2-4189	ServiceDescription caching leads to memory leak
AXIS2-4190	Add validation checks for SOAPBinding annotations
AXIS2-4191	MessageContext Persistence Performance Improvement
AXIS2-4192	Connections are not properly released causing them to stick in the "CLOSE_WAIT" state and cause "Too many files open"
AXIS2-4193	wsdl2java creates invalid proxy
AXIS2-4194	Accessing to unexistant get() method from MessageReceiver when using xmlbeans databinding
AXIS2-4195	Axis 1.3 exception class doesn't inherit from java.lang.exception ( broken)
AXIS2-4196	Incorrectly generated stub functions
AXIS2-4197	Getting errors when sending attachement using MTOM.
AXIS2-4198	Axis2 installationguide doc AXIS2_HOME error
AXIS2-4199	Server sends close connection causes client to halt
AXIS2-4200	AxisServlet closes OutputStream too early in some instances
AXIS2-4201	Change RequestResponseTransport to support acknowledgements
AXIS2-4202	Support for multiple Services specified in WSDL
AXIS2-4203	Generated ADBBean: Issue with getPullParser() method for optional attributes
AXIS2-4204	Externalization: Activation problem with OperationContext leads to out of memory condition
AXIS2-4205	Wrong prefix used (resulting in a duplicate but conflicting declaration) when sending fault message.
AXIS2-4206	NPE when JAX-WS service receives empty soap body
AXIS2-4207	JAXWS: Concurrent Modification in Property Migrator
AXIS2-4208	Ensure content-type does not have a trailing ':'
AXIS2-4209	JAX-WS: Fix to AsyncResponse to ensure that the returned object is unmarshalled before reporting it as available
AXIS2-4210	JAX-WS: A small performance improvement and some cleanup
AXIS2-4211	javax.xml.stream.XMLStreamException: problem accessing the parser when using NTLM and stubs generated by xmlbeans
AXIS2-4212	attribute not supported by Axis2.0 in the .xsd file
AXIS2-4213	IllegalArgumentException: Null InputStream is not a valid argument when loading axis client from URLClassLoader
AXIS2-4214	ProviderDispatcher in JAX-WS does not allow for non-parameterized interfaces on provider implementation
AXIS2-4215	During InvocationResponse.ABORT processing, remove the incoming MessageContext
AXIS2-4216	XMLUtils can cause an unclosed XMLStreamReader
AXIS2-4217	Wrapper style mapping of Java method parameter - Jaxws 2.0 support for WSDL2Java
AXIS2-4218	Policies that are attached using services.xml should appear in description hierarchy instead of binding hierarcy
AXIS2-4219	Additional JAXWS Annotation Checking
AXIS2-4220	MessageContext Persistance is causing inlined attachments + Performance concerns
AXIS2-4221	Null pointer exception in Axis2
AXIS2-4222	NPE when parsing Async resonse in jaxws client side
AXIS2-4223	duplicate xmlns="" attribute in client response
AXIS2-4224	JAXWS JAXB Marshalling code is missing a doPriv
AXIS2-4225	JAXBAttachmentUnmarshaller Attachment Content ID Resolution Improvement
AXIS2-4226	JAX-WS 2.0 support for Apache Axis2 WSDL2Java Code Generator
AXIS2-4227	Some improvements to JAX-WS 2.0 support for WSDL2Java

    </pre>
</body>
</html>
