Alternative to web services in Java
I have this external module of my system and I thought to integrate it with web services. So I wrote the server using annotations (so far so good) and then I used Eclipse (new Web Service Client wizard) to generate the boilerplate code for the client. The result is an ugly bunch of code far from configurable, painful to test and to change. I'm looking for a straightforward API, I don't need attachments, sophysticated data types, complex asynchronous behaviour. So:
- are there any other tools to do a better job?
- are there different tecniques to write webservices clients (such as annotations)?
- shall I use a different way altogether to integrate my external components (such as REST)? Any sugge开发者_运维知识库stions on where to start, be this the case?
Looking forward to your advices.
I agree with Patrick, Spring 3 has a RESTServiceTemplate and a WebServiceTemplate that makes it very easy to code and configure interacting with remote web services - it'll even make un/marshalling xml into beans easy. At my company we've had great success with both of them.
To get you started:
http://static.springsource.org/spring-ws/sites/1.5/reference/html/client.html
http://blog.springsource.com/2009/03/27/rest-in-spring-3-resttemplate/
HTH
- Axis
- XFire/CXF
Both downloads have sample ant build files to generate client jar files.
I'd suggest to have a look at REST. There are plenty of frameworks out there with rest support. For example spring3 has pretty neat support for REST that is not very intrusive. You can get very quick results when you are using spring anyway.
I have used Apache CXF before and found it very good and easy to use.
http://cxf.apache.org/
Have you looked into Apache Axis?
Here is a tutorial on making a web service with it. It might help you.
Creating Bottom Up Web Service via Apache Axis2
Hessian or the xml version Burlap from Caucho could be used or Spring's HttpInvoker
If you're using (o planning to use) seam, there is a simple HTTP REST implementation:
RESTful HTTP webservices with RESTEasy
I can recommend JAX-RS (Java API for RESTful Web Services, JSR-311) and the Jersey implementation. You'll get a neat RESTful web service up and running in no time.
Check out the Jersey getting started guide.
精彩评论