WebService系列博客{一}[发布、调用一个简单的服务]
1、简单阐述原理 WebService是对于Socket程序的封装。简单的实现客户端服务器的访问。也就是将下图的Socket程序封装了起来更加简单的实现。请看原理图: 2、准备条件: ?????? A、准备JDK 1.6.20以上的版本(1.6.20之后被Oracle公司收购之后加入ws处理),并且加入系统高级变量Path中 ?????? B、切勿忘记@WebService的类注解 3、发布一个服务 ?????? A、在Eclipse中建立一个Java Project 目录结构如下图: ? ? ? B、HelloWorld代码如下:(运行main方法启动服务) import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class HelloWorld { //服务器端方法 public void SayHello(String name){ System.out.println("hello"+name); } public static void main(String[] args) { //Endpoint方法发布一个服务 //@Params address,new 服务类 Endpoint.publish("http://192.168.1.103:8888/hello",new HelloWorld()); System.out.println("发布了一个服务....."); } } 4、访问地址栏确认服务发布成功: http://192.168.1.103:8888/hello?wsdl??注意后面的?wsdl不可少。成功之后的页面展示如下图: 5、运用wsimport命令(位于JAVAHOME/bin/)远程生成服务器端服务代码 开始-cmd进入doc环境: d:???????????????????????????????????????????????? //进入D盘 mkdir WsTest?? ?????????????????????????????? ?/建立WsTest目录 cd WsTest????????????????????????????????????????? //进入WsTest目录 wsimport -s . http://192.168.1.103:8888/hello?wsdl??? //生成调用服务器端的代码 运行完成之后在该目录下会有和服务器端一样的包和程序 ? ? ? 6、新建客户端类调用远程服务器端代码 ?????? A、在Eclipse新建一个Java Project 注意jre版本 ?????? B、之后将第5部生成的文件夹直接拷贝到src目录下。 ?????? C、新建一个Java文件调用生成的类文件。目录结构如下?: D、GetWebService代码如下:
import cn.zhanglei.webservice.HelloWorld; import cn.zhanglei.webservice.HelloWorldService; public class GetWebService { public static void main(String[] args) { //得到调用服务器端类对象 HelloWorld hw = new HelloWorldService().getHelloWorldPort(); hw.sayHello("张磊"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |