Re: ClientFactoryBean AbstractMethodError

2007-11-06 Thread Todd Orr
I understand what you're saying. I do think that a simple client for
packaging the data in a restful way and handling all the http plumbing
is a nicety. It's especially useful in unit testing. I can use the
same unit tests that I ran on my business object implementation with
just a subclass and an override on the getService() method. Now, I can
do all the plumbing myself, of course.  But I do think that if CXF
came with a bundled client factory for restful services it would be
terrific.

On 11/5/07, Liu, Jervis [EMAIL PROTECTED] wrote:
 Glad to see you have your problem resolved. What I am suggesting is that do 
 not write your RESTful service client using JAX-WS style API (eg, 
 JaxWsProxyFactoryBean etc), we do not support that and have no plan to 
 support it. Instead, you may find most of time you are just fine to access 
 your RESTful services by using HttpURLConnection or Apache HttpClient or even 
 a browser.

 Cheers,
 Jervis

  -Original Message-
  From: Todd Orr [mailto:[EMAIL PROTECTED]
  Sent: 2007?11?6? 2:06
  To: cxf-user@incubator.apache.org
  Subject: Re: ClientFactoryBean AbstractMethodError
 
 
  That seems to have worked. Thanks!
 
  On 11/5/07, Willem Jiang [EMAIL PROTECTED] wrote:
   Hi ,
  
   Can you check xercesImpl-2.8.1.jar is in the class path of your test
   with JUnit?
   I can find the method
  
   org.apache.xerces.dom.DocumentImpl.getInputEncoding() in that jar.
  
   Willem.
  
   Todd Orr wrote:
hanks. That doesn't really explain, to me, why the server
  starts up
fine when deployed but fails with the error shown when
  run in a JUnit
test. The demo is able to create a service in JUnit
  without problem.
In this particular JUnit, rather than relying on Spring
  configuration,
I was attempting to create the server myself using the
  following code:
   
private Server createRestServer(SessionFactory sessionFactory) {
  MyServiceImpl service = new MyServiceImpl();
  service.setSessionFactory(sessionFactory);
   
JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
sf.setServiceClass(MyServiceInterface.class);
sf.setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
sf.setAddress(http://localhost:8080/rest/;);
sf.getServiceFactory().setInvoker(new
  BeanInvoker(service));
sf.getServiceFactory().setWrapped(true);
   
return sf.create();
}
   
This is almost exactly the same as the server code from
  the demo - the
code that works. However, in my example I receive the
  stack trace from
above on the sf.create() method.
   
On 11/4/07, Liu, Jervis [EMAIL PROTECTED] wrote:
   
I probabaly should remove JAX-WS style client codes from
  restful_http_binding demo, as it constantly causes
  confusions. In theory, JAX-WS style client APIs should work
  with RESTful services that published using CXF HTTP binding,
  as this is symmetric to what the server side has to do to
  marshal/unmarshal request/response. But in reality, this does
  not work because a). This JAX-WS style client APIs support is
  not completed yet. b). I don't think there will be much value
  added by supporting JAX-WS style client APIs. This JAX-WS
  style client APIs wont work without a WSDL, most RESTful
  services wont have a WSDL. More comments about client side
  REST API support can be found in [1].
   
[1].
  http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTfu
  l-client-application-tf4628659.html
   
Cheers,
Jervis
   
   
-Original Message-
From: Todd Orr [mailto:[EMAIL PROTECTED]
Sent: 2007?11?5? 10:41
To: cxf-user@incubator.apache.org
Subject: ClientFactoryBean AbstractMethodError
   
   
I have been trying to get a REST service up and
  running. I believe the
server is up. However, creating the client is
  problematic. Using the
following code borrowed from the bundled rest sample:
   
JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
sf.setServiceClass(MyServiceInterface.class);
   
// Turn off wrapped mode to make our xml prettier
sf.getServiceFactory().setWrapped(false);
   
// Use the HTTP Binding which understands the Java Rest
  Annotations
sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
   
_BINDING_ID);
   
sf.setAddress(http://localhost:8080/rest/;);
this.service = (MyServiceInterface) sf.create();
   
   
I receive the following exception:
   
java.lang.AbstractMethodError:
org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
   
g/String;
   
  at
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
   
orImpl.java:39)
   
  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
   
