WSDL / Web Service and need to generate interfaces - web-services

I have an WSDL / Web Service and I need to generate an set of Interfaces for them, is there any easy way of generating Interfaces for the WSDL?

As you're a C# developer I'm assuming you mean C# interfaces for the client? You can do this using svcutil for WCF or WSDL.exe for legacy Web services.

Yes. Download SoapUI for free. SoapUI can generate code, interfaces, or stubs for a variety of platforms, including .NET and numerous Java formats.

Apache CXF has tools that will generate interfaces for several languages

Related

Why Apache CXF?

I am a new to Java EE Services. In my project they will be using JAX-WS with Apache CXF. I want to know what is Apache CXF? I can use plain JAX-WS to create Web Services. Why should I use Apache CXF?
Apache CXF is just one of the implementations of JAX-WS API. There are other implementations, such as JAX-WS RI (reference implementation) that is included in Java and part of Metro framework (which includes some other things also, like WSIT).
Your question is - what are the reasons to choose Apache CXF? There are plenty of them, for example:
support for RESTful services (becoming more and more popular)
easy integration with Spring (if that matters to you)
WS-* support (i.e., support for many important WS-specifications like WS-Security)
maturity (thanks #sourcedelica)
References:
Why CXF?

Axis2 vs JAX-WS

I have to implement SOAP based web services for a project. We are considering different options like axis2, ejb as a web service, jax-ws but not really sure about the advantages/drawbacks of these options. Can someone please help in this regard.
It would be great if someone can point to any other alternatives for implementing SOAP based webservices.
Thanks in advance,
-Csn
For me, the easiest way to expose a web service is creating an EJB with annotations (JAX-WS) if you are using a Java EE server like JBoss.
Consuming a WS is a bit different but I prefer JAX-WS too, because Axis2 throw exceptions if you use complex parameters (classes) and you add an attribute. JAX-WS instead calls every 'get' and 'set' for the serialized xml. If no 'set' is implemented, no problem.
That's an advantage for backward compatibility.
I would highly recommend to use Apache CXF for developing SOAP web services. This stack is based on JAX-WS but has much more features. CXF has an excellent integration with Spring. There are a lot of documentation on the internet how to create web services using this framework. If I would be working on completely new web service I would definitely choose Apache CXF.

Combining JAX-WS and JAX-RS

I need to create a web service project that creates some web services and exposes the end points using SOAP and REST. I've done a lot of JAX-RS work but I'm a little light on an JAX-WS implementations. Is there an open sourced technology that implements both?
I would suggest Apache CXF. It is an open source services framework which will allow you to do exactly what you need.

Why should we use WSDL4j for developing webservices?

I need to develop Webservice Application for our Client .
I dont know anything about WSDL4J
From the net I found this
"The Web Services Description Language for Java Toolkit (WSDL4J) allows the creation, representation, and manipulation of WSDL documents.
Is the reference implementation for JSR110 'JWSDL' (jcp.org)."
But anybody please tell me why should we use WSDL for developing webservices?
Is there any specific advantage we will get?
And can anybody please point me a link where to start for working with WSDL4j?
You actually need not to use wsdl4j for developing web services or clients for web services. There are other SOAP stacks developed on top of that. Axis2 is such an open source SOAP stack..
WSDL2Java tool that comes with Axis2 - which been used to generate client side stubs from a given WSDL. uses wsdl4j internally..

What's the best way to create a client library for a web service API?

We have web service running for one of our projects. We want to be able to access this web service similar to how you'd access an API (such as Google Data, etc.) where you have client libraries in several languages: .NET, Java, Python, etc.
You'd be able to download these libraries (usually .DLL) from our project's website and then integrate these into your custom application.
The reason we want to have these client libraries is so that we can encrypt certain data transfers between the client and the web service and so that you wouldn't have to login a million times when you want to make a request (like you have to do when using raw SOAP requests).
So, my question is... What's the best way to do this? What would the client libraries contain, other than some encryption and a bunch of methods? What's the best way to create these libraries? Obviously some different platforms are needed to accomplish this (some flavor of Linux, maybe Mac OS), should virtual environments be used?
What are your thoughts? Thanks in advance for your help!
You would first express an API via the web service. What you are then interested in doing is creating a client "wrapper" for your web service API. This is what the client would download and use in their application (similar to Facebook.NET). This would be an assembly project and house a bunch of classes and so on. These classes would maintain the state of the program utilizing the API and would take care of all the low level plumbing work interacting with the web services by exposing a verbose object model that is easy enough for the user of your wrapper to get around in.
You could do this for any language that could interact with your web services. Java, Python, etc. I suggest using WCF though as you can use TCP for the .NET library and standard web services for the other languages. This will help you to be more performance oriented where possible.