web service

项目结构

1 创建服务端

  • 1.1 创建weather接口
package com.lm.ws;

public interface WeatherInterface {
    public String queryWeather(String cityName);
}
  • 1.2 创建实现类
    @WebService注解表示该类是一个服务类,需要发布其中的public的方法
package com.lm.ws;
import javax.jws.WebService;

@WebService
public class WeatherInterfaceImpl implements WeatherInterface {

    public String queryWeather(String cityName) {
        System.out.println("服务端:"+cityName);
        String weather = "晴";
        return weather;
    }
}
  • 1.3 发布服务,Endpoint.publish(服务地址,实现类);
package com.lm.ws;
import javax.xml.ws.Endpoint;

public class WeatherService {
    public static void main(String[] args) {
        Endpoint.publish("http://127.0.0.1:12345/weather", new WeatherInterfaceImpl());
        System.out.println("web service success");
    }
}
  • 1.4 阅读WSDL说明书,WSDL说明书地址为服务地址?wsdl,示例:http://127.0.0.1:12345/weather?wsdl

2 创建客户端

  • 2.1 客户端开发:创建客户端项目(代码由jdk提供的wsimport生成)

  • 2.2 打开命令窗口cmd,进入所创建项目的src目录下,我的项目所在目录是C:\hdel_scm\workspace_new\weather_wsimport

    cmd操作

  • 2.3输入wsimport -s . wsdl说明书地址,示例:wsimport -s . http://127.0.0.1:12345/weather?wsdl,这里的.是代表当前目录,表示在src目录下生成客户端代码

  • 2.4 使用客户端代码调用服务端

    • 创建服务视图,视图是从service标签的name属性获取
    • 获取服务实现类,实现类从portType的name属性获取
    • 获取查询方法,从portType的operation标签获取
package com.lm.client;

import com.lm.ws.WeatherInterfaceImpl;
import com.lm.ws.WeatherInterfaceImplService;

public class WeatherClient {
    public static void main(String[] args) {
        //创建服务视图
        WeatherInterfaceImplService weatherInterfaceImplService = new WeatherInterfaceImplService();
        //获取服务实现类
        WeatherInterfaceImpl weatherInterfaceImpl = weatherInterfaceImplService.getPort(WeatherInterfaceImpl.class);
        //调用查询方法
        String weather = weatherInterfaceImpl.queryWeather("上海");
        System.out.println(weather);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一,解释:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说...
    君满楼001阅读 382评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,949评论 19 139
  • web service 相关 什么是Web Service? 答:从表面上看,Web Service就是一个应用程...
    niuben阅读 1,111评论 0 3
  • 不知道各位女同胞有没有这样的感觉,逢年过节,特别是过年的时候,在婆家其乐融融的氛围里总是带有那么一丝尴尬,而这...
    尛小小2017阅读 856评论 3 3
  • 时间管理第8讲,主讲如何进行收集,并按事情重要程度进行排程。排程之后与突然出现的紧急事件冲突了如何处理
    做最完美的自己_帅阅读 176评论 0 0

友情链接更多精彩内容