You're welcome. We need to fix the Hudson configuration so that build failures are notified to the mailing list. Does anybody know what needs to be done to allow [email protected] to post to [email protected]?
Andreas On Tue, Apr 27, 2010 at 17:13, Jeff Barrett <[email protected]> wrote: > Andreas, > > Thanks for fixing this! I had run the tests with Java 1.6 prior to > committing, and they passed. Sorry to all for the inconvenience. > > Thanks, > Jeff > > IBM Software Group - WebSphere Web Services Development > Phone: (512) 286-5256 or TieLine: 363-5256 > Internet e-mail and Sametime ID: [email protected] > > > > From: > Andreas Veithen <[email protected]> > To: > [email protected] > Cc: > [email protected] > Date: > 04/24/2010 04:22 AM > Subject: > Re: svn commit: r937071 - in /axis/axis2/java/core/trunk/modules: > jaxws-integration/ metadata/ > metadata/src/org/apache/axis2/jaxws/server/config/ > metadata/test/org/apache/axis2/jaxws/description/feature/ > > > > Fixed by adding the JAXB and SAAJ APIs to the endorsed JARs. > > Andreas > > On Sat, Apr 24, 2010 at 09:53, Andreas Veithen > <[email protected]> wrote: >> 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] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
