下面我们简要介绍如何通过jdk自带的注解发布webservice
首先新建一个Java project为jdkmodel_server
(1)发布服务
第一步:新建需要发布的接口HelloWorld.java,里面包含一个sayHello方法,其次写出这个接口的实现类实现sayHello方法,简要的打印输出结果
第二步:给接口和实现类加上相应的注解
@WebService表明此类发布为一个服务
@WebMethod表明发布的服务方法
实际代码如下
接口 HelloWorld.java
@WebService
public interface HelloWorld {
@WebMethod
public String sayHello(String name);
}
我们可以看出,其中使用了两个注解,@WebService表明此类发布为一个服务,@WebMethod表明发布服务包含的方法。
接口实现类HelloWorldImpl.java
@WebService
public class HelloWorldImpl implements HelloWorld {
@Override
public String sayHello(String name) {
System.out.println("server sayHello() :" + name);
return "Hello " + name;
}
}
第三步:编写发布服务的方法,其中我们需要用到Endpoint类的publish方法。
public class ServerTest {
public static void main(String[] args) {
//表示我们服务<span style="font-family: Arial, Helvetica, sans-serif;">发布</span>的地址
String address = "http://localhost:8989/jdkmodel_server/hellows";
Endpoint.publish(address, new HelloWorldImpl());
System.out.println("server start ...");
}
}
第四步:右键run as---java application,得到运行结果,表示服务发布成功
(2)生成客户端调用代码
以上我们发布完成了服务,下面我们来通过jdk自带的wsimport.exe命令生成客户端调用代码
注:wsimport.exe命令在jdk的bin目录下,大家可以自行查看
以上命令十分简单
cmd----跳转到你需要保存客户端代码的目录下---wsimport url
输入以上命令即可生成客户端调用代码,需要注意的是上面提到的url,可以使我们发布的wsdl文件地址,也可以是本地wsdl文件。使用时需要注意。
以上就可以使用生成的代码调用我们发布的服务,结果如下