`
touchinsert
  • 浏览: 1316281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VB.NET客户端调用Axis的Java Web Service实现文件上传

阅读更多

1. Java Web Service类DocumentFileManagement:

import java.io.*;
/**
* @author tyrone
*
*/

public class DocumentFileManagement {

//文件名, 文件内容,保存到d盘根目录
public String saveFile(String filename,byte[] contents){
if (filename==null || contents==null)
return "null";
String filepath="d:\\";
File fp=new File(filepath+filename);
try{
BufferedOutputStream op=new BufferedOutputStream(new FileOutputStream(fp));
op.write(contents,0,contents.length);
op.flush();
op.close();
if(fp.exists())
return fp.getAbsolutePath();
else
return "failure to create";
}catch(java.io.IOException e){
return e.getMessage();
}
}
}

2 部署到Axis服务器:

生成depoy.wsdd

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="DocumentFileManagement" provider="java:RPC">
<parameter name="className" value="DocumentFileManagement"/>
<parameter name="allowedMethods" value="saveFile"/>
</service>
</deployment>

命令行:/>AdminClient depoy.wsdd

3. copy DocumentFileManagement .class 到 axis\WEB-INF\classes目录

4. 用.NET的wsdl.exe生成VB.NET客户端类

命令行:/>wsdl /language:vb http://localhost:8080/axis/services/DocumentFileManagement?wsdl

生成DocumentFileManagementService.vb

'------------------------------------------------------------------------------
' <autogenerated>
' This code was generated by a tool.
' Runtime Version: 1.1.4322.573
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization

'
'This source code was auto-generated by wsdl, Version=1.1.4322.573.
'

'<remarks/>
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Web.Services.WebServiceBindingAttribute(Name:="DocumentFileManagementSoapBinding", [Namespace]:="http://localhost:8080/axis/services/DocumentFileManagement")> _
Public Class DocumentFileManagementService
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol

'<remarks/>
Public Sub New()
MyBase.New
Me.Url = "http://localhost:8080/axis/services/DocumentFileManagement"
End Sub

'<remarks/>
<System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace:="http://DefaultNamespace", ResponseNamespace:="http://localhost:8080/axis/services/DocumentFileManagement")> _
Public Function saveFile(ByVal in0 As String, <System.Xml.Serialization.SoapElementAttribute(DataType:="base64Binary")> ByVal in1() As Byte) As <System.Xml.Serialization.SoapElementAttribute("saveFileReturn")> String
Dim results() As Object = Me.Invoke("saveFile", New Object() {in0, in1})
Return CType(results(0),String)
End Function

'<remarks/>
Public Function BeginsaveFile(ByVal in0 As String, ByVal in1() As Byte, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke("saveFile", New Object() {in0, in1}, callback, asyncState)
End Function

'<remarks/>
Public Function EndsaveFile(ByVal asyncResult As System.IAsyncResult) As String
Dim results() As Object = Me.EndInvoke(asyncResult)
Return CType(results(0),String)
End Function
End Class

5. 调用DocumentFileManagementService.vb
Module Module1

Sub Main()
Dim ws As New DocumentFileManagementService
Dim result As String

'connect colimas web service
Dim contents As Byte
Dim fp As System.IO.File
Dim str As System.IO.FileStream
Dim fpname As String

Dim i As Integer

'上传的文件名
fpname = "StevenMills.doc"
str = fp.Open(fpname, 3)
Dim content(str.Length) As Byte
For i = 0 To str.Length - 1
content(i) = str.ReadByte()
Next
Try

'调用WebService的方法
result = ws.saveFile(fpname, content)
Console.Write(result)
Catch ex As Exception
Console.Write(ex.Message())
End Try

End Sub

End Module

分享到:
评论

相关推荐

    axis2客户端调用axis1服务接口

    axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...

    cxf客户端调用axis服务端流程

    在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架,主要用于SOAP服务。本文将深入探讨如何使用CXF客户端调用Axis...

    基于Axis的Web Service客户端调用

    本篇将详细介绍如何使用Axis来实现Web Service的客户端调用。 首先,我们需要理解Web Service的基本概念。Web Service基于SOAP(简单对象访问协议)协议,使用WSDL(Web服务描述语言)来描述服务接口,并通过HTTP...

    java客户端调用webservice所调用的axis1.4包和方法调用

    本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。

    VB.NET柱状图.rar

    下面将详细介绍这个控件及其在VB.NET中的应用,以及如何实现颜色区分和自定义坐标轴。 1. **Chart控件介绍**: - Chart控件是.NET Framework中的一员,提供了丰富的功能,可以用于创建各种统计图表。它支持多种...

    VB.NET程序包更新.zip

    9. **XML集成**:VB.NET与XML有很好的集成,可以直接在代码中处理XML文档,如使用内嵌的XML Literals和XML Axis Properties。 10. **NuGet包管理器**:在VB.NET开发中,NuGet是一个重要的工具,用于管理和更新项目...

    Java与.NET 的Web Services相互调用

    这样,就可以在.NET代码中像调用本地方法一样调用Java Web服务,如示例中的`JavaService.Bean1`类。 2. **.NET调用Java Web Services** 对于.NET做客户端调用Java Web Services,步骤相对类似。首先,你需要在...

    vb.net数据曲线显示

    在提供的".net曲线"文件中,可能包含了实现以上步骤的具体VB.NET代码示例,你可以学习并理解其中的逻辑,以便在自己的项目中应用。这个小程序的实用性在于,它不仅展示了如何创建数据曲线,还实现了鼠标移动时的提示...

    VB.NET开发的曲线图.zip

    本项目采用VB.NET语言,结合Microsoft Chart控件来实现这一功能。Chart控件是.NET Framework的一部分,提供了丰富的图表类型和自定义选项,可以方便地创建各种复杂的图表,包括折线图、柱状图、饼图等。 首先,让...

    Axis客户端调用代码

    标题中的"Axis客户端调用代码"指的是使用Axis库来实现对Web服务的调用。Axis提供了Java客户端API,使得开发人员能够通过编写Java代码来与远程Web服务进行交互。这个过程通常包括以下步骤: 1. **理解WSDL**: WSDL...

    java程序调用.net/c#的webservice

    Java程序调用.NET/C#的Web服务是一种跨平台的交互方式,主要依赖于SOAP(Simple Object Access Protocol)协议,使得不同编程语言开发的应用程序能够相互通信。在本场景中,用户已经提供了一个.NET的Web服务,而我们...

    基于 .NET, Java and MS SOAP Toolkit进行Web Services 的客户端调用程序例子

    本篇文章将深入探讨如何使用.NET、Java和Microsoft SOAP Toolkit来实现Web服务的客户端调用。 首先,让我们关注.NET框架。在.NET环境中,我们可以利用.NET Framework的System.Web.Services客户端代理类来调用Web...

    axis2客户端调用服务端,带用户身份认证

    总的来说,实现“axis2客户端调用服务端,带用户身份认证”涉及理解Web服务安全概念,配置服务和客户端,以及编写适当的安全上下文代码。这不仅增加了服务的安全性,也为客户端和服务端之间的通信提供了可靠的信任...

    java调用.net发布的webservice(asmx)

    本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...

    java 调用https webservice实例及axis包

    2. **生成客户端代理类**:使用Axis的`wsdl2java`工具,从Web Service的WSDL(Web Service描述语言)文件生成Java客户端代理类。这一步可以通过命令行或者Ant脚本完成。 3. **配置HTTPS**:在生成的客户端代码中,...

    Axis2教程和java调用webservice的各种方法总结

    - **Axis2客户端**:Axis2不仅用于服务端,还有客户端库,可以方便地从Java应用中调用Web服务。 - **Web服务的生命周期管理**:包括服务的创建、部署、测试和调试,这些过程在Axis2中都有详细的指南和支持。 - **...

    一个VB.NET图表控件及示例,包括柱状图.rar

    在"codesc.net"这个压缩包中,应该包含了VB.NET的源代码文件,这些文件展示了如何创建和使用上述图表控件的详细步骤。通过阅读和运行这些代码,开发者可以深入理解如何在自己的项目中实现类似的图表功能。 总结来说...

Global site tag (gtag.js) - Google Analytics