在VB6.0里调用WebServices,先下载安装SONP Toolkit包(http://download.microsoft.com/download/xml/soap/2.0/W98NT42KMe/EN-US/SoapToolkit20.exe) 引用组件:Microsoft SOAP Type Library环境搭建: 'Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出 '接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的 '原型,客户端可以通过wsdl来调用实现程序提供的服务代码。 ' ' '服务端代码如下:(在这个例子中服务端用java完成,客户端用VB6.0完成,服务器是tomcat5.0) ' '首先建立服务端程序: '启动JBuilder建立一个工程,设置服务器为tomcat4.0(因为JBuilder9不支持tomcat5.0,实现后将其在 'tomcat5.0中发布)。 '新建一个class 代码如下: 'public class HelloWorld{ ' public String sayHello(){ ' return "Hello world!"; ' } ' public String echo(String u){ ' return "Hello " + u; ' } '} '选择File菜单New,在弹出的对话框中选择web services页中的Web Serivice Configuation Wizard,新建 'webapp axis并配置servers。 '再次选择File菜单,New再出现的窗口中选择Export as a web service Wizard,在弹出的向导中选择要导出 '的类名,其它项直接选默认值即可。 '运行刚才建立的程序,出现"JBuilder Apache Axis Admin Console"的页面表示刚才建立的webservice成功。 '点击View超级链接进入"And now... Some Services"页面,点击HelloWorld(WSDL)的链接出现WSDL描述文件, '至此webservice服务端建立完成。 ' '将刚才建立的webservice发布到tomcat5.0中,在tomcat的webapps目录下新建webservicetest目录,将用 'JBulider建立的工程目录下的 axis目录下的文件全部复制到其中,重新启动tomcat, '访问http://localhost:8080/webservicetest/,如果看到"JBuilder Apache Axis Admin Console"页面 '说明发布成功。 vb里面的调用代码本身很简单: Private Sub Command1_Click() Dim sc As SoapClient '调用SOAP客户端 Set sc = New SoapClient '进行实例化
On Error Resume Next '出错时转到下一条语句
sc.mssoapinit "http://192.168.1.6:8080/webserver/services/HelloWorld?wsdl" If Err Then MsgBox "SoapClient.mssoapinit failed. " & Err.Description, vbExclamation Err.Clear Exit Sub End If
'Text1.Text = sc.sayHello() Text1.Text = sc.echo(Text1.Text) If Err Then MsgBox "SoapClient.echo failed. " & Err.Description & vbCrLf & sc.faultstring & vbCrLf & sc.detail, vbExclamation Err.Clear Exit Sub End If End Sub
引用组件:Microsoft SOAP Type Library环境搭建:
'Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出
'接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的
'原型,客户端可以通过wsdl来调用实现程序提供的服务代码。
'
'
'服务端代码如下:(在这个例子中服务端用java完成,客户端用VB6.0完成,服务器是tomcat5.0)
'
'首先建立服务端程序:
'启动JBuilder建立一个工程,设置服务器为tomcat4.0(因为JBuilder9不支持tomcat5.0,实现后将其在
'tomcat5.0中发布)。
'新建一个class 代码如下:
'public class HelloWorld{
' public String sayHello(){
' return "Hello world!";
' }
' public String echo(String u){
' return "Hello " + u;
' }
'}
'选择File菜单New,在弹出的对话框中选择web services页中的Web Serivice Configuation Wizard,新建
'webapp axis并配置servers。
'再次选择File菜单,New再出现的窗口中选择Export as a web service Wizard,在弹出的向导中选择要导出
'的类名,其它项直接选默认值即可。
'运行刚才建立的程序,出现"JBuilder Apache Axis Admin Console"的页面表示刚才建立的webservice成功。
'点击View超级链接进入"And now... Some Services"页面,点击HelloWorld(WSDL)的链接出现WSDL描述文件,
'至此webservice服务端建立完成。
'
'将刚才建立的webservice发布到tomcat5.0中,在tomcat的webapps目录下新建webservicetest目录,将用
'JBulider建立的工程目录下的 axis目录下的文件全部复制到其中,重新启动tomcat,
'访问http://localhost:8080/webservicetest/,如果看到"JBuilder Apache Axis Admin Console"页面
'说明发布成功。
vb里面的调用代码本身很简单:
Private Sub Command1_Click()
Dim sc As SoapClient '调用SOAP客户端
Set sc = New SoapClient '进行实例化
On Error Resume Next '出错时转到下一条语句
sc.mssoapinit "http://192.168.1.6:8080/webserver/services/HelloWorld?wsdl"
If Err Then
MsgBox "SoapClient.mssoapinit failed. " & Err.Description, vbExclamation
Err.Clear
Exit Sub
End If
'Text1.Text = sc.sayHello()
Text1.Text = sc.echo(Text1.Text)
If Err Then
MsgBox "SoapClient.echo failed. " & Err.Description & vbCrLf & sc.faultstring & vbCrLf & sc.detail, vbExclamation
Err.Clear
Exit Sub
End If
End Sub
请楼主看看这里的COM方面的文章。
邮件是: [email protected]
vb应该可以实现的,做成ActiveX然后嵌入在网页中使用。
或者,直接用asp做也可以,连ActiveX都不用了。另外,图片或其他的字节数组数据是转换成Base64的方式传输的。