odAccessorImpl.java:25)
   
  at java.lang.reflect.Method.invoke(Method.java:597

Re: ClientFactoryBean AbstractMethodError

2007-11-05 Thread Todd Orr
hanks. That doesn't really explain, to me, why the server starts up
fine when deployed but fails with the error shown when run in a JUnit
test. The demo is able to create a service in JUnit without problem.
In this particular JUnit, rather than relying on Spring configuration,
I was attempting to create the server myself using the following code:

private Server createRestServer(SessionFactory sessionFactory) {
MyServiceImpl service = new MyServiceImpl();
service.setSessionFactory(sessionFactory);

JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
sf.setServiceClass(MyServiceInterface.class);
sf.setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
sf.setAddress(http://localhost:8080/rest/;);
sf.getServiceFactory().setInvoker(new BeanInvoker(service));
sf.getServiceFactory().setWrapped(true);

return sf.create();
}

This is almost exactly the same as the server code from the demo - the
code that works. However, in my example I receive the stack trace from
above on the sf.create() method.

On 11/4/07, Liu, Jervis [EMAIL PROTECTED] wrote:
 I probabaly should remove JAX-WS style client codes from restful_http_binding 
 demo, as it constantly causes confusions. In theory, JAX-WS style client APIs 
 should work with RESTful services that published using CXF HTTP binding, as 
 this is symmetric to what the server side has to do to marshal/unmarshal 
 request/response. But in reality, this does not work because a). This JAX-WS 
 style client APIs support is not completed yet. b). I don't think there will 
 be much value added by supporting JAX-WS style client APIs. This JAX-WS style 
 client APIs wont work without a WSDL, most RESTful services wont have a WSDL. 
 More comments about client side REST API support can be found in [1].

 [1].  
 http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTful-client-application-tf4628659.html

 Cheers,
 Jervis

  -Original Message-
  From: Todd Orr [mailto:[EMAIL PROTECTED]
  Sent: 2007?11?5? 10:41
  To: cxf-user@incubator.apache.org
  Subject: ClientFactoryBean AbstractMethodError
 
 
  I have been trying to get a REST service up and running. I believe the
  server is up. However, creating the client is problematic. Using the
  following code borrowed from the bundled rest sample:
 
  JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
  sf.setServiceClass(MyServiceInterface.class);
 
  // Turn off wrapped mode to make our xml prettier
  sf.getServiceFactory().setWrapped(false);
 
  // Use the HTTP Binding which understands the Java Rest Annotations
  sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
 _BINDING_ID);
  sf.setAddress(http://localhost:8080/rest/;);
  this.service = (MyServiceInterface) sf.create();
 
 
  I receive the following exception:
 
  java.lang.AbstractMethodError:
  org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
 g/String;
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
 orImpl.java:39)
at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
 odAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
  org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DO
  MUtil.java:594)
at
  org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchem
  aCollection.java:348)
at
  org.apache.cxf.databinding.source.AbstractDataBinding.addSchem
  aDocument(AbstractDataBinding.java:73)
at
  org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding
 .java:224)
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.bu
  ildServiceFromClass(ReflectionServiceFactoryBean.java:293)
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.in
  itializeServiceModel(ReflectionServiceFactoryBean.java:333)
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.cr
  eate(ReflectionServiceFactoryBean.java:151)
at
  org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(Ja
 xWsServiceFactoryBean.java:93)
at
  org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.creat
  eEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
at
  org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactory
 Bean.java:51)
at
  org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientPr
 oxyFactoryBean.java:89)
at com.foo.bar.RestTest.injectDependencies(RestTest.java:30)
at
  org.springframework.test.AbstractDependencyInjectionSpringCont
  extTests.prepareTestInstance(AbstractDependencyInjectionSpring
 ContextTests.java:158)
at
  org.springframework.test.AbstractSingleSpringContextTests.setU
  p(AbstractSingleSpringContextTests.java:88)
