webService服务端与客户端

来源:互联网 发布:.edu域名注册 编辑:程序博客网 时间:2024/04/29 06:05
服务端

import javax.jws.WebService;

//使用@WebService标记该类位WebService的服务类
@WebService
public class weatherInterfaceImpl implements weatherInterface
{


@Override
public String queryWeather(String address)
{
System.out.println("from client ..."+address);
String weather="晴";

System.out.println("to client ..."+weather);
return weather;
}


}


发布服务

public class webService{public static void main(String[] args){Endpoint.publish("http://127.0.0.1:12345/<span style="font-family: Arial, Helvetica, sans-serif;">weather</span>", new weatherInterfaceImpl());}}


客户端

 使用wsimport生成webservice的客户端调用代码

单独创建一个工程wsimport存放生成代码. 

通过cmd进入工程t目录。

使用wsimport生成webservice的客户端调用代码

常用参数为:

-d<目录> - 将生成.class文件。默认参数。

-s<目录> - 将生成.java文件。

-p<生成的新包名> -将生成的类,放于指定的包下
例子:

wsimport -s . http://127.0.0.1:12345/weatehr?wsdl

方法一

WeatherInterfaceImplService weatherInterfaceImplService=new WeatherInterfaceImplService();WeatherInterfaceImpl weatherInterfaceImpl = weatherInterfaceImplService.getWeatherInterfaceImplPort();String queryWeather = weatherInterfaceImpl.queryWeather("北京");System.out.println(queryWeather);


方法二

URL wsdlDocumentLocation=new URL("http://127.0.0.1:12345/weather?wsdl");QName serviceName = new QName("http://ws.qht.cn/", "weatherInterfaceImplService");Service service= Service.create( wsdlDocumentLocation, serviceName) ;WeatherInterfaceImpl weatherInterfaceImpl =service.getPort(WeatherInterfaceImpl.class);String queryWeather = weatherInterfaceImpl.queryWeather("北京");System.out.println(queryWeather);




0 0
原创粉丝点击