在本文中,没有用任何第三方的jar包,纯粹的使用Java1.6自带的WebService功能来进行WebService服务端的编写。下面贴出代码。
package cn.itcast.ws; import javax.jws.WebService; import javax.xml.ws.BindingType; import javax.xml.ws.Endpoint; import javax.xml.ws.soap.SOAPBinding; /** * 通过WebService将类标记为实现WebService */ @WebService public class HelloService { public String sayHi(String name,int age){ return "hi " + name; } public String sayHello(String name){ System.out.println("sayHello()..." + name); return "hello " + name; } public static void main(String[] args) { /** * 参数1:服务的发布地址和访问路径 * 参数2:服务的实现者 */ Endpoint.publish("http://192.168.1.101:6789/hello", new HelloService()) ; System.out.println("Server started..."); } }
在上面的代码中最重要的是@WebService注解和Endpoint类。只要在类上使用@WebService注解来描述该类是一个WebService服务类,在使用Endpoint类的publish(发布)方法对服务进行发布。需要注意的是,该类中必须存在一个或一个以上的访问修饰符为public的方法。至此,一个简易的WebService服务就完成了。为了检验该服务是否正真的发布成功,可以通过浏览器来访问WSDL文件来验证。在浏览器地址中输入Webservice的发布地址、端口、服务名称(例如:http://192.168.1.101:6789/hello),再在路径后面跟上?WSDL就可以了。如果访问成功,则代表此次的WebService发布成功。
这是最简单的WebService的编写。WebService写好了,也发布成功了,那怎么调用呢?请看WebService学习笔记系列之二----通过wsimport的方式调用WebService。