thanks Andreas. Amila.
On Fri, Apr 23, 2010 at 2:47 PM, Andreas Veithen <[email protected]>wrote: > [email protected] > > Andreas > > On Fri, Apr 23, 2010 at 11:09, Amila Suriarachchi > <[email protected]> wrote: > > hi Andreas, > > > > Do you know the address to subscribe for new axis2 commits? > > > > thanks, > > Amila. > > > > > > On Fri, Apr 23, 2010 at 1:04 PM, 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] > >> > > > > > > > > -- > > Amila Suriarachchi > > WSO2 Inc. > > blog: http://amilachinthaka.blogspot.com/ > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
