Switching to a 1.5.0 JDK would probably fix it. The version of JAXB
found in 1.6.0 is a bit older than the version we ship.
You MIGHT be able to put the jaxb jars into the jre/lib/endorsed dir to
get it working. Not really sure though.
Dan
On Monday 14 January 2008, Julian Morrison wrote:
> I'm using Maven to get cxf-bundle-2.0.3 and I've been unable to get
> the REST mode to work properly.
>
> The error appears to be javax.xml.bind.JAXBException: property
> "com.sun.xml.bind.defaultNamespaceRemap" is not supported
>
> This is on java 1.6.0_03.
>
> Sample class that causes an error:
>
> import java.util.*;
>
> import org.apache.cxf.endpoint.Server;
> import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
> import org.apache.cxf.service.invoker.BeanInvoker;
>
>
> public class Bob
> {
> public static void main(String... args)
> {
> try
> {
> JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
> sf.setServiceClass( Bob.class );
> sf.setAddress( "http://localhost:9999/" );
> sf.getServiceFactory().setInvoker( new BeanInvoker( new
> Bob() ) );
> Server server = sf.create();
> server.start();
> }
> catch (Throwable t)
> {
> dump(t);
> }
> }
>
> private static void dump(Throwable t)
> {
> System.err.println(t.toString());
> for (StackTraceElement e : t.getStackTrace())
> System.err.println(e);
> Throwable cause = t.getCause();
> if (cause != null)
> {
> System.err.println("Caused by:");
> dump(cause);
> }
> }
>
> public String getGreeting()
> {
> return "Hello!";
> }
>
> public List<String> getColors()
> {
> String[] a = "red,orange,yellow,green,blue,violet".split( ","
> ); return Arrays.asList( a );
> }
> }
>
> Sample error:
>
> 14-Jan-2008 13:26:19
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromClass
> INFO: Creating Service {http://unknown.namespace/}BobService from
> class Bob org.apache.cxf.service.factory.ServiceConstructionException
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:19
>7)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServi
>ceFromClass(ReflectionServiceFactoryBean.java:293)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initialize
>ServiceModel(ReflectionServiceFactoryBean.java:333)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Ref
>lectionServiceFactoryBean.java:151)
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServi
>ceFactoryBean.java:93)
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoin
>t(AbstractWSDLBasedEndpointFactory.java:74)
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.jav
>a:108)
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryB
>ean.java:147) Bob.main(Bob.java:18)
> Caused by:
> javax.xml.bind.JAXBException: property
> "com.sun.xml.bind.defaultNamespaceRemap" is not supported
> com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFacto
>ry.java:52) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>ava:39)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>orImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597)
> javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:210)
> javax.xml.bind.ContextFinder.find(ContextFinder.java:381)
> javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
> org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContext(JAXBDataBinding.
>java:369)
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:18
>0)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServi
>ceFromClass(ReflectionServiceFactoryBean.java:293)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initialize
>ServiceModel(ReflectionServiceFactoryBean.java:333)
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Ref
>lectionServiceFactoryBean.java:151)
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServi
>ceFactoryBean.java:93)
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoin
>t(AbstractWSDLBasedEndpointFactory.java:74)
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.jav
>a:108)
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryB
>ean.java:147) Bob.main(Bob.java:18)
--
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog