webservice-UML课内实验报告实验三

1.webservice

现将网上关于webservice的讲解提炼出来,通过一个最简单使用并且方便的例子,告诉大家什么是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 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

2.如何发布一个webservice:以模拟天气查询功能为例

1. 创建基础文件:
在这里插入图片描述
在websrvice模块中,service包中创建一个接口WheatherInterface,一个实现接口类WheatherInterfaceImpl,一个客户端类WheatherServer

(1) WheatherInterface.java

这是WheatherInterface接口,其中定义了一个queryWeather(String cityName)的方法
记住一定要在类上加上@WebService注解
@WebMethod注解声明了这个方法是要发布出去的方法

package server;

import javax.jws.WebMethod;

@javax.jws.WebService
public interface WheatherInterface {
   
    @WebMethod
    public String queryWeather(String cityName);
}

(2) WeatherInterfaceImpl.java

这个类是接口的实现类,写明了接口函数方法的方法体。

package server;

import javax.jws.WebService;
import java.util.Random;

@WebService
public class WeatherInterfaceImpl implements WeatherInterface {
   
    @Override
    public String queryWeather(String cityName) {
   
        String[] weathers = {
   "晴天☀️", "暴雨⛈️", "多云☁️", "闪电⚡️"};
        Random random = new Random();
        System.out.println("服务端收到请求,获取天气的城市为:"+cityName);
        return weathers[random.nextInt(4)];
    }
}
(3) WeatherServer.java

最后我们在服务器端运行WeatherServer类中的main方法 ”控制台打印出发布WeatherServer成功!“在浏览器中输入我们在发布类中定义的address?wsdl(注意一定要加wsdl),浏览器显示如下,那么我们这个WeatherServer就发布成功了。

package server;

import javax.xml.ws.Endpoint;

public class WeatherServer {
   
    public static void main(String[] args) {
   
        Endpoint.publish("http://localhost:8848/weather", new WeatherInterfaceImpl()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值