If you just comment out the line:
svrFactory.setServiceName(new QName("AService/1.0"));
You should be all set. The test fails due to the object not really have a
.equals method on it, but the IO works fine.
Dan
On Thu August 13 2009 11:48:28 am Fisher, Jonathan wrote:
> Daniel I'll be honest, I've written very few patches and I'm not sure
> what an easy to understand test case looks like. See attached maven (and
> eclipse) project, just run "mvn clean test" to reproduce the error.
>
>
> -----Original Message-----
> From: Daniel Kulp [mailto:[email protected]]
> Sent: Thursday, August 13, 2009 9:35 AM
> To: [email protected]
> Cc: Fisher, Jonathan
> Subject: Re: Exception using local transport: "Non-default namespace can
> not map to empty URI"
>
>
> Can you create a sample testcase?
>
> My gut feeling is it stems from:
> svrFactory.setServiceName(new QName("AService/1.0"));
>
> I'm think if you set a namespace on that instead of using the
> default/empty
> namespace, it may work better. (likewise client side)
>
> Basically, it's trying to write out the wrapper element name, but for
> some
> reason, the namespace is empty which isn't allowed at that point. With
> the
> simple frontend, that would normally be the namespace of the service, so
> you
> may need to set that on the factory to make sure it gets a namespace.
>
> Dan
>
> On Thu August 13 2009 9:52:24 am cj91 wrote:
> > After solving the security exception, I'm back to the above error.
>
> Rather
>
> > than double-posting, I'm reviving this thread.
> >
> > Here is the current way I'm generating my service/proxy:
> > @BeforeClass
> > public static void setupForTesting(){
> > ServerFactoryBean svrFactory = new ServerFactoryBean();
> > svrFactory.setServiceClass(AService.class);
> > svrFactory.setAddress("cxf:vm://local/AService/1.0");
>
> svrFactory.setTransportId(LocalTransportFactory.TRANSPORT_ID);
>
> > svrFactory.setServiceBean(new AServiceImpl());
> > //svrFactory.setInInterceptors(getInInterceptors());
> > //svrFactory.setOutInterceptors(getOutInterceptors());
> > svrFactory.setServiceName(new QName("AService/1.0"));
> > svrFactory.create();
> >
> > ClientProxyFactoryBean factory = new
>
> ClientProxyFactoryBean();
>
> factory.setTransportId(LocalTransportFactory.TRANSPORT_ID);
>
> > factory.setServiceClass(AService.class);
> > factory.setAddress("cxf:vm://local/AService/1.0");
> > aServiceProxy = (AService) factory.create();
> > }
> >
> > Googling is no help, and this forum only yields one hit, but the
>
> problem
>
> > was never solved. Anyone have a working example of the vm/local
>
> transport?
--
Daniel Kulp
[email protected]
http://www.dankulp.com/blog