SPRING WEB SERVICES CHANGELOG ============================= http://www.springframework.org/spring-ws Changes in version 1.5.7 ------------------------- ** Bug * [SWS-482] - java.lang.IllegalStateException: Connection factory has been shutdown * [SWS-483] - Wss4j 1.5.5 stripping custom SOAP headers after 1.5.6 upgrade * [SWS-484] - Missing version qualifiers on Export-Package entries * [SWS-486] - SaajSoap11Body.getFault() does not conforms to interface specification - if no fault is present IllegalArgumentException is thrown instead of returning null. * [SWS-494] - AbstractHttpSenderConnection getErrorMessage() * [SWS-496] - SpringWS client does not send Mtom attachments - it inlines them instead. * [SWS-497] - JDOM exception when parsing odd SOAP message with SaajSoapMessageFactor * [SWS-500] - remove amazonaws repository urls from spring-ws-parent pom * [SWS-502] - Soap envelope rpc-encoded namespace issue * [SWS-506] - All-in-one jar contains different namespace in spring.handlers than the module jars * [SWS-509] - Namespace prefix in attribute value not resolved correctly * [SWS-514] - SpringPlainTextPasswordValidationCallbackHandler doesn't override handleUsernameToken ** Improvement * [SWS-485] - xml:lang="en" attribute in element is not compliant to SOAP/1.1 schema * [SWS-488] - Export-Packages in MANIFEST.MF are not versioned * [SWS-490] - log Exceptions in SoapFaultMappingExceptionResolver (like spring webmvc SimpleMappingExceptionResolver) * [SWS-492] - Maven POM uses incorrect stax-api dependency * [SWS-498] - 3.6.1. Handling the XML Message tutorial with wrong code * [SWS-510] - AxiomSoapMessageFactory throws IllegalArgument when Content-Type is not set Changes in version 1.5.6 ------------------------- ** Bug * [SWS-430] - WSDL is renedered without resolving dynamic attributes managed using a PropertyPlaceHolderConfigurer object * [SWS-434] - JibxMarshaller - marshalSaxHandlers * [SWS-440] - WebServiceTemplate still creates a connection even if a ClientInterceptor sets a Response * [SWS-442] - Generated WSDL file does not contain xmime attribute "expectedContentTypes" present in xsd files. * [SWS-447] - xmlsec-1.4.1 library upgrade from v. 1.4.0 breaks response encryption with Wss4jSecurityInterceptor in spring-ws 1.5.5 release. * [SWS-448] - Wss4jSecurityInterceptor accept messages when is empty * [SWS-449] - Spelling mistake in documentation * [SWS-455] - Mangled predefined xml 'special character' entities when using AxiomSoapMessageFactory and extending AbstractStaxStreamPayloadEndpoint * [SWS-456] - Wss4jSecurityInterceptor example specifies invalid Validation Action and Securement Action * [SWS-457] - AxiomSoapMessageFactory payloadCaching=false causes org.springframework.ws.soap.axiom.AxiomSoapEnvelope.getBody() to fail * [SWS-464] - The use of WS Addressing results in malformed SOAP messages * [SWS-465] - Optional WS-Addressing request headers being treated as mandatory * [SWS-467] - Issues while generating of WSDL using SpringWS1.5 and spring-core2.0 * [SWS-469] - Content type not set accouring to Http specification, RFC 2616 * [SWS-471] - Invalid xml in SoapFaultMappingExceptionResolver example, section 5.6.1 * [SWS-473] - JmsSenderConnection does not commit transaction after send, leading to messages never being sent if sessionTransacted is true ** Improvement * [SWS-360] - All-in-one jar doesn't contain correct spring.handlers * [SWS-375] - Add callback functionality to transport connections * [SWS-450] - XwsSecurityInterceptor always requires a callback handler * [SWS-462] - JavaDoc fix for PayloadRootAnnotationMethodEndpointMapping * [SWS-463] - Update Jibx dependency to 1.1.6a * [SWS-470] - Unwanted property file after extending WebServiceTemplate * [SWS-475] - Upgrade to Axiom 1.2.8 * [SWS-476] - java.lang.NoClassDefFoundError: com/sun/org/apache/xml/internal/security/Init ** Refactoring * [SWS-459] - Spring 1.5.x should depend on Spring 2.0.x as a minimum requirement ** Task * [SWS-460] - Correct the documentation about SoapAction in section 4.1.3.3 * [SWS-477] - Upgrade to Wss4j 1.5.5 * [SWS-478] - Sync up copied dependencies for the "with dependencies" distribution Changes in version 1.5.5 ------------------------- ** Bug * [SWS-405] - Spring-ws-archetype -DarchetypeVersion=1.5.3 but pom 1.5.2 * [SWS-408] - Incorrect URL to Bamboo in pom * [SWS-410] - AxiomSoapMessage does not work fine in Spring-WS with CastorMarshaller * [SWS-411] - When using permanent replyTo queues, their JNDI names can't start with jms/ in the defaultUri property of the WebServiceGateway * [SWS-412] - PayloadTransformingInterceptor does not work with a DomPoxMessage - the transformation clears the document * [SWS-416] - Wss4jSecurityInterceptor loosing SOAPAction header * [SWS-417] - spring-ws-core-tiger should be declared as an OSGi fragment since it contributes classes to packages from spring-ws-core * [SWS-418] - Castor mappings are added multiple times * [SWS-419] - Packaging: Wrong castor version in distribution. * [SWS-420] - AxiomSoapMessage + SOAP1.2 SoapAction * [SWS-422] - Class AxiomUtils is not java 1.4 compatible * [SWS-427] - AbstractEndpointExceptionResolver.resolveException() does not let subclasses have full access to the MethodEndpoint that raised an exception * [SWS-432] - AxiomSoap12Body.getFault() returns object of type AxiomSoap11Fault * [SWS-437] - Method addOmittedFields in XStreamMarshaller should access XStream instance via getter. * [SWS-439] - Reference guide, chapter 5.3.1.1., contains typo ** Improvement * [SWS-409] - CommonsXsdSchemaCollection / Apache Schema exceptions do not contain enough detail * [SWS-425] - Upgrade xmlsec to 1.4.1, since 1.4.0 has problems with UTF-8 * [SWS-433] - Extension of AbstractSoapFaultDefinitionExceptionResolver to support SOAP 1.2 faults * [SWS-443] - Javadoc State Thread Safety Level PayloadEndpoint Implementers Must Support * [SWS-444] - XwssMessageInterceptorEncryptTest testDecrypt() can be enabled again - problem solution known ** New Feature * [SWS-413] - SchemaCollection issues with classpath resources and relative schema imports * [SWS-426] - Allow Wss4jSecurityInterceptor to accept arbitrary client certificate in validation phase ** Refactoring * [SWS-403] - bundles ws.core and ws.support have a circular dependency ** Task * [SWS-431] - Document Spring Security integration Changes in version 1.5.4 ------------------------- ** Bug * [SWS-386] - DefaultWsdl11Definition.setFaultSuffix : responseSuffix overwritten * [SWS-389] - problem with DomContentHandler * [SWS-392] - AbstractMarshallingPayloadEndpoint and XStreamMarshaller produces malformed response body * [SWS-393] - Incoming message with with UTF-8 BOM is failing * [SWS-395] - Spring-WS support manifest has wrong version of spring xml import * [SWS-396] - @Endpoint with method having any other annotation then @PayloadRoot is not mapped * [SWS-401] - unable to use maven2 to use version above 1.0.4 due to missing jar: bouncycastle:bcprov-jdk15:jar:132 * [SWS-406] - Constructor in example for AbstractMarshallingPayloadEndpoint is wrong ** Improvement * [SWS-214] - Setting Basic Authentication preemptive through CommonsHttpMessageSender * [SWS-224] - XStreamMarshaller is missing the call to omit fields from serialization process * [SWS-372] - Missing support for interface/implementation separated JAXB classes in Jaxb2Marshaller * [SWS-390] - Document OXM tags * [SWS-394] - Update FAQ to reflect new SAAJ jar in WebLogic 10 * [SWS-397] - Add the possibility to WebServiceTemplate to extract the service URI from a WSDL * [SWS-399] - Upgrade XStream dependency to 1.3 * [SWS-400] - Make AbstractLoggingInterceptor more extensible * [SWS-404] - Do not transform request payload Sources when not necessary ** New Feature * [SWS-362] - WSDL generation issue when xsds import other xsds * [SWS-391] - Client-side validation interceptor * [SWS-398] - Add layer of indirection for obtaining WebServiceTemplate URIs * [SWS-402] - Create utility for dealing with Source and Result objects Changes in version 1.5.3 ------------------------- ** Bug * [SWS-357] - Axiom does not support SwA attachments * [SWS-358] - NPE in JmsSenderConnection.onReceiveBeforeRead() when the received Message is null * [SWS-359] - Using Axiom with payload caching off sometimes creates empty soap bodies * [SWS-363] - AcegiPlainTextPasswordValidationCallbackHandler doesn't implement InitializingBean * [SWS-365] - wss4j-1.5.4.jar not in repository * [SWS-366] - Dynamic AOP proxies for @Endpoints result in IllegalArgumentExceptions * [SWS-367] - SOAP over JMS (BEA Weblogic 9.2) - empty body in SOAP responses with a jms TextMessage * [SWS-370] - 'KeyStoreUtils.loadDefaultKeyStore()' issue * [SWS-373] - broken links in FAQ * [SWS-374] - DefaultURIResolver with witespaces * [SWS-376] - SaajSoapMessage.setSaajMessage() and AxiomSoapMessage.setAxiomMessage() should clear cached fields * [SWS-378] - Wss4jSecurityInterceptor.toDocument(..) causes decryption to fail when using SaajSoapMessageFactory * [SWS-380] - Incorrect soap:address location="http://localhost:8080/holidayService/ for samples/tutorial - resource (/holidayService/) is not available * [SWS-385] - Exceptions thrown using WS-Addressing result in Assert failure in Addressing10.addAddressingHeaders ** Improvement * [SWS-273] - AbstractAnnotationMethodEndpointMapping doesn't support proxied bean dependencies * [SWS-361] - XStream.addImplicitCollection not supported by XStreamMarshaller * [SWS-371] - Expose MaxConnectionsPerHost and TotalConnections in CommonsHttpMessageSender * [SWS-377] - Create all-in-one source jar * [SWS-382] - DefaultWsdl11Definition should throw exceptions when given an empty suffix * [SWS-383] - JmsSenderConnection does not correlate response messages on permanent response queues ** New Feature * [SWS-346] - HandlerAdapter for XsdSchemas * [SWS-356] - Document X509 support in Wss4jSecurityInterceptor ** Task * [SWS-369] - Website links broken Changes in version 1.5.2 ------------------------- ** Bug * [SWS-345] - WSS4J interceptor creates creates invalid digest for SAAJ messages * [SWS-353] - Schema inlining results in duplicate inlining of files referenced from multiple files * [SWS-355] - mistakes in the Spring webservices online tutorial ** Improvement * [SWS-302] - Need to prevent parsing server-side responses and client-side requests into axiom trees if using axiom and payload caching is off * [SWS-329] - SaajContentHandler shouldn't repeat namespace declarations * [SWS-344] - Add @Endpoints support to AbstractEndpointExceptionResolver ** Task * [SWS-354] - Document AbstractValidatingMarshallingPayloadEndpoint and AbstractFaultCreatingValidatingMarshallingPayloadEndpoint Changes in version 1.5.1 ------------------------- ** Bug * [SWS-300] - SAAJ0539: Unable to get header stream in saveChanges * [SWS-321] - Update artifact version in tutorial * [SWS-323] - Fix xmlsec dependency * [SWS-328] - Error creating signed message with WSS4J * [SWS-330] - WebServiceTemplate hasFaut skips check for fault in response if the connection implements FaultAwareWebServiceConnection * [SWS-333] - Transport streams not closed in WebServiceConnection * [SWS-334] - Calls to lifecycleMonitor.notifyAll() in AbstractStandaloneMessageReceiver are superfluous * [SWS-335] - SaajXmlReader NullPointerException / jboss / mac in interceptors * [SWS-339] - XML namespace (http://www.w3.org/XML/1998/namespace) mapped to wrong prefix when building WSDL with inlined schemas * [SWS-341] - Wss4jSecurityInterceptor and AcegiDigestPasswordValidationCallbackHandler do not correctly work together to update the Acegi security context. * [SWS-342] - NPE in AbstractAnnotationMethodEndpointMapping on line 47 during postProcessAfterInitialization * [SWS-345] - WSS4J interceptor creates creates invalid digest for SAAJ messages * [SWS-347] - Error using AxiomSoapMessageFactory with comments in request ** Improvement * [SWS-287] - Spring Web Services does not seem to work with Castor 1.2 * [SWS-309] - Add namespaceMappings property to CastorMarshaller * [SWS-319] - Document MessageTracing logging * [SWS-320] - Add timeout properties to Client-side transport * [SWS-324] - Make Import-package: javax.wsdl.extensions.soap12 in MANIFEST.MF optional * [SWS-325] - Spring WS modules require spring modules 2.5.0 * [SWS-326] - Separate MessageTracing logger between sent and received messages * [SWS-332] - Upgrade to Spring Security 2.0 * [SWS-336] - Fix Airline C# client build script * [SWS-337] - WebServiceTemplate problem when invoking oneway style services with marshalSendAndReceive * [SWS-338] - Inspect Content-Type in WebServiceTemplate * [SWS-350] - Upgrade Airline sample to use Spring Security ** New Feature * [SWS-281] - add support for imported xsd in static wsdl as well as xsd's that import other xsd's * [SWS-317] - Integrate spring OXM with Spring core JMS support / OXM MessageConverter * [SWS-331] - Spring MVC View based on OXM marshaller * [SWS-340] - Create new MessagesProvider that only includes elements with the given suffixes ** Task * [SWS-327] - Document Embedded HTTP Server transport Changes in version 1.5.0 ------------------------- ** Bug * [SWS-316] - Unresolvable dependency in parent pom Changes in version 1.5.0 RC2 ------------------------- ** Sub-task * [SWS-299] - WS-Addressing Documentation ** Bug * [SWS-307] - org.springframework.ws.soap.security.wss4j.callback.KeyStoreCallbackHandler uses tiger specific classes * [SWS-308] - WebServiceTemplate skips handling fault in response with checkConnectionForFault="false" when HTTP status code is not 200 or 500 ** Improvement * [SWS-179] - Create and use some wrapper around javax.xml.validation.Schema * [SWS-304] - Support XsdSchema in AbstractValidatingInterceptor * [SWS-306] - Document DefaultWsdl11Defintion and WSDL Provider model * [SWS-310] - Add getters for ProviderBasedWsdl4jDefinition * [SWS-311] - Create RequestMessage in JmsSenderConnection constructor * [SWS-312] - Add FAQ entry for Websphere * [SWS-313] - Rewrite Airline sample to use Spring 2.5 features * [SWS-315] - Endpointsextending AbstractMarshallingPayloadEndpoint require a marshaller also for oneway style service ** New Feature * [SWS-84] - WS-Addressing support Changes in version 1.5.0 RC1 ------------------------- ** Sub-task * [SWS-297] - Server-side support for WS-Addressing * [SWS-298] - Client-side support for WS-Addressing ** Bug * [SWS-285] - Clear SecurityContext in Acegi Callbacks * [SWS-286] - WSS4J AcegiDigestPasswordValidationCallbackHandler does not set Acegi SecurityContext * [SWS-292] - Add documentation for SoapFaultAnnotationExceptionResolver * [SWS-293] - Response should be cleared in case of exception in WS-Security securement * [SWS-294] - WSS4J interceptor shouldn't verify that validationDecryptionCrypto != null * [SWS-295] - WSS4J interceptor lacks a property to set WSHandlerConstants.ENC_KEY_NAME option * [SWS-301] - The key used in Wss4j interceptor's Signature tests has expired * [SWS-305] - CommonsXsdSchema has issues with schema prefixes ** Improvement * [SWS-249] - POX Sample * [SWS-271] - Request to inline included XSD's in auto generated WSDL's * [SWS-282] - Document Wss4jInterceptor * [SWS-284] - WSS4J jars missing from the "with-dependencies" distribution * [SWS-289] - Add diagnostic information to threadlocals * [SWS-290] - Support Spring IDE in NamespaceHandlers * [SWS-296] - Allow logger name to bet set in PayloadLoggingInterceptor & SoapEnvelopeLoggingInterceptor * [SWS-303] - WS-Security documentation typo's ** New Feature * [SWS-252] - Create Spring Security handlers for WS-Security * [SWS-259] - Support Java 6 HTTP server * [SWS-281] - add support for imported xsd in static wsdl as well as xsd's that import other xsd's Changes in version 1.5.0 Milestone 2 ------------------------- ** Bug * [SWS-257] - Infinite loop in XsdBasedSoap11Wsdl4jDefinitionBuilder#buildMessages method * [SWS-258] - getting error when trying to use IBM MQ JMS implementation as transport. * [SWS-264] - XPathExpressionFactory should fallback to Jaxen if no JAXP 1.3 XPath implementation is available * [SWS-265] - AbstractStaxXmlReader should support the required standard SAX features (namespace, namespace-prefixes...) * [SWS-266] - AxiomContentHandler should empty the response body before adding the transformation result * [SWS-267] - code bugs in Reference docs section 4.3.1 * [SWS-268] - cope typos in reference docs section 6.2.4 and 6.2.5 * [SWS-274] - Soap headers with whitespace cause java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl - Part II * [SWS-275] - NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. * [SWS-276] - PayloadTransformingInterceptor has a typo in the example ** Improvement * [SWS-92] - JAXP 1.4 support * [SWS-148] - WebServiceTemplte needs two more methods in order to easy enable ws security client support * [SWS-231] - @Endpoint component scanning * [SWS-243] - AxiomSoapHeaderElement has no convenient way to access child elements of the header element * [SWS-246] - Better support for large Axiom attachments * [SWS-251] - Improve OSGi manifest * [SWS-253] - Tiger jars should not include non-tiger classes * [SWS-255] - Support for javax.jms.TextMessage * [SWS-261] - There are more default HandlerAdapters in Spring-MVC * [SWS-262] - Endpoint annotation should be annotated as @Inherited * [SWS-269] - OSGi bundleSymName * [SWS-270] - Changes for WS XSD for tooling * [SWS-272] - Add removeHeaderElement(QName) to SoapHeader * [SWS-278] - Add traffic logging when response is fault ** New Feature * [SWS-143] - Client-side WS-Security support * [SWS-194] - Add Interceptor functionality to WebServiceTemplate * [SWS-207] - WSS4J-based WS-Security implementation * [SWS-277] - URI-based routing * [SWS-279] - AcegiUsernamePasswordCallbackHandler Changes in version 1.5.0 Milestone 1 ------------------------- ** Bug * [SWS-225] - Spring-WS doesn't send "Content-Transfer-Encoding: binary" with MTOM part and this creates interoperability issue with .NET 3.0 * [SWS-226] - Exception mapping corrupts the 'defaultFault' instance * [SWS-227] - NPE when "mustUnderstand" attribute is in SOAP header and no Interceptors have been defined * [SWS-229] - JibxMarshaller should support marshalling/unmarshalling of all mapped classes * [SWS-230] - AxiomSoapMessageFactory throws NPE * [SWS-232] - PayloadValidatingInterceptor refuses to validate correct message with a top-level attribute * [SWS-238] - AbstractMethodEndpointMapping does not support JDK Proxies * [SWS-239] - Marshalling with Castor and Axiom results in a XMLStreamException * [SWS-241] - NullPointerException during processing message with empty body * [SWS-244] - Soap headers with whitespace cause java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl * [SWS-245] - SAXParseException when using HttpURLConnection * [SWS-247] - Exception thrown when schemaPrefix is empty in XsdBasedSoap11Wsdl4jDefinitionBuilder * [SWS-248] - DomPoxMessage not clearing DOM on setting the result ** Improvement * [SWS-223] - Use BeanClassLoader in Jaxb marshallers * [SWS-233] - OSGi bundles * [SWS-235] - XStreamMarshaller - support for custom HierarchicalStreamDriver * [SWS-240] - spring-ws-with-dependencies distribution ** New Feature * [SWS-108] - JMS transport support * [SWS-121] - Spring Namespace support * [SWS-139] - Mail transport support * [SWS-187] - SOAP 1.2 Compatible WSDL descriptor generation * [SWS-228] - Support Spring 2.5