
You create a Web service client application to consume a Web service. The Web service client application connects to the Web service via a Web service proxy.
In this tutorial, you use a Java Web servlet as a client application.
In the Java EE perspective, choose the converterwebclient project, and then choose .
In the list of wizards, choose , and then choose Next .
In the Java package field, enter com.sap.tutorial.servlet .
In the Class name field, enter ConverterServlet , and then choose Finish .
Update the source code as shown in the example below.
The @WebServiceRef annotation declares a reference to the ConverterService Web service.
package com.sap.tutorial.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import javax.xml.ws.WebServiceRef;
import com.sap.tutorial.javaee.service.ConverterLocal;
import com.sap.tutorial.javaee.service.ConverterService;
/**
* Servlet implementation class for Servlet: ConverterServlet
*
*/
public class ConverterServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
@WebServiceRef(name = "ConverterService")
ConverterService service;
public ConverterServlet() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Converter Web Service</title></head>\n");
out.println("<body>");
out.print("<form action=\"");
out.print("ConverterServlet\" ");
out.println("method=GET>");
String euro =request.getParameter("euro");
String usd = request.getParameter("usd");
try {
if (euro != null && usd != null) {
ConverterLocal emptyWebServiceBean = service.getPort(new QName("http://sap.com/tutorial/javaee//service", "{http://sap.com/tutorial/javaee/}ConverterLocal_ConverterServiceGroup_BASIC"),com.sap.tutorial.javaee.service.ConverterLocal.class);
BigDecimal EURresult = emptyWebServiceBean.euroToDollar(new BigDecimal(new Integer(usd)));
BigDecimal USDresult = emptyWebServiceBean.dollarToEuro(new BigDecimal(new Integer(euro)));
out.println("<h3>"+"EUR="+euro+": Converted amount in USD is: "+USDresult+"</h3>");
out.println("<h3>"+"USD="+usd+": Converted amount in Euro is: "+EURresult+"</h3>");
}
else {
out.println("<h3>"+"No values entered. Please enter amount in Euro or USD."+"</h3>");
}
out.println("<P>");
out.println("Enter amount in Euro: ");
out.println("<input type=text size=20 name=euro>");
out.println("<br>");
out.println("Enter amount in USD: ");
out.println("<input type=text size=20 name=usd>");
out.println("<br>" + "<br>");
out.println("<input type=submit value=Convert>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} catch (Exception e) {
out.println(e.getMessage());
}
}
}
Save your changes.