Java学习——创建并使用WebService

Java学习——创建并使用WebService

很久没写博客了,最近学了Java web,对比C#感觉稍微麻烦了点……,写个简单的小实例记录下学习的过程~~

Java Web服务有Rest风格和SOAP风格2种,rest风格是我们最常用的,也是非常简单的,比如ajax调用和服务端的@RequestMapping映射。SOAP风格的WebService使用xml作为通信载体,wsdl作为描述语言,我们可以通过wsdl在客户端获取服务端的接口信息,从而调用服务端提供的服务。

创建服务端

1.创建一个【Web Service Project】,命名为【JWebServices】。
Java学习——创建并使用WebService_第1张图片

2.创建包【services.server.test】,创建【Class】类,命名为【HelloTest】。
Java学习——创建并使用WebService_第2张图片

3.编写服务端方法。
Java学习——创建并使用WebService_第3张图片

package services.server.test;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class HelloTest {

    /**
     * 客户端调用的测试方法
     * @param key         传入的key值
     * @return String     返回的结果
     */
    public String GetTestValue(String key)
    {
        return "Value is :" + key;
    }

    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8001/Service/HelloTest", new HelloTest());

    }

}

4.保存,编译并启动
右键【services.server.test】包下的HelloTest.java,在运行方式中选择Java应用程序

5.查看服务启动结果。
访问上面代码中自己定义的服务访问地址:
http://localhost:8001/Service/HelloTest?wsdl
注意加上“?wsdl”,wsdl是webservice的描述语言,通过它我们可以知道webservice提供了哪些服务,以及这些服务的信息。
Java学习——创建并使用WebService_第4张图片

创建客户端

1.创建【Web Service Project】,命名为【JWebClients】。
Java学习——创建并使用WebService_第5张图片

2.创建包【services.client.test】

3.在电脑的Java JDK文件中找到wsimport.exe工具,使用管理员权限打开控制台,跳转到当前wsimport.exe工具所在的目录。
使用命令在客户端生成可访问webservice的服务接口:

wsimport -s E:\\Code\\java\\JWebClients\\src -p services.client.test -keep http://localhost:8001/Service/HelloTest?wsdl

Java学习——创建并使用WebService_第6张图片

4.右键【JWebClients】工程,选择刷新,刷新项目,这样之前通过wsimport工具生成的代码就加载到【JWebClients】工程中了。
Java学习——创建并使用WebService_第7张图片

5.创建【Class】类,命名为【HelloClientTest】。
Java学习——创建并使用WebService_第8张图片

6.编写客户端调用代码。
Java学习——创建并使用WebService_第9张图片

import services.client.test.HelloTest;
import services.client.test.HelloTestService;

public class HelloClientTest {

    public static void main(String[] args) {
        // 初始化webservice对象
        HelloTest client = new HelloTestService().getHelloTestPort();

        //结果测试
        String result = client.getTestValue("TestKey");
        System.out.println(result);
    }

}

7.启动测试,查看控制台输出结果。
右键HelloClientTest.java,在运行方式中选择Java应用程序
Java学习——创建并使用WebService_第10张图片
可以看到客户端成功调用了webservice服务。

问题

1.使用wsimport工具时需要管理员权限否则会出现权限不够无法创建文件的问题。
2.wsimport 命令后要注意加上“?wsdl”,否则无法创建客户端调用接口。
3.wsimport 命令后的路径不要出现空格。

你可能感兴趣的:(Java,Web)