1] Create WSServiceHello Endpoint Interface:
WSServiceHello.java
1 2 3 4 5 6 7 8 9 10 | package com.dineshonjava.ws; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface WSServiceHello { @WebMethod String sayHello(String name); } |
2] Create WSServiceHello Endpoint Implementation class:
WSServiceHelloImpl.java
1 2 3 4 5 6 7 8 9 10 11 | package com.dineshonjava.ws; import javax.jws.WebService; @WebService(endpointInterface = "com.dineshonjava.ws.WSServiceHello") public class WSServiceHelloImpl implements WSServiceHello { @Override public String sayHello(String name) { return "Hello, Welcome to JAX-WS World and keep learning!! " + name; } } |
3] Create Endpoint Publisher class:
WSHelloPublisher.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package com.dineshonjava.publisher; import javax.xml.ws.Endpoint; import com.dineshonjava.ws.WSServiceHelloImpl; public class WSHelloPublisher { // you can use any port no. 9090 or 9191 etc public static void main(String[] args) { Endpoint.publish("http://localhost:9090/WS/WSServiceHello", new WSServiceHelloImpl()); } } /* 1]access wsdl file by typing the following in url http://localhost:9090/WS/WSServiceHello?wsdl 2]References: http://www.dineshonjava.com/2013/06/jax-ws-hello-world-example.html and http://java.dzone.com/articles/jax-ws-hello-world (Both are same program) 3]Search for 'service name' and 'portType name' in wsdl file (1)While creating client, create object of 'service name' ie. <service name="WSServiceHelloImplService"> (2)Also create object of 'port name' ie. <portType name="WSServiceHello"> */ |
4] Run WSHelloPublisher.java program.Your web service is published.
You can check your wsdl at
http://localhost:9090/WS/WSServiceHello?wsdl
Developing WebService Client
1] we need to generate the client stubs.
- Create a new project in eclipse.
- Open your command line, and enter the wsimport command in cmd:
CD <path of new project>\src
wsimport -keep http://localhost:9090/WS/WSServiceHello?wsdl
Click the image to zoom |
Note: You may face the following error
wsimport is not recognized as an internal command
Soln: Follow these steps
Update your PATH variable
1)Go to My computer >> right click and select properties.
2)On the properties tab select Advanced system settings
3)Click enviroment variables
4)select path and click edit option
add
";C:\Program Files\Java\jdk1.7.0_60\bin"
at the end.
5)close the cmd and try again.
Done.
2] Lets create client class now.
create WSHelloClient.java under src->com.dineshonjava.client
WSHelloClient.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.dineshonjava.client; import com.dineshonjava.ws.WSServiceHello; import com.dineshonjava.ws.WSServiceHelloImplService; public class WSHelloClient { public static void main(String[] args) { WSServiceHelloImplService service = new WSServiceHelloImplService(); WSServiceHello serviceHello = service.getWSServiceHelloImplPort(); System.out.println("***************Call Started*******************"); System.out.println(serviceHello.sayHello("Rahul ")); System.out.println("***************Call Ended*********************"); } } |
Output:
3] Run above program and you will get the output in console.
***************Call Started*******************
Hello, Welcome to JAX-WS World and keep learning!! Rahul
***************Call Ended*********************
Now Webservice is started and is ready to be tested.
Test in SOAP UI
1) Open soap ui.
2) Right click project and click new SOAP project.
Click the image to zoom |
No comments:
Post a Comment