wsimport简单实现WebService
服务端:
新建项目,写一个服务类并写服务方法
@WebService//标记为远程服务
public class SayHello {
@WebMethod//标记为远程服务的方法
public String sayHello(String name){
return name+"Hello !";
}
}
发布类,将服务发布出去
```java
/**
* 发布服务
* @author Administrator
*/
public class Publish {
public static void main(String[] args) {
//发布服务的地址,JDK不能直接访问地址 需要在地址后面加上:?wsdl 用来描述服务
String address = "http://localhost:8889/helo";
//发布服务
SayHello implementor = new SayHello();
//异步执行
Endpoint.publish(address, implementor);
System.out.println("服务发布成功");
}
}
然后运行main方法,在浏览器输入自己设置的地址+?wsdl
我的就是:http://localhost:8889/helo?wsdl
如下所示怎服务发布成功
客户端:
再新建一个项目,在本地找到项目建包(package)的根目录,点进去(我的是meven项目,所以我找java目录)
然后在此目录cmd,输入如下命令
wsimport -s . 服务地址 (中间有个点)
然后执行
我的如下:
执行完成后,会在该目录生成如下文件
再去访问之前创建的WebService
/**
* 获取本地接口代理对象并完成调用
* @author Administrator
*/
public class Invoke {
public static void main(String[] args) {
//获取本地接口代理对象
SayHello sayHelloPort = new SayHelloService().getSayHelloPort();
System.out.println(sayHelloPort.getClass());
//通过代理对象调用远程服务方法
System.out.println(sayHelloPort.sayHello("张三 "));
}
}
运行上面的main方法
访问成功