This change causes a build failure (large amount of test failures in
jaxws-integration):

http://hudson.zones.apache.org/hudson/job/Axis2/117/

Can you please fix this?

Andreas

On Thu, Apr 22, 2010 at 23:24,  <[email protected]> wrote:
> Author: barrettj
> Date: Thu Apr 22 21:24:25 2010
> New Revision: 937071
>
> URL: http://svn.apache.org/viewvc?rev=937071&view=rev
> Log:
> Add support for JAXWS 2.2 Addressing.responses annotation attribute.  Add 
> associated TDD tests.  Modify pom.xml to pickup annotations from JAXWS 2.2 
> jar instead of the JAXWS 2.1 classes in the JDK.
>
> Modified:
>    axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml
>    axis/axis2/java/core/trunk/modules/metadata/pom.xml
>    
> axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
>    
> axis/axis2/java/core/trunk/modules/metadata/test/org/apache/axis2/jaxws/description/feature/AddressingFeatureTests.java
>
> Modified: axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml?rev=937071&r1=937070&r2=937071&view=diff
> ==============================================================================
> --- axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml (original)
> +++ axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml Thu Apr 22 
> 21:24:25 2010
> @@ -34,6 +34,10 @@
>     <dependencies>
>         <dependency>
>             <groupId>org.apache.geronimo.specs</groupId>
> +            <artifactId>geronimo-jaxws_2.2_spec</artifactId>
> +        </dependency>
> +        <dependency>
> +            <groupId>org.apache.geronimo.specs</groupId>
>             <artifactId>geronimo-annotation_1.0_spec</artifactId>
>         </dependency>
>         <dependency>
> @@ -114,6 +118,28 @@
>         </testResources>
>         <plugins>
>             <plugin>
> +                <artifactId>maven-dependency-plugin</artifactId>
> +                <executions>
> +                    <execution>
> +                        <phase>generate-sources</phase>
> +                        <goals>
> +                            <goal>copy</goal>
> +                        </goals>
> +                        <configuration>
> +                            <artifactItems>
> +                                <artifactItem>
> +                                    
> <groupId>org.apache.geronimo.specs</groupId>
> +                                    
> <artifactId>geronimo-jaxws_2.2_spec</artifactId>
> +                                    <type>jar</type>
> +                                    <overWrite>true</overWrite>
> +                                    
> <outputDirectory>target/endorsed</outputDirectory>
> +                                 </artifactItem>
> +                            </artifactItems>
> +                        </configuration>
> +                    </execution>
> +                </executions>
> +            </plugin>
> +            <plugin>
>                 <artifactId>maven-compiler-plugin</artifactId>
>                 <inherited>true</inherited>
>                 <configuration>
> @@ -1360,7 +1386,7 @@
>                 <inherited>true</inherited>
>                 <configuration>
>                     <forkMode>pertest</forkMode>
> -                    <argLine>-Xms256m -Xmx512m</argLine>
> +                    <argLine>-Xms256m -Xmx512m 
> -Xbootclasspath/p:${basedir}/target/endorsed/geronimo-jaxws_2.2_spec-1.0-SNAPSHOT.jar</argLine>
>                     <!-- Enable the next 2 lines if you want to attach a 
> debugger
>                     <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE 
> -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>-->
>                     <includes>
>
> Modified: axis/axis2/java/core/trunk/modules/metadata/pom.xml
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/pom.xml?rev=937071&r1=937070&r2=937071&view=diff
> ==============================================================================
> --- axis/axis2/java/core/trunk/modules/metadata/pom.xml (original)
> +++ axis/axis2/java/core/trunk/modules/metadata/pom.xml Thu Apr 22 21:24:25 
> 2010
> @@ -143,15 +143,15 @@
>                             <goal>copy</goal>
>                         </goals>
>                         <configuration>
> -                         <artifactItems>
> -                           <artifactItem>
> -                             <groupId>org.apache.geronimo.specs</groupId>
> -                             <artifactId>geronimo-jaxws_2.2_spec</artifactId>
> -                             <type>jar</type>
> -                             <overWrite>true</overWrite>
> -                             
> <outputDirectory>target/endorsed</outputDirectory>
> -                           </artifactItem>
> -                         </artifactItems>
> +                            <artifactItems>
> +                                <artifactItem>
> +                                    
> <groupId>org.apache.geronimo.specs</groupId>
> +                                    
> <artifactId>geronimo-jaxws_2.2_spec</artifactId>
> +                                    <type>jar</type>
> +                                    <overWrite>true</overWrite>
> +                                    
> <outputDirectory>target/endorsed</outputDirectory>
> +                                 </artifactItem>
> +                            </artifactItems>
>                         </configuration>
>                     </execution>
>                 </executions>
> @@ -257,6 +257,9 @@
>                 <artifactId>maven-surefire-plugin</artifactId>
>                 <inherited>true</inherited>
>                 <configuration>
> +                    <argLine>
> +                        
> -Xbootclasspath/p:${basedir}/target/endorsed/geronimo-jaxws_2.2_spec-1.0-SNAPSHOT.jar
> +                    </argLine>
>                     <includes>
>                         <include>**/*Tests.java</include>
>                     </includes>
>
> Modified: 
> axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java?rev=937071&r1=937070&r2=937071&view=diff
> ==============================================================================
> --- 
> axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
>  (original)
> +++ 
> axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
>  Thu Apr 22 21:24:25 2010
> @@ -38,6 +38,7 @@ import org.apache.axis2.util.Utils;
>
>  import javax.xml.ws.soap.Addressing;
>  import javax.xml.ws.soap.AddressingFeature;
> +import javax.xml.ws.soap.AddressingFeature.Responses;
>
>  /**
>  * This class will enable/disable WS-Addressing for a JAX-WS 2.1 web service
> @@ -62,6 +63,7 @@ public class AddressingConfigurator impl
>        Parameter namespace = new 
> Parameter(AddressingConstants.WS_ADDRESSING_VERSION, null);
>        Parameter disabled = new 
> Parameter(AddressingConstants.DISABLE_ADDRESSING_FOR_IN_MESSAGES, "false");
>        Parameter required = new 
> Parameter(AddressingConstants.ADDRESSING_REQUIREMENT_PARAMETER, 
> AddressingConstants.ADDRESSING_UNSPECIFIED);
> +       Parameter responses = null;
>
>        if (addressing != null && submissionAddressing != null) {
>             //Both annotations must have been specified.
> @@ -127,11 +129,21 @@ public class AddressingConfigurator impl
>                  Messages.getMessage("NoWSAddressingFeatures"));
>        }
>
> +       // If the Addressing annotation was used, then get the responses 
> value from it and map it to the
> +       // value the addressing handler expects
> +       if (addressing != null) {
> +           responses = new 
> Parameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME,
> +                   mapResponseAttributeToAddressing(addressing.responses()));
> +       }
> +
>        try {
>             AxisService service = endpointDescription.getAxisService();
>                service.addParameter(namespace);
>                service.addParameter(disabled);
>                service.addParameter(required);
> +               if (responses != null) {
> +                service.addParameter(responses);
> +               }
>
>             String value = Utils.getParameterValue(disabled);
>                if (JavaUtils.isFalseExplicitly(value)) {
> @@ -147,6 +159,29 @@ public class AddressingConfigurator impl
>        }
>     }
>
> +    /**
> +     * Given a value for the Addressing.responses annotation attribute, map 
> it to the corresponding
> +     * Addressing constant to be set on the AxisSservice
> +     *
> +     * @param responses Enum value from the Addressing.responses annotation 
> attribute
> +     * @return String from AddressingContstants corresponding to the 
> responses value.
> +     */
> +    static private String mapResponseAttributeToAddressing(Responses 
> responses) {
> +        String addressingType = null;
> +        switch (responses) {
> +            case ALL:
> +                addressingType = 
> AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH;
> +                break;
> +            case ANONYMOUS:
> +                addressingType = 
> AddressingConstants.WSAM_INVOCATION_PATTERN_SYNCHRONOUS;
> +                break;
> +            case NON_ANONYMOUS:
> +                addressingType = 
> AddressingConstants.WSAM_INVOCATION_PATTERN_ASYNCHRONOUS;
> +                break;
> +        }
> +        return addressingType;
> +    }
> +
>     /*
>      *  (non-Javadoc)
>      * @see 
> org.apache.axis2.jaxws.feature.ServerConfigurator#supports(java.lang.String)
>
> Modified: 
> axis/axis2/java/core/trunk/modules/metadata/test/org/apache/axis2/jaxws/description/feature/AddressingFeatureTests.java
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/test/org/apache/axis2/jaxws/description/feature/AddressingFeatureTests.java?rev=937071&r1=937070&r2=937071&view=diff
> ==============================================================================
> --- 
> axis/axis2/java/core/trunk/modules/metadata/test/org/apache/axis2/jaxws/description/feature/AddressingFeatureTests.java
>  (original)
> +++ 
> axis/axis2/java/core/trunk/modules/metadata/test/org/apache/axis2/jaxws/description/feature/AddressingFeatureTests.java
>  Thu Apr 22 21:24:25 2010
> @@ -21,6 +21,7 @@ package org.apache.axis2.jaxws.descripti
>
>  import junit.framework.TestCase;
>  import org.apache.axis2.addressing.AddressingConstants;
> +import org.apache.axis2.jaxws.addressing.SubmissionAddressing;
>  import org.apache.axis2.description.AxisService;
>  import org.apache.axis2.description.Parameter;
>  import org.apache.axis2.jaxws.description.DescriptionFactory;
> @@ -31,6 +32,7 @@ import org.apache.axis2.util.Utils;
>  import javax.jws.WebService;
>  import javax.xml.namespace.QName;
>  import javax.xml.ws.soap.Addressing;
> +import javax.xml.ws.soap.AddressingFeature.Responses;
>
>  public class AddressingFeatureTests extends TestCase {
>
> @@ -40,6 +42,10 @@ public class AddressingFeatureTests exte
>     private static final String plainServicePortName = "PlainServicePort";
>     private static final String disabledServicePortName = 
> "DisabledServicePort";
>     private static final String requiredServicePortName = 
> "RequiredServicePort";
> +    private static final String responsesALLServicePortName = 
> "ResponsesALLServicePort";
> +    private static final String responsesANONServicePortName = 
> "ResponsesANONServicePort";
> +    private static final String responsesNONANONServicePortName = 
> "ResponsesNONANONServicePort";
> +    private static final String responsesNoAddressingServicePortName = 
> "ResponsesNoAddressingServicePort";
>
>     public void testNoAnnotation() {
>         ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(DefaultService.class);
> @@ -113,6 +119,84 @@ public class AddressingFeatureTests exte
>         assertEquals(AddressingConstants.ADDRESSING_REQUIRED, required);
>     }
>
> +    /**
> +     * Validate that annotation value Addressing.responses=ALL is set 
> correctly on the AxisService
> +     */
> +    public void testResponsesALL() {
> +        ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(ResponsesALLService.class);
> +        EndpointDescription ed = sd.getEndpointDescription(new QName(ns, 
> responsesALLServicePortName));
> +        assertNotNull(ed);
> +
> +        AxisService axisService = ed.getAxisService();
> +        Parameter responsesParam = 
> axisService.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
> +        assertNotNull("Responses parameter not set", responsesParam);
> +
> +        String responsesType = Utils.getParameterValue(responsesParam);
> +        assertEquals("Wrong type of responses returned", 
> AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH, responsesType);
> +    }
> +
> +    /**
> +     * Validate that annotation value Addressing.responses=ANONYMOUS is set 
> correctly on the AxisService
> +     */
> +    public void testResponsesANON() {
> +        ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(ResponsesANONService.class);
> +        EndpointDescription ed = sd.getEndpointDescription(new QName(ns, 
> responsesANONServicePortName));
> +        assertNotNull(ed);
> +
> +        AxisService axisService = ed.getAxisService();
> +        Parameter responsesParam = 
> axisService.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
> +        assertNotNull("Responses parameter not set", responsesParam);
> +
> +        String responsesType = Utils.getParameterValue(responsesParam);
> +        assertEquals("Wrong type of responses returned", 
> AddressingConstants.WSAM_INVOCATION_PATTERN_SYNCHRONOUS, responsesType);
> +    }
> +
> +    /**
> +     * Validate that annotation value Addressing.responses=NON_ANONYMOUS is 
> set correctly on the AxisService
> +     */
> +    public void testResponsesNONANON() {
> +        ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(ResponsesNONANONService.class);
> +        EndpointDescription ed = sd.getEndpointDescription(new QName(ns, 
> responsesNONANONServicePortName));
> +        assertNotNull(ed);
> +
> +        AxisService axisService = ed.getAxisService();
> +        Parameter responsesParam = 
> axisService.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
> +        assertNotNull("Responses parameter not set", responsesParam);
> +
> +        String responsesType = Utils.getParameterValue(responsesParam);
> +        assertEquals("Wrong type of responses returned", 
> AddressingConstants.WSAM_INVOCATION_PATTERN_ASYNCHRONOUS, responsesType);
> +    }
> +
> +    /**
> +     * Validate that no annotation for Addressing does not set the 
> associated addressing parameter on the AxisService
> +     */
> +    public void testResponsesNoAddressing() {
> +        ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(ResponsesNoAddressingService.class);
> +        EndpointDescription ed = sd.getEndpointDescription(new QName(ns, 
> responsesNoAddressingServicePortName));
> +        assertNotNull(ed);
> +
> +        AxisService axisService = ed.getAxisService();
> +        Parameter responsesParam = 
> axisService.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
> +        assertNull("Responses parameter was set", responsesParam);
> +
> +    }
> +
> +    /**
> +     * Validate that annotation Addressing with no responses attribute 
> explicitly set gets the correct default on the AxisService
> +     */
> +    public void testResponsesDefault() {
> +        ServiceDescription sd  = 
> DescriptionFactory.createServiceDescription(PlainService.class);
> +        EndpointDescription ed = sd.getEndpointDescription(new QName(ns, 
> plainServicePortName));
> +        assertNotNull(ed);
> +
> +        AxisService axisService = ed.getAxisService();
> +        Parameter responsesParam = 
> axisService.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
> +        assertNotNull("Responses parameter not set", responsesParam);
> +
> +        String responsesType = Utils.getParameterValue(responsesParam);
> +        assertEquals("Wrong type of responses returned", 
> AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH, responsesType);
> +    }
> +
>     @WebService(targetNamespace=ns, portName=defaultServicePortName)
>     class DefaultService {
>         public double getQuote(String symbol) {
> @@ -143,4 +227,36 @@ public class AddressingFeatureTests exte
>             return 101.01;
>         }
>     }
> +
> +   �...@webservice(targetNamespace=ns, portName=responsesALLServicePortName)
> +   �...@addressing(required=true, responses=Responses.ALL)
> +    class ResponsesALLService {
> +        public double getQuote(String symbol) {
> +            return 101.01;
> +        }
> +    }
> +
> +   �...@webservice(targetNamespace=ns, portName=responsesANONServicePortName)
> +   �...@addressing(required=true, responses=Responses.ANONYMOUS)
> +    class ResponsesANONService {
> +        public double getQuote(String symbol) {
> +            return 101.01;
> +        }
> +    }
> +
> +   �...@webservice(targetNamespace=ns, 
> portName=responsesNONANONServicePortName)
> +   �...@addressing(required=true, responses=Responses.NON_ANONYMOUS)
> +    class ResponsesNONANONService {
> +        public double getQuote(String symbol) {
> +            return 101.01;
> +        }
> +    }
> +
> +   �...@webservice(targetNamespace=ns, 
> portName=responsesNoAddressingServicePortName)
> +   �...@submissionaddressing(required=true)
> +    class ResponsesNoAddressingService {
> +        public double getQuote(String symbol) {
> +            return 101.01;
> +        }
> +    }
>  }
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to