服务端
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;
}
例子:
方法一
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);