The build failure actually only occurs with Java 1.5. The reason is
that you added JAX-WS to the list of endorsed JARs, but not JAXB. On
1.5 this doesn't work because JAX-WS cannot see the JAXB classes in
the application classpath. I will try to correct this, but if it gets
more complicated, I will temporarily revert the change and let you fix
it properly.

Andreas

On Fri, Apr 23, 2010 at 09:34, Andreas Veithen
<[email protected]> wrote:
> 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