本文原创地址:
http://itblood.com/webservice-to-establish-communication-between-the-vba-and-java.html
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下面的包。
分享到:
相关推荐
5. **VBA与Java通信**:“WebService建立 VBA与Java之间的通信.doc”文档可能详细解释了如何在VBA中通过SoapToolkit与Java后台的Web服务进行交互。Java作为服务器端的技术,可以创建Web服务,而VBA作为客户端,通过...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
综上所述,通过Java调用带有JSON参数的WebService,涉及到了Java编程语言的使用、JSON数据格式的处理以及WebService通信机制。开发者需要掌握这些技术来实现不同类型的应用程序之间的互操作性和数据交换。
在IT行业中,Java是一种广泛应用的编程语言,而Web服务(Web Service)则是一种基于标准的、平台无关的方式,使得不同的应用系统能够相互通信。在本主题中,我们将深入探讨如何利用Java通过Web服务来传输文件,特别...
Java WebService接口开发是将Java应用程序暴露为网络服务的一种方式,允许不同系统间的数据交换和交互。本案例将深入探讨如何使用Java实现Web服务的创建、发布和调用。 一、理解WebService WebService是一种基于...
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....
在Java世界中,WebService是一种基于XML的开放标准技术,它允许不同系统间的应用程序进行通信,跨越不同的操作系统和编程语言。本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端...
WebService是一种遵循特定协议(如SOAP、REST等)的网络服务,允许不同应用程序之间通过HTTP等网络协议进行通信。它以标准的XML格式传输数据,使得服务提供者和消费者可以独立于编程语言和操作系统进行交互。 #### ...
在IT行业中,Web Service是一种基于XML的通信标准,允许不同系统之间进行互操作性交互。Spring Boot是一个流行的Java框架,用于简化Spring应用的创建和管理。本教程将讲解如何使用Spring Boot集成Apache CXF(一个...
java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在
### Java访问C#开发的Webservice详解 #### 一、引言 在现代软件开发过程中,尤其是对于大型项目而言,采用分布式系统架构已经成为一种常态。分布式应用能够将复杂的业务逻辑分解并部署到不同的服务器上,从而提高...
在IT行业中,跨语言通信是常见的需求,尤其是在Java和C++这样的不同编程环境中。本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description ...
【Java与.NET开发WebService详解大全】 在IT领域,WebService是一种基于标准协议(如SOAP和WSDL)的跨平台、跨语言的通信机制,允许不同系统间的应用进行交互。本篇文章将详细探讨使用Java和.NET(VB.NET为例)开发...
8. **部署与测试**: 一旦服务实现完成,可以将其打包成一个WAR文件并部署到支持Java EE的服务器(如Tomcat或Glassfish)上。然后,使用SOAP UI这样的工具,可以发送SOAP请求来测试Web服务的功能。 总结,...
总的来说,Java定时进行WebService数据上报是Java开发者在实现系统间通信和数据同步时经常遇到的问题。理解Java编程、WebService技术和定时任务的实现原理,可以帮助开发者高效地完成这类任务。在实际项目中,还需要...
在本示例中,“使用webservice实现客户端与服务器通信”是一个典型的跨平台通信场景,它涉及到两个关键部分:服务器工程和客户端工程。我们将深入探讨这两个部分以及它们如何通过SOAP(简单对象访问协议)进行通信。...
Java调用C#的WebService是跨平台间通信的一种常见方式,尤其在企业级应用中,可能需要集成不同语言开发的服务。本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心...
C#与Java互操作Webservice实例
在IT行业中,跨平台通信是常见的需求,Java和.NET之间的交互也不例外。本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的...