axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sagara Gunathunga <sagara.gunathu...@gmail.com>
Subject Re: [axis2-1.6.1] RequestWrapper.partName() not supported on JDK 1.6.0 but used by JAX-WS
Date Tue, 10 Apr 2012 16:26:25 GMT
On Tue, Apr 10, 2012 at 9:26 PM, Stadelmann Josef <
josef.stadelmann@axa-winterthur.ch> wrote:

> Thank you Andreas,
>
> But I feel that this is a bit too much of automatic silent
> maven-automatism.
>
> If I am targeting a particular end java platform, i.e. JDK 1.6.0_05 for
> OpenVMS
> and I do not know which jar's maven has automatically endorsed to keep it's
> unit test running, I am confident that several errors will happen later due
> to this hidden, for many user, unknown silent behavior.
>

There is nothing hidden and silent If you read particular POM files you can
find all these details very easily. These endorse workaround is not
specific to Axis2 almost all JAX-WS implementations use this approach and
recommended by Java language.

Thanks !

>
> Where would you suggest that developers building axis2 itself (open source)
> are made aware about that maven has endorsed some jars (exact list of
> artifacts
> including version) to keep JAX-WS 2.2 running?
>
> Are you also saying that axis2 running on a tomcat running on JDK 1.6.0_22
> (i.e.)
> can endorse jar's from JDK 1.7.0_03 to fix existing JAX-WS 2.2
> dependencies for run time?
>
> Would in this case the example run when maven starts the server/service
> and when
> maven starts the client and endorses for each of them the proper JDK
> 1.7.0_03 jars
> to have the applications dependencies for JDK 1.7.0_03 libs fixed for
> JAX-WS 2.2?
>
> Josef
>
>
> -----Urspr√ľngliche Nachricht-----
> Von: Andreas Veithen [mailto:andreas.veithen@gmail.com]
> Gesendet: Dienstag, 10. April 2012 12:34
> 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
>
> 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.stadelmann@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.gunathunga@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.stadelmann@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-unsubscribe@axis.apache.org
> > For additional commands, e-mail: java-user-help@axis.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> > For additional commands, e-mail: java-user-help@axis.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>


-- 
Sagara Gunathunga

Blog      - http://ssagara.blogspot.com
Web      - http://people.apache.org/~sagara/
LinkedIn - http://www.linkedin.com/in/ssagara

Mime
View raw message