Call a webservice in Java
By: Emiley J in WebServices Tutorials on 2013-07-09
If you have already created your first Java Web Service, and you are wondering how to consume this web service then this tutorial will show you just that. In fact one of the main advantages of Web Services is its Platform indepence. Which means your web service can be written in any language whereas you can call this web service and consume it from any other programming language.
First, you need to create a simple web service using Java. Once you have that web service, in this case, it is a simple web service that returns the system time, you can then write a simple program to consume this service.
If you had completed the tutorial to create a webservice, you will already have a folder named javasamples and another sub folder named one. Under this folder 'one' create another java program named TimeClient.java as follows:
execute this command in the command prompt ( notepad TimeClient.java )
Now copy and paste the below code in that file
package javasamples.one; import javax.xml.namespace.QName; import javax.xml.ws.Service; import java.net.URL; class TimeClient { public static void main(String args[ ]) throws Exception { URL url = new URL("http://localhost:9876/one?wsdl"); // Qualified name of the service: // 1st arg is the service URI // 2nd is the service name published in the WSDL QName qname = new QName("http://one.javasamples/", "TimeServerImplService"); // Create, in effect, a factory for the service. Service service = Service.create(url, qname); // Extract the endpoint interface, the service "port". TimeServer eif = service.getPort(TimeServer.class); System.out.println(eif.getTimeAsString()); System.out.println(eif.getTimeAsElapsed()); } }
Now go to the parent folder of javasamples folder and execute the below command:
javac javasamples/one/*.java
Now you run the web service publisher application with this command.
java javasamples.one.TimeServerPublisher
Next open another command prompt and move to the parent folder of javasamples folder and execute the below command:
java javasamples.one.TimeClient
That's it, you should see the system time in the second window, returned from your web service.
Wasn't it easy? Now to demonstrate that web services can be consumed from any programming language irrespective of which language was used to create the web service, we will write a perl file to consume the same TimeServer web service which was written in Java.
Here is the perl code below. Copy and paste it to your perl file in your localhost web server. Then call it from your browser. You should get the same result.
#!/usr/bin/perl -w use SOAP::Lite; my $url = 'http://127.0.0.1:9876/ts?wsdl'; my $service = SOAP::Lite->service($url); print "\nCurrent time is: ", $service->getTimeAsString(); print "\nElapsed milliseconds from the epoch: ", $service->getTimeAsElapsed();
Add Comment
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
- Your name, rating, website address, town, country, state and comment will be publicly displayed if entered.
- Aside from the data entered into these form fields, other stored data about your comment will include:
- Your IP address (not displayed)
- The time/date of your submission (displayed)
- Your email address will not be shared. It is collected for only two reasons:
- Administrative purposes, should a need to contact you arise.
- To inform you of new comments, should you subscribe to receive notifications.
- A cookie may be set on your computer. This is used to remember your inputs. It will expire by itself.
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
- Although the administrator will attempt to moderate comments, it is impossible for every comment to have been moderated at any given time.
- You acknowledge that all comments express the views and opinions of the original author and not those of the administrator.
- You agree not to post any material which is knowingly false, obscene, hateful, threatening, harassing or invasive of a person's privacy.
- The administrator has the right to edit, move or remove any comment for any reason and without notice.
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
- Data Science
- Android
- React Native
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Content-Security-Policy: object-src, script-src, base-uri and report-uri
Preventing your PDF files to be displayed inside other website IFrames
Prevent other websites from displaying content from your website in an iframe
Returning multiple values from a web service
Java Webservices using Netbeans and Tomcat
How to Deploy a Java Web Service
Java WebService connected to Database
package javax.jws does not exist
Comments