WebService 建立 VBA与Java之间的通信

本文原创地址:[url]http://itblood.com/webservice-to-establish-communication-between-the-vba-and-java.html[/url]
WebService 建立 VBA与Java之间的通信
-----zhangyq 2008-10-14
一. 此通信的目地
以往的用VBA做的客户端登录和导入数据,等对数据库的操作都是在客户端执行,此方法的缺点是:
1. 灵活性差,基本上所有的数据库信息,都写死在程序中,维护起来不灵活,要不断去修改程序。
2. 在客户端(VBA端)暴露了数据库连接的信息,即基本上包括数据库的所有信息,数据库的IP地址,数据库名,密码,对数据库操作的SQL语句等等。虽然在客户端可以对VBA可以进行加密,但是安全性仍然太低,密码很容易被破解。
为了避免以上的缺点:所以采用WebService技术,在客户端(VBA端)通过WebService来连接服务器端(Java端),对登录信息的验证,数据的导入等等。
二.客户端(VBA)如何部署:
1,安装VBA访问WebService的插件: SoapToolkit30,此插件为微软提供:用来在VBA中连接WebService。
2 在客户端VBA编辑器中引用此插件,引用成功后,则以后此客户端都可以通过VBA来连接WebService访问java服务器端
使用范围:具有VBA编程功能的办公自动化软件,例如:Word, Excel等等。引用如图所示:勾选框中的Microsoft Soap Type Library v3.0

3. 在客户端调用WebService访问java服务器端:调用代码如下:

其中soapClient.MSSoapInit http://localhost/aps/ImportData.jws?wsdl
为java服务器端发布的网址,即VBA调用java服务器端的类
ImportData 为要访问的类名。
soapClient.getConInformation(username, password) 是调用服务器端的方法
getConInformation 为类名
username,password 为方法中的参数
4 启动服务器,在服务器端发布WebService要调用的java程序
如何发布服务器端的程序,请参考下文,服务器端的部署。
5 在客户端就可以直接访问了。
三 服务器端的部署(Java端)
1. 下载安装java端连接和发布WebService的中间插件axis-1_4
axis-1_4为开源的中间插件,可以到其官方网站下载最新版本
解压后其中包含:axis的源码,帮助文档,以及要用的中间包
2 部署项目:
将其解压后的目录axis-src-1_4\axis-1_4\webapps\axis 下的所有内容复制到其自己的项目的根目录下,覆盖自己项目中的内容。
如果自己的项目中有和其相同的名字,并且有用,则将自己项目中的
文件改名,或者将其和中间插件中的文件合并在一起。例如:
自己的项目中有文件Web.xml 并且其中的内容有用,不能覆盖,则应将其和axis-src-1_4\axis-1_4\webapps\axis\WEB-INF 下的Web.xml合并,如下图所示:

3 发布服务器端程序
1首先编写要提供服务的Java类,例如Hello.java
类一般放在Src的根目录下,不要放在包下,容易出错。

2 将文件名改为Hello.jws,拷贝到项目的根目录WebRoot\下
3 打开IE访问http://localhost:8080/项目名/Hello.jws 会看到如下画面

在点击Click to see the WSDL, 就会看到下面的WSDL信息。

看到上面的信息,则说明服务器端程序发布成功,以后调用此类,
则不用再发布,只需启动服务器就行。
4 如果测试后WebService不能发布成功:
则可以加入以下包,将其放在自己项目\lib 下
Mail.jar ,activation,jar tool.jar
Mail.jar ,activation,jar两个包可以在网上下载
tool.jar 包为jdk下面的包。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值