WebService---jdk发布服务以及访问服务

WebService
基于jdk实现服务端客户端:
发布服务:
1.开发接口
2.开发接口实现类 @WebService
3.发布服务 EndPoint.publish(“url”,实现类)

访问服务:
核心要点:一份服务的说明书 url?wsdl

<service name=" ">
在wsdl中找到这个标签,根据这个名称获取到服务试图对象
<portType name=" ">
找到这个标签,根据服务视图对象的getPort方法,
结合这个名称,获取到实现类对象(后面有例子)
<operation name=" ">
根据实现类对象来操作相关的方法

新建简单的Java项目
实现服务端:
接口类:

package com.example;
public interface IWeatherService {
    public String query(String cityName);
    public String other();
}

实现类:

package com.example;


import javax.jws.WebService;
@WebService
public class WeatherService implements IWeatherService {
    @Override
    public String query(String cityName){
        System.out.println("查询"+cityName);
        return "大晴天";
    }
    @Override
    public String other(){
        return "其他方法";
    }
}

发布类:

package com.webservice;
import com.example.WeatherService;
import javax.xml.ws.Endpoint;
public class main {
    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8080/weatherService",new WeatherService());
        System.out.println("发布成功");
    }
}

浏览器访问:http://localhost:8080/weatherService?wsdl

在这里插入图片描述
实现访问服务:
新建一个java项目:
打开cmd命令行,进入新建项目文件下:
输入wsimport -s . url?wsdl如图:
在这里插入图片描述
生成客户端代码
在这里插入图片描述
新建类访问服务:

package com.client;

import com.example.WeatherService;
import com.example.WeatherServiceService;

public class Client1 {
    public static void main(String[] args) {
        //创建服务视图对象  wsdl中<service name>
        WeatherServiceService service = new WeatherServiceService();
        //获取服务的实现类  wsdl中<portType name>
        WeatherService port = service.getPort(WeatherService.class);
        //调用方法 在<portType 标签下面有<operation name="query">
        String query = port.query("北京");
        System.out.println(query);
        //调用新方法
       String other = port.other();
        System.out.println(other);

    }
}

结果:
客户端:
在这里插入图片描述
服务端:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

臾凉-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值