That is because the Maven build is set up so that the relevant JARs are endorsed automatically when running the unit tests.
Andreas On Tue, Apr 10, 2012 at 10:06, Stadelmann Josef <josef.stadelm...@axa-winterthur.ch> wrote: > Thanks Sagara, > > I am very happy about your response. Thanks > > What I do not understand is: I have built axis2-1.6.1 from sources using > maven-2.2.1 and once with maven-3.0.4 always from JDK 1.6.0_22. WITH SUCCESS. > There was no claim from maven that a certain feature can not be compiled or > from surefire that a certain feature can not be tested when built against JDK > 1.6. > > Or interpreting your words, that Axis2 uses newer versions of both artifacts. > In case of i.e. a @RequestWrapper#partName introduced starting from JAX-WS > 2.2 [1] will not be available with previous versions[2] of JAX-WS found in > JDK1.6. > > > Please note: There are axis2-1.6.1/samples/jaxws-samples which under this > circumstances do not run on JDK 1.6.0_30 i.e. > org.apache.axis2.jaxws.calculator.CalculatorServer.main(CalculatorServer.java:33), > at least not without a word about moving certain libs into endorsed > directories. > > AND because axis2-1.6.1 code at package > org.apache.axis2.jaxws.description.builder.converter.JavaMethodsToMDCConverter > uses a call which dependes on JDK 7.0 and artifacts, or in short, will not > run on JDK 6.0 without particular artifacts endorsed. Why does maven not > produce a failure or warning that the full functionality of JAX-WS 2.2 is > only available when axis2-1.6.1 runs on top of JDK 7.0 > > > /** > * This method will drive the attachment of @ResponeWrapper annotation > data to the > * <code>MethodDescriptionComposite</code> > * > * @param mdc - <code>MethodDescriptionComposite</code> > * @param method - <code>Method</code> > */ > private void attachResponseWrapperAnnotation(MethodDescriptionComposite > mdc, Method > method) { > ResponseWrapper responseWrapper = > (ResponseWrapper)ConverterUtils.getAnnotation( > ResponseWrapper.class, method); > if (responseWrapper != null) { > ResponseWrapperAnnot rwAnnot = > ResponseWrapperAnnot.createResponseWrapperAnnotImpl(); > rwAnnot.setClassName(responseWrapper.className()); > rwAnnot.setLocalName(responseWrapper.localName()); > rwAnnot.setTargetNamespace(responseWrapper.targetNamespace()); > rwAnnot.setPartName(responseWrapper.partName()); > mdc.setResponseWrapperAnnot(rwAnnot); > } > } > > What I do not understand is that axis2-1.6.1 sources can compile against JDK > 1.6.0 where as .partName is clearly not an artifact delivered with JDK 1.6.0 > and/or dependent artifacs; I am not a Java Expert and have no explanation for > that. Maven regulates so many dependecies; why not such a dependency; at > least I would expect one word of caution in the SAMPLE README file for i.e. > the Calculator Sample, stating that @Addressing or certain other known > @Annotations are not working when used by Axis2 with JDK 1.6.0 > > After all: In short and in my mind, please correct if I am wrong > "@Addressing" is only supported with JDK 1.7 when used in a JAX-WS annotaion. > > Josef > > > > -----Ursprüngliche Nachricht----- > Von: Sagara Gunathunga [mailto:sagara.gunathu...@gmail.com] > Gesendet: Montag, 9. April 2012 06:44 > An: java-user@axis.apache.org > Betreff: Re: [axis2-1.6.1] RequestWrapper.partName() not supported on JDK > 1.6.0 but used by JAX-WS > > This is not a Axis2 issue instead JDK 1.6 related JAX-WS issue, JDK 6 > shipped JAXB 2.0 and JAX-WS 2.0 as a part of JDK but Axis2 uses newer > versions of both artifacts. In your case @RequestWrapper#partName > introduced starting from JAX-WS 2.2 [1] and not available on previous > versions[2]. > > It is recommended to use one of a endorsed mechanisms mentioned here > [3] [4] to solve those issues. For Axis2 you can easily find artifacts > that needed to be endorsed within the /lob/endorsed/ directory of > binary distribution. > > [1] - > http://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html > [2] - > http://docs.oracle.com/javase/7/docs/api/javax/xml/ws/RequestWrapper.html#partName%28%29 > [2] - > http://weblogs.java.net/blog/ramapulavarthi/archive/2007/01/problems_using.html > [3] - > http://weblogs.java.net/blog/vivekp/archive/2007/01/running_jaxws_2.html > > Thanks ! > > On Thu, Apr 5, 2012 at 10:17 PM, Stadelmann Josef > <josef.stadelm...@axa-winterthur.ch> wrote: >> [exec:exec] >> >> Starting Server >> >> Exception in thread "main" java.lang.NoSuchMethodError: >> javax.xml.ws.RequestWrapper.partName()Ljava/lang/String; >> >> at >> org.apache.axis2.jaxws.description.builder.converter.JavaMethodsToMDCConverter.attachRequestWrapperAnnotation(JavaMethodsToMDCConverter.java:203) >> >> at >> org.apache.axis2.jaxws.description.builder.converter.JavaMethodsToMDCConverter.convertMethods(JavaMethodsToMDCConverter.java:85) >> >> at >> org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConverter.introspectClass(JavaClassToDBCConverter.java:193) >> >> at >> org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConverter.buildDBC(JavaClassToDBCConverter.java:141) >> >> at >> org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConverter.produceDBC(JavaClassToDBCConverter.java:120) >> >> at >> org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:215) >> >> at >> org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:206) >> >> at >> org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescription(DescriptionFactory.java:542) >> >> at >> org.apache.axis2.jaxws.server.endpoint.EndpointImpl.initialize(EndpointImpl.java:85) >> >> at >> org.apache.axis2.jaxws.server.endpoint.EndpointImpl.<init>(EndpointImpl.java:67) >> >> at >> org.apache.axis2.jaxws.spi.Provider.createAndPublishEndpoint(Provider.java:56) >> >> at >> org.apache.axis2.jaxws.spi.Provider.createAndPublishEndpoint(Provider.java:52) >> >> at javax.xml.ws.Endpoint.publish(Endpoint.java:170) >> >> at >> org.apache.axis2.jaxws.calculator.CalculatorServer.<init>(CalculatorServer.java:29) >> >> at >> org.apache.axis2.jaxws.calculator.CalculatorServer.main(CalculatorServer.java:33) >> >> ------------------------------------------------------------------------ >> >> BUILD FAILURE >> >> call it a feature, but the axis2-1.6.1/samples/jaxws-calculator project runs >> only with JDK 1.7.0 !!! >> >> javax.xml.ws.RequestWrapper.partName() >> >> can only run if you are on a JDK 1.7.0 platform as .partName() method does >> not exist with the JDK 1.6.0 >> >> So that is one more time why it should be said in the release notes that >> >> JAX-WS 2.0 is not fully supported on axis2-1.6.1 to run on a JDK 1.6.0 >> platform. >> >> my thoughts, >> >> Josef > > > > -- > Sagara Gunathunga > > Blog - http://ssagara.blogspot.com > Web - http://people.apache.org/~sagara/ > LinkedIn - http://www.linkedin.com/in/ssagara > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org > For additional commands, e-mail: java-user-h...@axis.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org > For additional commands, e-mail: java-user-h...@axis.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org