webservice查询天气

目录结构如下:
webservice查询天气_第1张图片
第一步:新建一个名为 WebserviceServer 的Java Project,并 将jdk版本设置为1.7,如果为1.62的版本会出错(报.....not found)
第二步:新建服务类项目 建一个包,三个类如下所示
webservice查询天气_第2张图片
一、新建WeatherInterface 接口类
package com.hmsm.webservice_jaxws.server;
/**
* SEI天气查询接口
* @author Administrator
*/
public interface WeatherInterface {
//天气查询
public String queryWether(String cityName);
}
二、新建WeatherInterface接口实现类WeatherInterfaceImpl
package com.hmsm.webservice_jaxws.server;
import javax.jws.WebService;
/**
* 天气查询服务
* @author Administrator
*/
@WebService
public class WeatherInterfaceImpl implements WeatherInterface {

@Override
public String queryWether(String cityName) {
//接收客户端发送过来的数据
System.out.println("from client..."+cityName);
String result="晴转阴";
//向客户端返回天气查询结果
return result;
}
}
三、新建Server 类 发布服务
package com.hmsm.webservice_jaxws.server;
import javax.xml.ws.Endpoint;
public class Server {
//main方法以及内容也可以写在WeatherInterfaceImpl中
public static void main(String[] args) {
//发布天气查询服务
Endpoint.publish("http://127.0.0.1:55555/weather", new WeatherInterfaceImpl());
//选择1.7的jdk版本Jre版本不然会报错,在浏览器中将http://127.0.0.1:55555/weather放入地址栏
System.out.println("发布webservice服务。。。");
}

}
第三步:新建额外Java Project (这里叫wsimport,作用获取服务视图)找到项目地址(G:\Java\Work\Test\wsimport\src)
webservice查询天气_第3张图片
然后通过cmd命令进入该文件下,执行命令wsimport -s . http://127.0.0.1:55555/weather?wsdl
执行之后生成如下文件:
webservice查询天气_第4张图片
第四步:新建客户端类项目
一、将wsimport项目中的com.hmsm.webservice_jaxws.server整个包复制到客户端项目中
webservice查询天气_第5张图片
二、新建客户端类
webservice查询天气_第6张图片
package com.hmsm.webservice_jaxws.client;

import com.hmsm.webservice_jaxws.server.WeatherInterfaceImpl;
import com.hmsm.webservice_jaxws.server.WeatherInterfaceImplService;

/**
* webservice 客户端
* @author Administrator
*/
public class Client {
public static void main(String[] args) {
//创建webservice服务视图
WeatherInterfaceImplService implService=new WeatherInterfaceImplService();
//通过视图得到服务端点
WeatherInterfaceImpl impl= implService.getWeatherInterfaceImplPort();
//通过服务端点调用webservice接口,同时向服务端发送数据成都
String result=impl.queryWether("成都");
System.out.println("from server。。。"+result);
}
}
第五步:运行Server类,发布webservice服务,运行Client类
webservice查询天气_第7张图片



你可能感兴趣的:(Webservice,web,service,webservice查询天气,websrvice案例)