You create a Web service client application to consume a Web service. The Web service client application connects to the Web service and consumes it via a Web service proxy.
In this tutorial, you use a Java Web servlet as a client application.
1. In the Java EE perspective, choose the HelloWorldWEB project, and then choose File → New → Other.
2. In the list of wizards, choose Web → Servlet, and then choose Next.
3. In the Java package field, enter com.sap.tutorial.servlet.
4. In the Class name field, enter HelloServlet, and then choose Finish.
The system opens the created servlet for editing.
5. Update the source code as shown in the example below.
The @WebServiceRefannotation declares a reference to the HelloService Web service.
package com.sap.tutorial.servlet; import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.ws.WebServiceRef;
import com.sap.tutorial.helloworld.HelloRemote; import com.sap.tutorial.helloworld.HelloService; /** * Servlet implementation class for Servlet: HelloServlet * */ public class HelloServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
@WebServiceRef(name = "HelloService") HelloService service; public HelloServlet() { super(); }
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("<HEAD><TITLE>Hello World WS</TITLE></HEAD>\n"); out.println("<html>"); out.println("<body>"); out.print("<form action=\""); out.print("HelloServlet\" "); out.println("method=GET>"); String firstname = request.getParameter("firstname"); String lastname = request.getParameter("lastname"); HelloRemote emptyHelloBeanPort = service.getHelloBeanPort(); String name = firstname+" "+lastname; if (firstname != null || lastname != null) { String result = emptyHelloBeanPort.sayHello(new String(new String(name))); out.println("<h3>"+result+"</h3>"); } else { out.println("<h3>"+"No names entered. Please enter first and last name."+"</h3>"); } out.println("<P>"); out.println("Enter a first name: "); out.println("<input type=text size=20 name=firstname>"); out.println("<br>"); out.println("Enter a last name: "); out.println("<input type=text size=20 name=lastname>"); out.println("<br>" + "<br>"); out.println("<input type=submit value=Execute>"); out.println("</form>"); out.println("</body>"); out.println("</html>"); } } |
6. Save your changes.
Deploying the HelloWorld Web Service Client