at junit.framework.TestCase.runBare(TestCase.java:125)
at
  org.springframework.test.ConditionalTestCase.runBare(Condition

Re: ClientFactoryBean AbstractMethodError

2007-11-05 Thread Willem Jiang

Hi ,

Can you check xercesImpl-2.8.1.jar is in the class path of your test 
with JUnit?

I can find the method

org.apache.xerces.dom.DocumentImpl.getInputEncoding() in that jar.

Willem.

Todd Orr wrote:

hanks. That doesn't really explain, to me, why the server starts up
fine when deployed but fails with the error shown when run in a JUnit
test. The demo is able to create a service in JUnit without problem.
In this particular JUnit, rather than relying on Spring configuration,
I was attempting to create the server myself using the following code:

private Server createRestServer(SessionFactory sessionFactory) {
MyServiceImpl service = new MyServiceImpl();
service.setSessionFactory(sessionFactory);

JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
sf.setServiceClass(MyServiceInterface.class);
sf.setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
sf.setAddress(http://localhost:8080/rest/;);
sf.getServiceFactory().setInvoker(new BeanInvoker(service));
sf.getServiceFactory().setWrapped(true);

return sf.create();
}

This is almost exactly the same as the server code from the demo - the
code that works. However, in my example I receive the stack trace from
above on the sf.create() method.

On 11/4/07, Liu, Jervis [EMAIL PROTECTED] wrote:
  

I probabaly should remove JAX-WS style client codes from restful_http_binding 
demo, as it constantly causes confusions. In theory, JAX-WS style client APIs 
should work with RESTful services that published using CXF HTTP binding, as 
this is symmetric to what the server side has to do to marshal/unmarshal 
request/response. But in reality, this does not work because a). This JAX-WS 
style client APIs support is not completed yet. b). I don't think there will be 
much value added by supporting JAX-WS style client APIs. This JAX-WS style 
client APIs wont work without a WSDL, most RESTful services wont have a WSDL. 
More comments about client side REST API support can be found in [1].

[1].  
http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTful-client-application-tf4628659.html

Cheers,
Jervis



-Original Message-
From: Todd Orr [mailto:[EMAIL PROTECTED]
Sent: 2007?11?5? 10:41
To: cxf-user@incubator.apache.org
Subject: ClientFactoryBean AbstractMethodError


I have been trying to get a REST service up and running. I believe the
server is up. However, creating the client is problematic. Using the
following code borrowed from the bundled rest sample:

JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
sf.setServiceClass(MyServiceInterface.class);

// Turn off wrapped mode to make our xml prettier
sf.getServiceFactory().setWrapped(false);

// Use the HTTP Binding which understands the Java Rest Annotations
sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
  

_BINDING_ID);


sf.setAddress(http://localhost:8080/rest/;);
this.service = (MyServiceInterface) sf.create();


I receive the following exception:

java.lang.AbstractMethodError:
org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
  

g/String;


  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
  

orImpl.java:39)


  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
  

odAccessorImpl.java:25)


  at java.lang.reflect.Method.invoke(Method.java:597)
  at
org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DO
MUtil.java:594)
  at
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchem
aCollection.java:348)
  at
org.apache.cxf.databinding.source.AbstractDataBinding.addSchem
aDocument(AbstractDataBinding.java:73)
  at
org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding
  

.java:224)


  at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.bu
ildServiceFromClass(ReflectionServiceFactoryBean.java:293)
  at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.in
itializeServiceModel(ReflectionServiceFactoryBean.java:333)
  at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.cr
eate(ReflectionServiceFactoryBean.java:151)
  at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(Ja
  

xWsServiceFactoryBean.java:93)


  at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.creat
eEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
  at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactory
  

Bean.java:51)


  at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientPr
  

oxyFactoryBean.java:89)


  at com.foo.bar.RestTest.injectDependencies(RestTest.java:30)
  at
