Hi,

I am writing getting started with cxf and am having some troubles with
jetty and maven.

My server setting is Spring backed by the CXFServlet.

I have written some integration tests - first just making sure the setup
is correct.

If I run jetty from maven using "mvn jetty:run", then on another console
run my tests, everything is ok.
But if I deploy the WAR to an embedded Jetty from within the test suite,
and then run the tests, the tests fail with:

java.lang.LinkageError:
(Ljavax/activation/DataHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:349)
        at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:320)
<=== I would guess the problem is here:
        at
org.apache.cxf.jaxb.JAXBDataBinding.createReader(JAXBDataBinding.java:146)
===> 
        at
org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:69)
        at
org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:83)
        at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:70)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
        at
org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:256)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
        at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170)
        at
org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:447)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:621)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
        at org.mortbay.jetty.Server.handle(Server.java:269)

Here is my maven dependencies report:

[INFO] The following files have been resolved:
[INFO]    aopalliance:aopalliance:jar:1.0 (scope = compile)
[INFO]    avalon-framework:avalon-framework:jar:4.1.3 (scope = compile)
[INFO]    com.sun.xml.bind:jaxb-impl:jar:2.0.5 (scope = compile)
[INFO]    com.sun.xml.bind:jaxb-xjc:jar:2.0 (scope = compile)
[INFO]    com.sun.xml.messaging.saaj:saaj-impl:jar:1.3 (scope = compile)
[INFO]    commons-lang:commons-lang:jar:2.1 (scope = compile)
[INFO]    commons-logging:commons-logging:jar:1.1 (scope = compile)
[INFO]    javax.servlet:servlet-api:jar:2.5 (scope = test)
[INFO]    javax.xml.bind:jaxb-api:jar:2.0 (scope = compile)
[INFO]    javax.xml.soap:saaj-api:jar:1.3 (scope = compile)
[INFO]    javax.xml.ws:jaxws-api:jar:2.1 (scope = compile)
[INFO]    jaxen:jaxen:jar:1.1 (scope = compile)
[INFO]    jdom:jdom:jar:1.0 (scope = compile)
[INFO]    junit:junit:jar:3.8.1 (scope = test)
[INFO]    log4j:log4j:jar:1.2.14 (scope = compile)
[INFO]    logkit:logkit:jar:1.0.1 (scope = compile)
[INFO]    net.java.dev.stax-utils:stax-utils:jar:20060502 (scope = compile)
[INFO]    org.apache.cxf:cxf-api:jar:2.0.3-incubator (scope = compile)
[INFO]    org.apache.cxf:cxf-common-schemas:jar:2.0.3-incubator (scope =
compile)
[INFO]    org.apache.cxf:cxf-common-utilities:jar:2.0.3-incubator (scope
= compile)
[INFO]    org.apache.cxf:cxf-rt-bindings-soap:jar:2.0.3-incubator (scope
= compile)
[INFO]    org.apache.cxf:cxf-rt-bindings-xml:jar:2.0.3-incubator (scope
= compile)
[INFO]    org.apache.cxf:cxf-rt-core:jar:2.0.3-incubator (scope = compile)
[INFO]    org.apache.cxf:cxf-rt-databinding-aegis:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-frontend-simple:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-management:jar:2.0.3-incubator (scope =
compile)
[INFO]    org.apache.cxf:cxf-rt-transports-http:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-transports-jms:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-rt-transports-local:jar:2.0.3-incubator
(scope = compile)
[INFO]    org.apache.cxf:cxf-tools-common:jar:2.0.3-incubator (scope =
compile)
[INFO]   
org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0-M1 (scope
= compile)
[INFO]    org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1
(scope = compile)
[INFO]   
org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.0-M1 (scope =
compile)
[INFO]    org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.1 (scope
= compile)
[INFO]   
org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.1 (scope
= compile)
[INFO]    org.apache.neethi:neethi:jar:2.0.2 (scope = compile)
[INFO]    org.apache.ws.commons.schema:XmlSchema:jar:1.3.2 (scope = compile)
[INFO]    org.codehaus.woodstox:wstx-asl:jar:3.2.1 (scope = compile)
[INFO]    org.mortbay.jetty:jetty:jar:6.0.0 (scope = test)
[INFO]    org.mortbay.jetty:jetty-embedded:jar:6.0.0 (scope = test)
[INFO]    org.mortbay.jetty:jetty-util:jar:6.0.0 (scope = test)
[INFO]    org.mortbay.jetty:jsp-api-2.1:jar:6.0.0 (scope = test)
[INFO]    org.mortbay.jetty:servlet-api-2.5:jar:6.0.0 (scope = test)
[INFO]    org.springframework:spring-beans:jar:2.0.6 (scope = compile)
[INFO]    org.springframework:spring-context:jar:2.0.6 (scope = compile)
[INFO]    org.springframework:spring-core:jar:2.0.6 (scope = compile)
[INFO]    org.springframework:spring-web:jar:2.0.6 (scope = compile)
[INFO]    org.testng:testng:jar:jdk15:5.1 (scope = test)
[INFO]    stax:stax-api:jar:1.0.1 (scope = compile)
[INFO]    velocity:velocity:jar:1.4 (scope = compile)
[INFO]    velocity:velocity-dep:jar:1.4 (scope = runtime)
[INFO]    wsdl4j:wsdl4j:jar:1.6.1 (scope = compile)
[INFO]    xml-apis:xml-apis:jar:1.3.02 (scope = compile)
[INFO]    xml-resolver:xml-resolver:jar:1.2 (scope = compile)


and the maven dependencies section from the pom.xml:

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-core</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-simple</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-databinding-aegis</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-local</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-jms</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-management</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-common-utilities</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-embedded</artifactId>
            <version>6.0.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <properties>
        <spring.version>2.0.6</spring.version>
        <cxf.version>2.0.3-incubator</cxf.version>
    </properties>

On the plugin side, maven reports:
[INFO] Plugin Resolved: maven-jetty-plugin-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: maven-project-2.0.3.jar
[INFO]     Plugin Dependency Resolved: maven-plugin-tools-api-2.0.jar
[INFO]     Plugin Dependency Resolved: maven-plugin-api-2.0.3.jar
[INFO]     Plugin Dependency Resolved: jetty-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: commons-el-1.0.jar
[INFO]     Plugin Dependency Resolved: ant-1.6.4.jar
[INFO]     Plugin Dependency Resolved: jetty-plus-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: jsp-2.1-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: jetty-management-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: jetty-naming-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: start-6.0.0rc2.jar
[INFO]     Plugin Dependency Resolved: maven-artifact-2.0.3.jar


Sorry for the long info, I thought I better be more verbose with info...

Cheers,
Ron




Reply via email to