JAX-WS Web 服务开发调用和数据传输分析

一. 开发服务


新建maven的web项目就可以了,

1.新建一个web服务

JAX-WS Web 服务开发调用和数据传输分析_第1张图片

2.服务名称定义

JAX-WS Web 服务开发调用和数据传输分析_第2张图片


3.更改配置

JAX-WS Web 服务开发调用和数据传输分析_第3张图片


4.默认建好的服务文件

JAX-WS Web 服务开发调用和数据传输分析_第4张图片


5.增加一个add的服务

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author Administrator
 */
@WebService(serviceName = "CalculatorWS")
public class CalculatorWS {

    /**
     * This is a sample web service operation
     */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        return "Hello " + txt + " !";
    }
    
    @WebMethod(operationName = "add")
    public int add(@WebParam(name = "name") int i,int j) {
        return i+j;
    }
}


6.启动配置

如果您使用的是 Tomcat Web 服务器,则没有测试客户端。您只能运行项目并查看 Tomcat Web 服务页是否打开。
此时,在运行项目之前,您需要将 Web 服务作为您的应用程序的入口点。要使 Web 服务成为应用程序的入口点,请右键单击 "CalculatorWSApplication" 项目节点,然后选择 "Properties"(属性)。
打开 "Run"(运行)属性,然后在 "Relative URL"(相对 URL)字段中键入 /CalculatorWS。单击 "OK"(确定)。
要运行项目,请再次右键单击项目节点,然后选择 "Run"(运行)。

JAX-WS Web 服务开发调用和数据传输分析_第5张图片


7.服务的接口信息



wsdl信息

JAX-WS Web 服务开发调用和数据传输分析_第6张图片


二.调用服务


新建一个maven的web项目

1.新建web服务客户端

JAX-WS Web 服务开发调用和数据传输分析_第7张图片


2.选择WSDL

选择 "Project"(项目)作为 WSDL 源,然后单击 "Browse"(浏览)以打开 "Browse Web Services"(浏览 Web 服务)对话框。
在 "CalculatorWSApplication" 项目中选择 "CalculatorWS" Web 服务。单击 "OK"(确定)关闭 "Browse Web Services"(浏览 Web 服务)对话框。

JAX-WS Web 服务开发调用和数据传输分析_第8张图片


在新建 Web 服务客户端向导中确认包名为空,并保留其他设置的默认值。
注意:请勿选择包名。将此字段保留为空。
单击 "Finish"(完成)。


JAX-WS Web 服务开发调用和数据传输分析_第9张图片


3.调用服务

新建第一个Rpc.java的类文件

在源代码编辑器中将 add 节点拖至对应的方法里,需要适当修改。
也可以在编辑器中单击鼠标右键,然后选择 "Insert Code"(插入代码)> "Call Web Service Operation"(调用 Web 服务操作),而无需拖动 add 节点。

JAX-WS Web 服务开发调用和数据传输分析_第10张图片


注意:不可以拖到selvlet里,需要写在java的普通class里


4.在ClientServlet中调用Rpc.java的add方法。

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            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>");
            Rpc r=new Rpc();
            out.println(r.add(1, 2));
            out.println("</body>");
            out.println("</html>");
        }
    }


5.从浏览器输出数据看到成功调用到了WebService

JAX-WS Web 服务开发调用和数据传输分析_第11张图片


三.查看数据包


1.先get请求wsdl



2.再post请求

JAX-WS Web 服务开发调用和数据传输分析_第12张图片


3.返回的数据

JAX-WS Web 服务开发调用和数据传输分析_第13张图片


完整的数据交互过程参考:java 实现WebService 以及不同的调用方式

JAX-WS Web 服务开发调用和数据传输分析_第14张图片

参考:

JAX-WS Web 服务入门指南  

REST 风格的 Web 服务入门指南

Web Service 那点事儿(1)

你可能感兴趣的:(JAX-WS Web 服务开发调用和数据传输分析)