基于webService的天气查询案例
基于webService的天气查询案例,基础版,未连接公网的,socket、webservice、wsdl使用过程生成的代码来创建客户端
Java 其它杂项
共2Star
详细介绍
WebWeather-BaseDemo-
基于webService的天气查询案例,基础版,未连接公网的,socket、webservice、wsdl使用过程生成的代码来创建客户端 ##服务端开发
1、编写一个SEI,也就是一个接口
public interface WeatherInterface {
String queryWeather(String cityName);
}
2、编写一个SEI实现类,需要实现SEI接口,而且还需要在这个实现类上面添加一个@Webservice注解
@Webservice
public class WeatherInterfaceImpl implements WeatherInterface {
public String queryWeather(String cityName) {
System.out.println("接收到客户端发送的城市名称:"+cityName);
String result="晴,高温预警";
return result;
}
}
3、发布服务。使用Endpoint的静态方法publish。
public class WeatherServer {
public static void main(String[] args) {
//发布服务
Endpoint.publish("http://127.0.0.1:11111/weather", new WeatherInterfaceImpl());
}
}
访问地址:http://127.0.0.1:11111/weather
http://127.0.0.1:11111/weather?wsdl中看到ImplPort。
看到效果则说明启动成功了。
##客户端 使用Wsimport生成客户端调用代码, 在jdk的安装目录的bin目录中,有一个wsimport命令。
可以根据wsdl文档生成客户端调用代码。
生成WebServiceWSGEN 在src目录下通过cmd运行以下命令:
wsimport -s . http://127.0.0.1:11111/weather?wsdl
###实现步骤 使用过程生成的代码来创建客户端
1、创建一个服务视图对象 2、从服务试图获得porttype(SEI)对象 3、调用服务端方法 4、打印结果
public class WeatherClient {
public static void main(String[] args) {
WeatherInterfaceImplService service=new WeatherInterfaceImplService();
WeatherInterfaceImpl portType=service.getWeatherInterfaceImplPort();
String result=portType.queryWeather("衡阳");
System.out.println(result);
}
}
-
4 Star
-
7 Star
-
0 Star
-
3 Star
-
29 Star
-
26 Star
-
4 Star
-
2 Star
-
122 Star