webservice学习随笔(一):简单的webservice实例

Posted on 2019-05-15 16:31  'alt+/'  阅读(199)  评论(0编辑  收藏  举报

一、webService概念简单介绍:

简单来说,webservice就是远程调用技术,也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。 

二、实例代码(本实例中不需要导任何jar包,jdk自带包)

新建个java项目(创建java项目可参考:创建一个简单的java项目 )

  

  创建一个接口WebService,一个实现WebServiceImpl,一个主程序WebServicePublish,

package service;

import javax.jws.WebMethod;

public interface WebService {

    @WebMethod
    public String sayHello(String name);
}
package service;

@javax.jws.WebService
public class WebServiceImpl implements WebService {

    @Override
    public String sayHello(String name) {
        String returnStr = name + ",你好";
        return returnStr;
    }

}
package service;

import javax.xml.ws.Endpoint;

public class WebServicePublish {

    public static void main(String[] args) {
        String address="http://localhost:8989/WS_Server/WebService";
        Endpoint.publish(address,new WebServiceImpl());
        System.out.println("发布成功....");
    }
}

 

  注意:一定要注意接口和实现的注解!!!

创建完成后,我们启动主程序,在控制台可以看到 发布成功

 

然后我们在浏览器访问我们定义的address,记得末尾要加?wsdl

 

 这时候说明服务端服务已经发布成功了,接下来我们创建客户端调用接口

同样,新建一个java项目

接下来这块要注意了,我们打开dos窗口,也就是win+r , 执行cmd

在dos窗口中输入wsimport -s 我们这个项目的src路径 -keep 我们发布的webservice地址

 

回车后,我们刷新下项目,会发现项目中多了很多自动生成的代码

这时候,我们就可以创建客户端主程序,来调用服务端服务了

package service;

public class WSClient {
    public static void main(String[] args) {
        WebServiceImplService factory=new WebServiceImplService();
        WebServiceImpl wsImpl = factory.getWebServiceImplPort();
        String sayHello = wsImpl.sayHello("张三");
        System.out.println("调用webservice服务的结果是:"+sayHello);
    }
}

 运行主程序后,我们可以在控制台可以看到,

 

说明我们本次webservice服务发布调用成功

Copyright © 2024 'alt+/'
Powered by .NET 8.0 on Kubernetes