webservice入门实例
发布一个'a+b'与'a-b'的服务。 服务部分: package com.ljfbest.service; import javax.jws.WebService; @WebService public interface IMyService { public int add(int a,int b); public int minus(int a,int b); } package com.ljfbest.service; /* 服务接口的实现 */ import javax.jws.WebService; @WebService(endpointInterface="com.ljfbest.service.IMyService") public class MyServiceImpl implements IMyService { @Override public int add(int a,int b) { System.out.println(a+"+"+b+"="+(a+b)); return a+b; } @Override public int minus(int a,int b) { System.out.println(a+"-"+b+"="+(a-b)); return a-b; } } 发布服务: import javax.xml.ws.Endpoint; public class MyServer { public static void main(String[] args) { String address="http://localhost:8089/na"; Endpoint.publish(address,new MyServiceImpl());//这样就可以发布了,很简单吧 } } 简单的测试一下该服务: URL url=new URL("http://localhost:8089/na?wsdl"); 服务发布后,在地址栏输入http://localhost:8089/na?wsdl,就可以查看此服务的详细信息,不要忘了在address后还有“?wsdl”,而有了此wsdl客户端就可以调用此服务了。 以上是服务端的项目,接下来客户端的项目,注意下面是另起一个项目。需要用到wsimport wsimport也是在JDK的bin目录下的一个exe文件(Windows版),主要功能是根据服务端发布的wsdl文件生成客户端存根及框架,负责 与Web Service 服务器通信,并再将其封装成实例,客户端可以直接使用就像使用本地实例一样。对Java而言,wsimport帮助程序员生成调用web service所需要的客户端类文件.java和.class。要提醒指出的是,wsimport可以用于非Java的服务器端,如:服务器端也许是C# 编写的web service,通过wsimport则生成Java的客户端实现。 把e:/ws下的com文件夹拷到项目中就可以使用服务了,就可直接调用服务的方法了,下图是在客户端生成的代码结构图:
MyServiceImplService msis=new MyServiceImplService(); IMyService service=msis.getMyServiceImplPort(); service.add(4,1); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |