8.4. Creating a Client to Consume a Message Optimization-enabled Web Service

Now that you have built and tested a web service that uses the WSIT Message Optimization technology, you can create a client that accesses and consumes that web service. The client will use the web service’s WSDL to create the functionality necessary to satisfy the interoperability requirements of the web service.

To Create a Client to Consume a WSIT-enabled Web Service

To create a client to access and consume the web service, perform the following steps.

  1. Choose File→New Project, select Java Web from the Web category and click Next.
  2. Name the project, for example, CalculatorWSServletClient, and click Finish.
  3. Right-click the CalculatorWSServletClient node and select New→Web Service Client.

    The New Web Service Client window displays.

    NetBeans submenus are dynamic, so the Web Service Client option may not appear. If you do not see the Web Service Client option, select New→File\Folder→Webservices→Web Service Client.

  4. Select the WSDL URL option.
  5. Cut and paste the URL of the web service that you want the client to consume into the WSDL URL field.

    For example, here is the URL for the CalculatorWS web service:

    http://localhost:8080/CalculatorApplication/CalculatorWSService?wsdl

    When JAX-WS generates the web service, it appends Service to the class name by default.

  6. Type org.me.calculator.client in the Package field, and click Finish.
  7. Right-click the CalculatorWSServletClient project node and choose New→Servlet.
  8. Name the servlet ClientServlet, specify the package name, for example, org.me.calculator.client and click Finish.
  9. To make the servlet the entry point to your application, right-click the CalculatorWSServletClient project node, choose Properties, click Run, type /ClientServlet in the Relative URL field, and click OK.
  10. If ClientServlet.java is not already open in the Source Editor, open it.
  11. In the Source Editor, remove the line that comments out the body of the processRequest method.

    This is the start-comment line that starts the section that comments out the code:

    /* TODO output your page here
  12. Delete the end-comment line that ends the section of commented out code:
    */
  13. Add some empty lines after the following line:
    out.println("<h1>Servlet ClientServlet at " +
            request.getContextPath () + "</h1>");
  14. Right-click in one of the empty lines that you added, then choose Web Service Client Resources→Call Web Service Operation.

    The Select Operation to Invoke dialog box appears.

  15. Browse to the Add operation and click OK.

    The processRequest method is as follows, with bold indicating code added by the IDE:

    protected void processRequest(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet ClientServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet ClientServlet at " + request.getContextPath () + "</h1>");
        try { // Call Web Service Operation
            org.me.calculator.client.CalculatorWS port =
                service.getCalculatorWSPort();
            // TODO initialize WS operation arguments here
            int i = 0;
            int j = 0;
            // TODO process result here
            int result = port.add(i,  j);
            out.println("Result = " + result);
        } catch (Exception ex) {
            // TODO handle custom exceptions here
        }
        out.println("</body>");
        out.println("</html>");
        out.close();
    }
  16. Change the values for int i and int j to other numbers, such as 3 and 4.
  17. Add a line that prints out an exception, if an exception is thrown.

    The try/catch block is as follows (new and changed lines from this step and the previous step are highlighted in bold text):

        try { // Call Web Service Operation
            org.me.calculator.client.CalculatorWS port = service.getCalculatorWSPort();
            // TODO initialize WS operation arguments here
            int i = 3;
            int j = 4;
            // TODO process result here
            int result = port.add(i, j);
            out.println("<p>Result: " + result);
        } catch (Exception ex) {
            out.println("<p>Exception: " + ex);
        }
  18. Save ClientServlet.java.
  19. Right-click the project node and choose Run.

    The server starts (if it was not running already), the application is built, deployed, and run. The browser opens and displays the calculation result.


Terms of Use; Privacy Policy; Copyright ©2013-2014 (revision 20131025.e7cbc9d)
 
 
Close
loading
Please Confirm
Close