一、webService概念简单介绍:
简单来说,webservice就是远程调用技术,也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
二、实例代码(本实例中不需要导任何jar包,jdk自带包)
新建个java项目(创建java项目可参考:创建一个简单的java项目 )
创建一个接口WebService,一个实现WebServiceImpl,一个主程序WebServicePublish,
package service; import javax.jws.WebMethod; public interface WebService { @WebMethod public String sayHello(String name); }
package service; @javax.jws.WebService public class WebServiceImpl implements WebService { @Override public String sayHello(String name) { String returnStr = name + ",你好"; return returnStr; } }
package service; import javax.xml.ws.Endpoint; public class WebServicePublish { public static void main(String[] args) { String address="http://localhost:8989/WS_Server/WebService"; Endpoint.publish(address,new WebServiceImpl()); System.out.println("发布成功...."); } }
注意:一定要注意接口和实现的注解!!!
创建完成后,我们启动主程序,在控制台可以看到 发布成功
然后我们在浏览器访问我们定义的address,记得末尾要加?wsdl
这时候说明服务端服务已经发布成功了,接下来我们创建客户端调用接口
同样,新建一个java项目
接下来这块要注意了,我们打开dos窗口,也就是win+r , 执行cmd
在dos窗口中输入wsimport -s 我们这个项目的src路径 -keep 我们发布的webservice地址
回车后,我们刷新下项目,会发现项目中多了很多自动生成的代码
这时候,我们就可以创建客户端主程序,来调用服务端服务了
package service; public class WSClient { public static void main(String[] args) { WebServiceImplService factory=new WebServiceImplService(); WebServiceImpl wsImpl = factory.getWebServiceImplPort(); String sayHello = wsImpl.sayHello("张三"); System.out.println("调用webservice服务的结果是:"+sayHello); } }
运行主程序后,我们可以在控制台可以看到,
说明我们本次webservice服务发布调用成功