首页 > webservice > WebService建立VBA与Java之间的通信

WebService建立VBA与Java之间的通信

WebService 建立 VBA与Java之间的通信

此通信的目地

     以往的用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合并,如下图所示:

发布服务器端程序

1、首先编写要提供服务的Java类,例如Hello.java ,类一般放在Src的根目录下,不要放在包下,容易出错

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

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

看到上面的信息,则说明服务器端程序发布成功,以后调用此类, 则不用再发布,只需启动服务器就行。

4 如果测试后WebService不能发布成功:  则可以加入以下包,将其放在自己项目\lib 下

Mail.jar ,activation,jar tool.jar
Mail.jar ,activation,jar两个包可以在网上下载
tool.jar 包为jdk下面的包。

 到此已完成java与VBA的通讯,欢迎大家阅读与分享,分享时请标明原文出处: IT热血青年

除非注明,文章为IT热血青年原创,欢迎转载!转载请注明本文地址,谢谢。
本文地址:http://blog.itblood.com/webservice-to-establish-communication-between-the-vba-and-java.html

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.