26

I am working towards an android application. I need to use a web service. I have a wsdl file but I want to convert that into java so that I can use its functions in my Java programs. Is there any way of converting a wsdl file into Java?

1
  • supose that u have jdk 1.6 or higher go in cmd in the location you want to output the generated classes and in that location write: wsimport -keep -verbose http ://myWsdlURL?wsdl Commented Mar 6, 2015 at 14:34

7 Answers 7

27

Yes you can use:

Wsdl2java eclipse plugin

With this all you will need is to supply the wsdl, and the client which is the Java classes will be automatically generated for you.

Sign up to request clarification or add additional context in comments.

2 Comments

Will these java classes be supported in Android??
@Farhan Yes that will not make any difference.
12

Just to generate the java classes from wsdl to me the best tool is "cxf wsdl2java". Its pretty simple and easy to use. I have found some complexities with some data type in axis2. But unfortunately you can't use those client stub code in your android application because android environment doesn't allow the "java/javax" package name in compiling time unless you rename the package name.

And in the android.jar all the javax.* sources for web service consuming are not available. To resolve these I have developed this WS Client Generation Tool for android.

In background it uses "cxf wsdl2java" to generate the java client stub for android platform for you, And I have written some sources to consume the web service in a smarter way.

Just give the wsdl file location it will give you the sources and some library. you have to just put the sources and the libraries in your project. and you can just call it in some "method call fashion" just we do in our enterprise project, you don't need to know the namespace/soap action etc. For example, you have a service to login, what you need to do is :

LoginService service = new LoginService ( );
Login login = service.getLoginPort ( );
LoginServiceResponse resp = login.login ( "someUser", "somePass" );

And its fully open and free.

1 Comment

Can you tell me, in which jar file, I can see method support by this service, please. Thanks :)
8

jdk 6 comes with wsimport that u can use to create Java-classes from a WSDL. It also creates a Service-class.

http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

Comments

6

Assuming that you have JAXB installed Go to the following directory C:\Program Files\jaxb\bin open command window here

> xjc -wsdl http://localhost/mywsdl/MyDWsdl.wsdl C:\Users\myname\Desktop

C:\Users\myname\Desktop is the ouput folder you can change that to your preference

http://localhost/mywsdl/MyDWsdl.wsdl is the link to the WSDL

Comments

5

i founded a great toool to auto parse and connect to web services

http://www.wsdl2code.com

http://www.wsdl2code.com/pages/Example.aspx

 SampleService srv1 = new SampleService();
     req = new Request();                     
     req.companyId = "1";
     req.userName = "userName";                                     
     req.password = "pas";
     Response response =    srv1.ServiceSample(req);

Comments

5

You can use the eclipse plugin as suggested by Oscar earlier. Or if you are a command line person, you can use Apache Axis WSDL2Java tool from command prompt. You can find more details here http://axis.apache.org/axis/java/reference.html#WSDL2JavaReference

Comments

2

You can use the WSDL2JAVA Codegen (or) You can simply use the 'Web Service/WebServiceClient' Wizard available in the Eclipse IDE. Open the IDE and press 'Ctrl+N', selectfor 'Web Service/WebServiceClient', specify the wsdl URL, ouput folder and select finish.

It creates the complete source files that you would need.

8 Comments

Sir, I couldn't find webserviceclient in the eclipse.. can you please elaborate a bit more on that.. thnx
Sir, I can't see any web service or webserviceclient when I press Ctrl+N. am I missing some plugins??
What you need is 'org.eclipse.jst.ws'. Download links>> eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/… I have worked with Eclipse 3.3 to 3.6, and Web Services is available in 3.3, but not 3.6.
Using Eclipse's Web Service Client wizard is what I have done, thanks to this nice guide. Unexplained errors of access to the WDSL. But the Java classes are generated ! Now, how to use them ? I want to call Java methods that connect to the Web Service and perform WS operations.
@Nicolas: Check this ---> stackoverflow.com/questions/8654517/…
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.