By: Emiley J in WebServices Tutorials on 2013年08月15日 [フレーム]
Although this is quite a common requirement, it could be quite a daunting task for a beginner learning web service. I have seen so many questions in various forums regarding this. For example, one popular question is how to return a HashMap from a web service. In this tutorial, I will keep it very simple. I will just return two values from the webservice instead of one.
The trick is to use javax.xml.ws.Holder and define @WebParam as an output parameter in your definition. An example is below.
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.xml.ws.Holder;
/**
*
* @author Emiley
*/
@WebService(serviceName = "TestMultiple")
public class TestMultiple {
@WebMethod(operationName = "Calculate")
public void Calculate(@WebParam(name = "sum", mode = WebParam.Mode.OUT) Holder sum,
@WebParam(name = "multiply", mode = WebParam.Mode.OUT) Holder multiply) {
sum.value = 4+5;
multiply.value = 4*5;
}
}
When you call this web service, you will get the following output.
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:operationResponse xmlns:ns2="http://java-samples.com/"> <sum>9</sum> <multiply>20</multiply> </ns2:operationResponse> </S:Body> </S:Envelope>
Of course, you can make your web service more useful by adding two parameters to get the values and add them as below
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.xml.ws.Holder;
/**
*
* @author Emiley
*/
@WebService(serviceName = "TestMultiple")
public class TestMultiple {
@WebMethod(operationName = "Calculate")
public void Calculate(int x, int y, @WebParam(name = "sum", mode = WebParam.Mode.OUT) Holder sum,
@WebParam(name = "multiply", mode = WebParam.Mode.OUT) Holder multiply) {
sum.value = x+y;
multiply.value = x*y;
}
}
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
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:
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.
Most Viewed Articles (in WebServices )
Java WebService connected to Database
Java Webservices using Netbeans and Tomcat
Java WebService - Create your first web service in Java
package javax.jws does not exist
Returning multiple values from a web service
How to Deploy a Java Web Service
Preventing your PDF files to be displayed inside other website IFrames
Prevent other websites from displaying content from your website in an iframe
Content-Security-Policy: object-src, script-src, base-uri and report-uri
Latest Articles (in WebServices)
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
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
© 2023 Java-samples.com
Tutorial Archive: Data Science React Native Android AJAX ASP.net C C++ C# Cocoa Cloud Computing EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Trends WebServices XML Office 365 Hibernate
Latest Tutorials on: Data Science React Native Android AJAX ASP.net C Cocoa C++ C# EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Cloud Computing WebServices XML Office 365 Hibernate