org.springframework.test.AbstractDependencyInjectionSpringCont
extTests.prepareTestInstance(AbstractDependencyInjectionSpring
  

ContextTests.java:158

Re: ClientFactoryBean AbstractMethodError

2007-11-05 Thread Todd Orr
That seems to have worked. Thanks!

On 11/5/07, Willem Jiang [EMAIL PROTECTED] wrote:
 Hi ,

 Can you check xercesImpl-2.8.1.jar is in the class path of your test
 with JUnit?
 I can find the method

 org.apache.xerces.dom.DocumentImpl.getInputEncoding() in that jar.

 Willem.

 Todd Orr wrote:
  hanks. That doesn't really explain, to me, why the server starts up
  fine when deployed but fails with the error shown when run in a JUnit
  test. The demo is able to create a service in JUnit without problem.
  In this particular JUnit, rather than relying on Spring configuration,
  I was attempting to create the server myself using the following code:
 
  private Server createRestServer(SessionFactory sessionFactory) {
MyServiceImpl service = new MyServiceImpl();
service.setSessionFactory(sessionFactory);
 
  JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
  sf.setServiceClass(MyServiceInterface.class);
  sf.setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
  sf.setAddress(http://localhost:8080/rest/;);
  sf.getServiceFactory().setInvoker(new BeanInvoker(service));
  sf.getServiceFactory().setWrapped(true);
 
  return sf.create();
  }
 
  This is almost exactly the same as the server code from the demo - the
  code that works. However, in my example I receive the stack trace from
  above on the sf.create() method.
 
  On 11/4/07, Liu, Jervis [EMAIL PROTECTED] wrote:
 
  I probabaly should remove JAX-WS style client codes from 
  restful_http_binding demo, as it constantly causes confusions. In theory, 
  JAX-WS style client APIs should work with RESTful services that published 
  using CXF HTTP binding, as this is symmetric to what the server side has 
  to do to marshal/unmarshal request/response. But in reality, this does not 
  work because a). This JAX-WS style client APIs support is not completed 
  yet. b). I don't think there will be much value added by supporting JAX-WS 
  style client APIs. This JAX-WS style client APIs wont work without a WSDL, 
  most RESTful services wont have a WSDL. More comments about client side 
  REST API support can be found in [1].
 
  [1].  
  http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTful-client-application-tf4628659.html
 
  Cheers,
  Jervis
 
 
  -Original Message-
  From: Todd Orr [mailto:[EMAIL PROTECTED]
  Sent: 2007?11?5? 10:41
  To: cxf-user@incubator.apache.org
  Subject: ClientFactoryBean AbstractMethodError
 
 
  I have been trying to get a REST service up and running. I believe the
  server is up. However, creating the client is problematic. Using the
  following code borrowed from the bundled rest sample:
 
  JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
  sf.setServiceClass(MyServiceInterface.class);
 
  // Turn off wrapped mode to make our xml prettier
  sf.getServiceFactory().setWrapped(false);
 
  // Use the HTTP Binding which understands the Java Rest Annotations
  sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
 
  _BINDING_ID);
 
  sf.setAddress(http://localhost:8080/rest/;);
  this.service = (MyServiceInterface) sf.create();
 
 
  I receive the following exception:
 
  java.lang.AbstractMethodError:
  org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
 
  g/String;
 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
 
  orImpl.java:39)
 
at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
 
  odAccessorImpl.java:25)
 
at java.lang.reflect.Method.invoke(Method.java:597)
at
  org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DO
  MUtil.java:594)
at
  org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchem
  aCollection.java:348)
at
  org.apache.cxf.databinding.source.AbstractDataBinding.addSchem
  aDocument(AbstractDataBinding.java:73)
at
  org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding
 
  .java:224)
 
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.bu
  ildServiceFromClass(ReflectionServiceFactoryBean.java:293)
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.in
  itializeServiceModel(ReflectionServiceFactoryBean.java:333)
at
  org.apache.cxf.service.factory.ReflectionServiceFactoryBean.cr
  eate(ReflectionServiceFactoryBean.java:151)
at
  org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(Ja
 
  xWsServiceFactoryBean.java:93)
 
at
  org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.creat
  eEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
at
  org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactory
 
  Bean.java:51)
 
at
  org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientPr
 
  oxyFactoryBean.java:89)
 
