Monday, 6 April 2015

How to create a client jar from WSDL ?

There are many ways you can create the client.jar for your WSDL file . Using the below process you can create the client jar. But its not recommended to use for live project. For live project you need to create a project with maven structure and I will post that later. This can be used for testing purpose.

Open your linux/unix terminal and follow the steps below.


Step 1- Get the published WSDL.Use wsimport command to get the WSDL file. 

dev@optus-developer-desktop ~/temp/test $ wsimport -keep http://localhost:9001/myapps/TestApp?wsdl

dev@optus-developer-desktop ~/temp/test $ ls -ltr
total 16
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr  5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 types


Step 2- Create Jar file using jar command as below.


dev@javadevelopersguide-developer-desktop ~/temp/test $ jar -cvf client.jar .

.....
.....
.....
.....adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/ObjectFactory.class(in = 1568) (out= 627)(deflated 60%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/PhysicalResourceSpec.class(in = 1205) (out= 500)(deflated 58%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/package-info.class(in = 426) (out= 294)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.class(in = 1705) (out= 717)(deflated 57%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.java(in = 289) (out= 199)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.java(in = 5228) (out= 855)(deflated 83%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.java(in = 2190) (out= 705)(deflated 67%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.class(in = 1711) (out= 639)(deflated 62%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.class(in = 444) (out= 303)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.java(in = 8623) (out= 1656)(deflated 80%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.java(in = 279) (out= 193)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.class(in = 2805) (out= 1068)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.java(in = 2095) (out= 695)(deflated 66%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.class(in = 1636) (out= 630)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.class(in = 434) (out= 297)(deflated 31%)
...........
...........
...........
...........


dev@javadevelopersguide-developer-desktop ~/temp/test $ ls -ltr
total 1356
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr 5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 types
-rw-r--r-- 1 dev dev 1369704 Apr 5 10:56 client.jar


Now the client.jar is got generated, you can use this jar file and call the real published service.




Hope it will help you.