Java调用Web服务(Web Services),如此简单
2011-04-19 17:54
459 查看
实在不才啊,今天才发现jdk6里有个wsimport.exe,使用可以生成目标Web服务器的本地调用类,然后就可以在本地程序中像使用本地代码一样调用WebService了,如此一来和DotNet下的Web服务的使用方法就基本一样。(活到老学到老啊
)
使用方法如下:
1、执行wsimport命令:
wsimport http://localhost:9999/AccountService?WSDL
2、将生成的代码进行打包:
jar cvf com.zywang.cxf.jar com/zywang/cxf/
3、将生成的jar包添加到项目的构建路径中,进行引用,从使用的情况看Java的Web服务和DotNet的稍有不同
我分别使用DotNet、Spring和CXF创建了三个相同功能的Web服务,以下是客户端代码片段
访问DotNet的Web服务:
/** * @author ZYWANG 2011-4-19 */ public static void main(String[] args) { AccountService service = new AccountService(); AccountServiceSoap serviceSoap = service.getAccountServiceSoap(); Account account = new Account(); account.setName("Hello ZYWANG " + (new Date())); serviceSoap.insertAccount(account); ArrayOfAccount arrayOfAccount = serviceSoap.getAccounts(); List<Account> accounts = arrayOfAccount.getAccount(); for (Account a : accounts) { System.out.println(a.getName()); } }
访问Spring的Web服务:
/** * @author ZYWANG 2011-4-19 */ public static void main(String[] args) { AccountService_Service service = new AccountService_Service(); AccountService accountService = service.getAccountServicePort(); Account account = new Account(); account.setName("王朝阳 by WS " + new Date()); accountService.insertAccount(account); List<Account> accounts = accountService.getAccounts(""); for (Account account2 : accounts) { System.out.println(account2.getName()); } }
访问CXF的Web服务:
/** * @author ZYWANG 2011-4-19 */ public static void main(String[] args) { AccountDao_Service service = new AccountDao_Service(); AccountDao accountService = service.getAccountDaoPort(); Account account = new Account(); account.setName("Hello 王朝阳 by CXF " + (new Date())); accountService.insertAccount(account); List<Account> list = accountService.getAccounts(""); for (Account a : list) { System.out.println(a.getName()); } }
因为主要是使用wsimport和jar这两个命令,所以写了个小工具来自动生成jar包,在附件中(源码可以反编译得到)
附件中还有三种Web服务的程序,供需要的朋友参考。
工具运行截图:
相关文章推荐
- Java WebService 简单实例、调用第三方提供的webService服务
- C#调用Java端Web服务(CXF)时发生Integer参数类型无法传递的问题
- 一起谈.NET技术,JAVA与.NET的相互调用——通过Web服务实现相互调用
- JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
- JAVA与.NET的相互调用——通过Web服务实现相互调用
- JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
- JAVA与.NET的相互调用——通过Web服务实现相互调用
- tomcat+webservice实现简单的web服务远程调用接口
- 使用开放源代码框架的 Java 应用程序的 Web 服务集成模式,第 1 部分: 实现调用模式
- 简单得创建JAVASCRIPTE WEB丰富界面以及与JAVA服务互相访问
- 分享一个Android和java调用RESTful Web服务的利器Resting
- JAVA与.NET“.NET技术”的相互调用——通过Web服务实现相互调用
- 简单 web 服务的 部署 和 调用
- java调用百度地图web服务api-----该方法可用在js跨域请求上
- 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
- Java调用C#写的web服务接口(含https调用)
- javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——applicationContext.xml
- [.NET][C#]dotNet使用WSE3.0调用java的web服务
- java 调用web服务的方法
- .Net下调用Java安全Web服务