at com.foo.bar.RestTest.injectDependencies(RestTest.java:30

RE: ClientFactoryBean AbstractMethodError

2007-11-05 Thread Liu, Jervis
Glad to see you have your problem resolved. What I am suggesting is that do not 
write your RESTful service client using JAX-WS style API (eg, 
JaxWsProxyFactoryBean etc), we do not support that and have no plan to support 
it. Instead, you may find most of time you are just fine to access your RESTful 
services by using HttpURLConnection or Apache HttpClient or even a browser.

Cheers,
Jervis

 -Original Message-
 From: Todd Orr [mailto:[EMAIL PROTECTED]
 Sent: 2007?11?6? 2:06
 To: cxf-user@incubator.apache.org
 Subject: Re: ClientFactoryBean AbstractMethodError
 
 
 That seems to have worked. Thanks!
 
 On 11/5/07, Willem Jiang [EMAIL PROTECTED] wrote:
  Hi ,
 
  Can you check xercesImpl-2.8.1.jar is in the class path of your test
  with JUnit?
  I can find the method
 
  org.apache.xerces.dom.DocumentImpl.getInputEncoding() in that jar.
 
  Willem.
 
  Todd Orr wrote:
   hanks. That doesn't really explain, to me, why the server 
 starts up
   fine when deployed but fails with the error shown when 
 run in a JUnit
   test. The demo is able to create a service in JUnit 
 without problem.
   In this particular JUnit, rather than relying on Spring 
 configuration,
   I was attempting to create the server myself using the 
 following code:
  
   private Server createRestServer(SessionFactory sessionFactory) {
 MyServiceImpl service = new MyServiceImpl();
 service.setSessionFactory(sessionFactory);
  
   JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
   sf.setServiceClass(MyServiceInterface.class);
   sf.setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
   sf.setAddress(http://localhost:8080/rest/;);
   sf.getServiceFactory().setInvoker(new 
 BeanInvoker(service));
   sf.getServiceFactory().setWrapped(true);
  
   return sf.create();
   }
  
   This is almost exactly the same as the server code from 
 the demo - the
   code that works. However, in my example I receive the 
 stack trace from
   above on the sf.create() method.
  
   On 11/4/07, Liu, Jervis [EMAIL PROTECTED] wrote:
  
   I probabaly should remove JAX-WS style client codes from 
 restful_http_binding demo, as it constantly causes 
 confusions. In theory, JAX-WS style client APIs should work 
 with RESTful services that published using CXF HTTP binding, 
 as this is symmetric to what the server side has to do to 
 marshal/unmarshal request/response. But in reality, this does 
 not work because a). This JAX-WS style client APIs support is 
 not completed yet. b). I don't think there will be much value 
 added by supporting JAX-WS style client APIs. This JAX-WS 
 style client APIs wont work without a WSDL, most RESTful 
 services wont have a WSDL. More comments about client side 
 REST API support can be found in [1].
  
   [1].  
 http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTfu
 l-client-application-tf4628659.html
  
   Cheers,
   Jervis
  
  
   -Original Message-
   From: Todd Orr [mailto:[EMAIL PROTECTED]
   Sent: 2007?11?5? 10:41
   To: cxf-user@incubator.apache.org
   Subject: ClientFactoryBean AbstractMethodError
  
  
   I have been trying to get a REST service up and 
 running. I believe the
   server is up. However, creating the client is 
 problematic. Using the
   following code borrowed from the bundled rest sample:
  
   JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
   sf.setServiceClass(MyServiceInterface.class);
  
   // Turn off wrapped mode to make our xml prettier
   sf.getServiceFactory().setWrapped(false);
  
   // Use the HTTP Binding which understands the Java Rest 
 Annotations
   sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
  
   _BINDING_ID);
  
   sf.setAddress(http://localhost:8080/rest/;);
   this.service = (MyServiceInterface) sf.create();
  
  
   I receive the following exception:
  
   java.lang.AbstractMethodError:
   org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
  
   g/String;
  
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
  
   orImpl.java:39)
  
 at
   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
  
   odAccessorImpl.java:25)
  
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
   org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DO
   MUtil.java:594)
 at
   org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchem
   aCollection.java:348)
 at
   org.apache.cxf.databinding.source.AbstractDataBinding.addSchem
   aDocument(AbstractDataBinding.java:73)
 at
   org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding
  
   .java:224)
  
 at
   org.apache.cxf.service.factory.ReflectionServiceFactoryBean.bu
   ildServiceFromClass(ReflectionServiceFactoryBean.java:293)
 at
   org.apache.cxf.service.factory.ReflectionServiceFactoryBean.in

ClientFactoryBean AbstractMethodError

2007-11-04 Thread Todd Orr
I have been trying to get a REST service up and running. I believe the
server is up. However, creating the client is problematic. Using the
following code borrowed from the bundled rest sample:

JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
sf.setServiceClass(MyServiceInterface.class);

// Turn off wrapped mode to make our xml prettier
sf.getServiceFactory().setWrapped(false);

// Use the HTTP Binding which understands the Java Rest Annotations
sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
sf.setAddress(http://localhost:8080/rest/;);
this.service = (MyServiceInterface) sf.create();


I receive the following exception:

java.lang.AbstractMethodError:
org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lang/String;
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DOMUtil.java:594)
at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:348)
at 
org.apache.cxf.databinding.source.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:73)
at 
org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:224)
at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:293)
at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:333)
at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:151)
at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:93)
at 
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
at 
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
at 
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
at com.foo.bar.RestTest.injectDependencies(RestTest.java:30)
at 
org.springframework.test.AbstractDependencyInjectionSpringContextTests.prepareTestInstance(AbstractDependencyInjectionSpringContextTests.java:158)
at 
org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:88)
at junit.framework.TestCase.runBare(TestCase.java:125)
at 
org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


