My gut feeling is that you have a startup ordering issue. Try moving the servicemix.spec and servicemix.bundle bundles to BEFORE the CXF bundle.
What I think may be happening is that CXF is resolving the javax.xml.bind anntations to the versions built into the JDK, but the jaxb-impl bundle is resolving it to the servicemix.spec version. Thus, the annotions don't match so the the jaxb context doesn't recognize the annotations and is just doing some default things. You could check by doing a "bundle 72" and "bundle 91" and see where they are finding their javax.xml.bind annotations. Dan On Tuesday 24 August 2010 7:31:10 am Schneider Christian wrote: > I am trying to use cxf in osgi with equinox. I have set up a small project > that contains the service stubs and a spring config using the spring osgi > extender. > > CXF is loaded correctly from spring. The service request is sent to the > server the response xml also seems to be correct. When unmarshalling the > response I get the error: org.apache.cxf.interceptor.Fault: Unmarshalling > Error: unexpected element (uri:"", local:"customers"). Expected elements > are (none) > > I guess the reason could be that cxf can not correctly understand the > service model by looking at the stubs. Classloading problem? > > Any ideas what happens here? > > I leave out the log in this mail as my first mail got blocked by our mail > firewall. I will try to add the log as a reply. > > Best regards > > Christian > > -------------- > MANIFEST.MF > -------------- > Manifest-Version: 1.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Customerserviceclient Plug-in > Bundle-SymbolicName: customerserviceclient; singleton:=true > Bundle-Version: 1.0.0 > Bundle-Activator: customerserviceclient.Activator > Require-Bundle: org.apache.cxf.bundle-minimal;bundle-version="2.2.9", > org.eclipse.osgi;bundle-version="3.4.3", > org.springframework.beans;bundle-version="2.5.6", > com.springsource.org.apache.commons.logging;bundle-version="1.1.1" > Bundle-RequiredExecutionEnvironment: JavaSE-1.6 > Import-Package: META-INF.cxf > Spring-Context: META-INF/spring/bundle-context.xml > > > -------------- > bundle-context.xml > -------------- > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:context="http://www.springframework.org/schema/context" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd > http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd > http://www.springframework.org/schema/context > http://www.springframework.org/schema/context/spring-context-2.5.xsd " > > > <import resource="classpath:META-INF/cxf/cxf.xml" /> > <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> > <import > resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" /> > > <bean id="appModule" class="net.enbw.example.AppModule"> > <property name="customerService" ref="customerService"/> > </bean> > > <client id="customerService" xmlns="http://cxf.apache.org/jaxws" > > serviceClass="net.enbw.services.etg.examples.customerservice.CustomerServi > ceV1" address="http://localhost:9091/customerservice"> > <features> > <!-- Enables logging of SOAP messages. --> > <logging xmlns="http://cxf.apache.org/core" /> > </features> > </client> > > </beans> > > > > -------------- > Bundles > -------------- > osgi> ss > > Framework is launched. > > id State Bundle > 0 ACTIVE org.eclipse.osgi_3.4.3.R34x_v20081215-1030 > 12 ACTIVE com.springsource.org.apache.commons.logging_1.1.1 > 23 ACTIVE com.springsource.javax.wsdl_1.6.1 > 28 ACTIVE com.springsource.javax.activation_1.1.1 > 59 ACTIVE com.springsource.org.objectweb.asm_1.5.3 > 65 ACTIVE com.springsource.javax.mail_1.4.1 > 67 ACTIVE org.apache.ws.commons.schema.XmlSchema_1.4.5 > 72 ACTIVE org.apache.cxf.bundle-minimal_2.2.10 > 73 ACTIVE org.springframework.osgi.io_1.1.3.RELEASE > 74 ACTIVE org.springframework.osgi.core_1.1.3.RELEASE > 75 ACTIVE org.springframework.core_2.5.6.A > 76 ACTIVE org.springframework.osgi.extender_1.1.3.RELEASE > 77 ACTIVE org.springframework.aop_2.5.6.A > 78 ACTIVE org.springframework.context_2.5.6.A > 79 ACTIVE com.springsource.org.aopalliance_1.0.0 > 80 ACTIVE org.springframework.beans_2.5.6.A > 84 ACTIVE org.apache.servicemix.specs.stax-api-1.0_1.3.0 > 85 ACTIVE org.apache.servicemix.bundles.xmlresolver_1.2.0.1 > 86 ACTIVE org.apache.servicemix.specs.jaxb-api-2.1_1.3.0 > 87 ACTIVE org.apache.servicemix.specs.saaj-api-1.3_1.3.0 > 88 ACTIVE org.apache.servicemix.bundles.neethi_2.0.4.1 > 89 ACTIVE org.apache.servicemix.specs.jsr311-api-1.0_1.3.0 > 90 ACTIVE org.apache.servicemix.specs.jaxws-api-2.1_1.3.0 > 91 ACTIVE org.apache.servicemix.bundles.jaxb-impl_2.1.6.1 > 92 ACTIVE org.apache.servicemix.bundles.wsdl4j_1.6.1.1 > 93 ACTIVE org.apache.servicemix.bundles.woodstox_3.2.7.1 > 94 ACTIVE org.apache.servicemix.bundles.xmlsec_1.3.0.1 > 95 ACTIVE org.apache.servicemix.bundles.xmlschema_1.4.3.1 > 97 ACTIVE customerserviceclient_1.0.0 > > > > > Christian Schneider > Informationsverarbeitung > Business Solutions > Handel und Dispatching > > Tel : +49-(0)721-63-15482 > > EnBW Systeme Infrastruktur Support GmbH > Sitz der Gesellschaft: Karlsruhe > Handelsregister: Amtsgericht Mannheim ‑ HRB 108550 > Vorsitzender des Aufsichtsrats: Dr. Bernhard Beck > Geschäftsführer: Jochen Adenau, Hans-Günther Meier -- Daniel Kulp [email protected] http://dankulp.com/blog
