@Webfault is an annotation in use since JDK 6.0 ...
I understand that this class needs enhancements over time.
What I do not understand is that 
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter
has a method 

    private void attachWebFaultAnnotation(DescriptionBuilderComposite
composite) {
        WebFault webFault = (WebFault)ConverterUtils.getAnnotation(
                WebFault.class, serviceClass);
        if (webFault != null) {
            WebFaultAnnot webFaultAnnot =
WebFaultAnnot.createWebFaultAnnotImpl();
            webFaultAnnot.setFaultBean(webFault.faultBean());
            webFaultAnnot.setName(webFault.name());
 
webFaultAnnot.setTargetNamespace(webFault.targetNamespace());
            webFaultAnnot.setMessageName(webFault.messageName());
            composite.setWebFaultAnnot(webFaultAnnot);
        }

which is a show stoper for an JDK 6.0 dependent environment, because the
line in red works only within a JDK 7.0 environment.

I have developed "FileNotFoundExceptionWs", a Wrapper class using the
@Webfault annotation with 3 arguments, 
and all builds fine. But depoyment of this service does not work because
I run (un-endorsed) on a JDK 6.0 platform.
where the following error is thrown by Axis2-1.6.1 code as seen above.:

[INFO] Deploying JAXWS annotated class
ch.axa.spezpla.fs1.MtomFile12PortImpl as a service - MtomFileService12
[INFO] Exception creating Axis Service : null
java.lang.NoSuchMethodError:
javax.xml.ws.WebFault.messageName()Ljava/lang/String;
        at
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter.attachWebFaultAnnotation(JavaClassToDBCConverter.java:384)
        at
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter.setTypeTargettedAnnotations(JavaClassToDBCConverter.java:247)
        at
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter.introspectClass(JavaClassToDBCConverter.java:159)
        at
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter.buildDBC(JavaClassToDBCConverter.java:141)
        at
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter.produceDBC(JavaClassToDBCConverter.java:97)
        at
org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createSer
viceDescription(DescriptionFactoryImpl.java:215)
        at
org.apache.axis2.jaxws.description.DescriptionFactory.createAxisService(
DescriptionFactory.java:564)
        at
org.apache.axis2.jaxws.framework.JAXWSDeployer.createAxisService(JAXWSDe
ployer.java:257)
        at
org.apache.axis2.jaxws.framework.JAXWSDeployer.deployClasses(JAXWSDeploy
er.java:208)
        at
org.apache.axis2.jaxws.framework.JAXWSDeployer.deployServicesInWARClassP
ath(JAXWSDeployer.java:106)
        at
org.apache.axis2.jaxws.framework.JAXWSDeployer.init(JAXWSDeployer.java:7
8)
        at
org.apache.axis2.deployment.DeploymentEngine.initializeDeployers(Deploym
entEngine.java:1166)
        at
org.apache.axis2.deployment.DeploymentEngine.setConfigContext(Deployment
Engine.java:1155)
        at
org.apache.axis2.deployment.WarBasedAxisConfigurator.setConfigContext(Wa
rBasedAxisConfigurator.java:349)
        at
org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
Context(ConfigurationContextFactory.java:89)
        at
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
t.java:584)
        at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1173)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:4187)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4496
)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
        at
org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:30
3)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:119)
        at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.j
ava:1337)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.proc
essChildren(ContainerBase.java:1601)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.proc
essChildren(ContainerBase.java:1610)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(
ContainerBase.java:1590)
        at java.lang.Thread.run(Thread.java:662)


google for the red line and wonder how many runs into a similar problem.
endorsing helps but shifts the problem arround, and there is no
guarantee 
that endorsing missing jar files adds to the robsutness of the
environment!

is there a chance to have Tomcat using the same automatic endorsment
facility as maven has when it builds and test and runs error free
org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConve
rter
???

Josef






Reply via email to