I read a post regarding a similar error due to the XmlSchema version.
However, after checking, I do have the 1.3.2 version specified in that
post (http://www.nabble.com/wsdl2java-problem-tf4651922.html#a13290874).

Anyone have any other ideas?

Thanks.


RE: ClientFactoryBean AbstractMethodError

2007-11-04 Thread Liu, Jervis
I probabaly should remove JAX-WS style client codes from restful_http_binding 
demo, as it constantly causes confusions. In theory, JAX-WS style client APIs 
should work with RESTful services that published using CXF HTTP binding, as 
this is symmetric to what the server side has to do to marshal/unmarshal 
request/response. But in reality, this does not work because a). This JAX-WS 
style client APIs support is not completed yet. b). I don't think there will be 
much value added by supporting JAX-WS style client APIs. This JAX-WS style 
client APIs wont work without a WSDL, most RESTful services wont have a WSDL. 
More comments about client side REST API support can be found in [1].

[1].  
http://www.nabble.com/Using-verbs-other-than-GET-from-a-RESTful-client-application-tf4628659.html

Cheers,
Jervis

 -Original Message-
 From: Todd Orr [mailto:[EMAIL PROTECTED]
 Sent: 2007?11?5? 10:41
 To: cxf-user@incubator.apache.org
 Subject: ClientFactoryBean AbstractMethodError
 
 
 I have been trying to get a REST service up and running. I believe the
 server is up. However, creating the client is problematic. Using the
 following code borrowed from the bundled rest sample:
 
 JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
 sf.setServiceClass(MyServiceInterface.class);
 
 // Turn off wrapped mode to make our xml prettier
 sf.getServiceFactory().setWrapped(false);
 
 // Use the HTTP Binding which understands the Java Rest Annotations
 sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP
_BINDING_ID);
 sf.setAddress(http://localhost:8080/rest/;);
 this.service = (MyServiceInterface) sf.create();
 
 
 I receive the following exception:
 
 java.lang.AbstractMethodError:
 org.apache.xerces.dom.DocumentImpl.getInputEncoding()Ljava/lan
g/String;
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
orImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
odAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.ws.commons.schema.utils.DOMUtil.getInputEncoding(DO
 MUtil.java:594)
   at 
 org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchem
 aCollection.java:348)
   at 
 org.apache.cxf.databinding.source.AbstractDataBinding.addSchem
 aDocument(AbstractDataBinding.java:73)
   at 
 org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding
.java:224)
   at 
 org.apache.cxf.service.factory.ReflectionServiceFactoryBean.bu
 ildServiceFromClass(ReflectionServiceFactoryBean.java:293)
   at 
 org.apache.cxf.service.factory.ReflectionServiceFactoryBean.in
 itializeServiceModel(ReflectionServiceFactoryBean.java:333)
   at 
 org.apache.cxf.service.factory.ReflectionServiceFactoryBean.cr
 eate(ReflectionServiceFactoryBean.java:151)
   at 
 org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(Ja
xWsServiceFactoryBean.java:93)
   at 
 org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.creat
 eEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
   at 
 org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactory
Bean.java:51)
   at 
 org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientPr
oxyFactoryBean.java:89)
   at com.foo.bar.RestTest.injectDependencies(RestTest.java:30)
   at 
 org.springframework.test.AbstractDependencyInjectionSpringCont
 extTests.prepareTestInstance(AbstractDependencyInjectionSpring
ContextTests.java:158)
   at 
 org.springframework.test.AbstractSingleSpringContextTests.setU
 p(AbstractSingleSpringContextTests.java:88)
   at junit.framework.TestCase.runBare(TestCase.java:125)
   at 
 org.springframework.test.ConditionalTestCase.runBare(Condition
alTestCase.java:69)
   at junit.framework.TestResult$1.protect(TestResult.java:106)
   at junit.framework.TestResult.runProtected(TestResult.java:124)
   at junit.framework.TestResult.run(TestResult.java:109)
   at junit.framework.TestCase.run(TestCase.java:118)
   at junit.framework.TestSuite.runTest(TestSuite.java:208)
   at junit.framework.TestSuite.run(TestSuite.java:203)
   at 
 org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReferen
 ce.run(JUnit3TestReference.java:130)
   at 
 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestEx
ecution.java:38)
   at 
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
 s(RemoteTestRunner.java:460)
   at 
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
 s(RemoteTestRunner.java:673)
   at 
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(Rem
oteTestRunner.java:386)
   at 
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(Re
moteTestRunner.java:196)
 
 
 I read a post regarding a similar error due to the XmlSchema version.
 However, after checking, I do have the 1.3.2 version specified in that
 post 
 (http://www.nabble.com