Announcement Announcement Module
Collapse
No announcement yet.
Spring Web Services 2.0.0 M2 released Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring Web Services 2.0.0 M2 released

    Dear Spring community,

    I'm pleased to announce that Spring Web Services 2.0 Milestone 2 has been released!

    This is the second milestone release in the 2.0 release cycle. The most important new feature in this release is the ability to use arbitrary parameter types in @Endpoint methods (similar to @Controller methods in Spring-MVC). The big improvement to the 1.5 @Endpoint model is that you can mix and match parameters, and are not as limited in the return types. This means, for instance, that you can have the following @Endpoint method:


    Code:
    @PayloadRoot(localPart = "myRequest", namespace = "http://example.com")
    @ResponsePayload
    public MyJaxb2Response handleMyRequest(@RequestPayload org.w3c.dom.Element myElement, 
                                           SoapHeader requestHeader,
                                           MessageContext messageContext) {
    
        // do something interesting here
    }
    Currently supported parameters/return types include:
    • DOM Elements (W3C DOM by default; JDOM, dom4j, XOM are enabled automatically if present on the classpath)
    • Types supported by an OXM Marshaller (requires an explicitely configured marshaller)
    • JAXB2 types, if JAXB2 is found on the classpath (this means you no longer have to configure a Jaxb2Marshaller explicitly)
    • javax.xml.transform.Source and subtypes

    For the above parameters/return types, you will have to use @RequestPayload/@ResponsePayload, as shown in the sample above.

    Supported parameters (not return types) include:
    • MessageContext
    • StAX readers
    • SoapHeader, SoapBody, SoapEvelope (of the request message)
    • @XPathParam parameters. Note that you can now use the @Namespace and @Namespaces annotations to specify any namespaces used in your XPath expressions, and no longer need to set them up in XML application contexts. For instance:

    Code:
    @Namespaces(@Namespace(prefix = "tns", uri = "http://springframework.org/spring-ws"))
    public void myEndpointMethod(@XPathParam("/tns:root")String s) {
    }
    These namespace annotations can be present on the method, class, or package level (i.e. package-info.java).

    In addition to the above, Spring-WS 2.0 M2 includes:
    • Support for Spring Security 3.0
    • XMPP transport

    Please see the changelog for more details. If you have any further requests/issues, please use JIRA or reply to this post.

    Spring Web Services 2.0 is due in the third quarter of 2010.

    For more information, see http://static.springframework.org/spring-ws/site/
    Last edited by Arjen Poutsma; May 25th, 2010, 05:04 AM.

  • #2
    Please be aware that starting from this version, Spring-WS is no longer compatible with Spring Security 2.0. This is because Spring Security 3.0 is not backward compatible with 2.0.

    This milestone also brings two WS-Security improvements worth mentioning:
    • XWSS dependency has been updated to 3.0.
    • It is now possible to skip security validation if no WS-Security header is present.

    Comment


    • #3
      Note that this milestone will not be uploaded to Maven Central, but only to our own milestone repo:

      Code:
      <repository>
        <id>spring-maven-milestone</id>
        <name>Springframework Maven Repository</name>
        <url>http://maven.springframework.org/milestone</url>
      </repository>
      When 2.0 reaches GA, we will upload the jars to maven central as usual.

      Comment


      • #4
        download pb

        I get a 403 error when I tried to download the release zip from this link
        http://s3.amazonaws.com/dist.springf...pendencies.zip

        tareq, it seems to be really secure ;-)

        Comment


        • #5
          download pb

          the link is working now

          Comment


          • #6
            I love the new paramater mix/matching! Now I can easily access the messagecontext for soap attachments without using an interceptor to inject the context in some bean

            Keep up the good work!

            Comment


            • #7
              Originally posted by evandongen View Post
              I love the new paramater mix/matching! Now I can easily access the messagecontext for soap attachments without using an interceptor to inject the context in some bean

              Keep up the good work!
              Thanks! You should also be able to simply add a SoapMessage parameter to your endpoint method, to get a reference to the request message.

              Let me know if you find any issues.

              Comment


              • #8
                Hi Arjen,
                Do you have any specific date when spring 2.0 final release will be released?


                Regards
                Harshi

                Comment


                • #9
                  Originally posted by harshi View Post
                  Hi Arjen,
                  Do you have any specific date when spring 2.0 final release will be released?
                  We will release one more milestone before we enter the RC phase. Depending on the amount of bugs you find, we might have more RCs. The GA will be released after that.

                  So I (currently) expect SWS 2.0 to be released somewhere around September.

                  Comment


                  • #10
                    Hi Arjen,

                    I am using CommonsXsdSchemaCollection where my sxd contains xs:import to another xsd , with inline option = true DefaultWsdl11Definition is genertaing wsdl fine but its not removing xs:import which is causing errors from using SOAP UI.

                    I have seen similar issue in spring ws 1.5.8 and its fixed on 1.5.9 as per docs
                    but I never upgraded to 1.5.9.


                    Regards
                    Harshi

                    Comment


                    • #11
                      Never mind, I have looked at the source code and figured it out

                      For xs:import its removing schemaLocation and leaving import as is..

                      Comment


                      • #12
                        Migrating 1.5.9 to 2.0.0-M2

                        I'm migrating existing code using Spring WS 1.5.9 to 2.0.0-M2 and have noticed some changes in classes and packages. Can someone confirm the following for me:

                        1. did
                        Code:
                        org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition
                        get replaced with:
                        Code:
                        org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition
                        2. DynamicWsdl11Definition used to use a property called builder, using class XsdBasedSoap11Wsdl4jDefinitionBuilder. Has this now gone as well? Is the equivalent replacement to use org.springframework.xml.xsd.SimpleXsdSchema?

                        Thanks!
                        Kevin

                        Comment


                        • #13
                          Working Maven repository and missing spring-ws-parent

                          Hi,

                          The repository given earlier in this thread is not active:

                          Code:
                          repository>
                            <id>spring-maven-milestone</id>
                            <name>Springframework Maven Repository</name>
                            <url>http://maven.springframework.org/milestone</url>
                          </repository>
                          Is there some other Maven repository where SWS 2.0.0M2 can be accessed? I tried manually adding it to our local repository, but there are some references to the spring-ws-parent which is not part of the download package. Each sub pom contains the following:
                          Code:
                          <parent>
                            <artifactId>spring-ws-parent</artifactId>
                            <groupId>org.springframework.ws</groupId>
                            <version>2.0.0-M2</version>
                            <relativePath>../parent/pom.xml</relativePath>
                          </parent>
                          Can someone tell me if the parent listed above is required, and if so where can it be found?

                          Thanks, Ben

                          Comment


                          • #14
                            Originally posted by khooke View Post
                            I'm migrating existing code using Spring WS 1.5.9 to 2.0.0-M2 and have noticed some changes in classes and packages. Can someone confirm the following for me:

                            1. did
                            Code:
                            org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition
                            get replaced with:
                            Code:
                            org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition
                            Yes, the DynamicWsdl11Definition has been deprecated since 1.5, and we got rid of it in 2.0. The DefaultWsdl11Definition was introduced in 1.5 and should be a drop in replacement.

                            Originally posted by khooke View Post
                            2. DynamicWsdl11Definition used to use a property called builder, using class XsdBasedSoap11Wsdl4jDefinitionBuilder. Has this now gone as well? Is the equivalent replacement to use org.springframework.xml.xsd.SimpleXsdSchema?
                            The replacement for that is to use the provider API, which is much more powerful and allows for more customization of the resulting WSDL. See the reference docs, javadocs and samples for more information.

                            Comment


                            • #15
                              Originally posted by bengateau View Post
                              Hi,

                              The repository given earlier in this thread is not active:

                              Code:
                              repository>
                                <id>spring-maven-milestone</id>
                                <name>Springframework Maven Repository</name>
                                <url>http://maven.springframework.org/milestone</url>
                              </repository>
                              It works for me.

                              Comment

                              Working...
                              X