`
conkeyn
  • 浏览: 1511999 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Axis 1.4 上传二进制文件(base64Binary)

阅读更多

服务端代码:

package samples.userguide.example5;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class BinaryServer {

	public void saveImage(String filename, byte[] image) throws IOException {
		String dir = "D:/workspace-java/axis1/web/WEB-INF/classes/samples/userguide/example5/";
		if (image != null && image.length > 0) {
			FileOutputStream output = new FileOutputStream(new File(dir
					+ filename));
			output.write(image);
			output.flush();
			output.close();
		}
	}
}

 配置deploy.wsdl文件,由于byte[]是axis默认支持的,因此不需要额外的配置。

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="BinaryServer" provider="java:RPC">
        <parameter name="className" value="samples.userguide.example5.BinaryServer"/>
        <parameter name="allowedMethods" value="*"/>
    </service>
</deployment>

运行发布描述文件命令:

D:\workspace-java\axis\web\WEB-INF>java -classpath %CLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8080/axis/services/BinaryServer deploy.wsdd
 

客户端代码:

package samples.userguide.example5;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

public class BinaryClient {
	
	public static void main(String[] args) throws ServiceException, IOException {
		String url = "http://localhost:8080/axis/services/BinaryServer";
		String dir = BinaryClient.class.getResource(".").getFile().toLowerCase();
		System.out.println(dir);
		// System.exit(0);
		FileInputStream input = new FileInputStream(new File(dir+"Desert.jpg"));
		byte [] image = new byte[input.available()];
		input.read(image);
		org.apache.axis.client.Service service = new org.apache.axis.client.Service();
		org.apache.axis.client.Call call = (Call) service.createCall();
		call.setTargetEndpointAddress(url);
		javax.xml.namespace.QName qn = new javax.xml.namespace.QName("BinaryServer","saveImage");
		call.setOperationName(qn);
		call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
		call.addParameter("arg1", org.apache.axis.encoding.XMLType.SOAP_BASE64BINARY, javax.xml.rpc.ParameterMode.IN);
		call.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);
		Object[] args1 = new Object[]{"desert1.jpg",image};
		call.invoke(args1);
		input.close();
	}
}

 运行测试,OK。确实上传成功。

 

分享到:
评论

相关推荐

    axis1.4完整包下载

    1. **Axis1.4 JAR文件**:这是核心库,包含了处理SOAP消息、WSDL(Web服务描述语言)解析、服务部署等功能的类和接口。 2. **Axis1.4工具**:这些是命令行工具,如wsdl2java和java2wsdl,用于将Java类转换为WSDL或...

    axis1.4生成客户端

    - **步骤2:启动Axis** - 运行Axis1.4的wsdl2java工具,输入WSDL文件的URL或本地路径,该工具会自动生成Java客户端代码。 - **步骤3:构建客户端代码** - 编译生成的Java源代码,然后在你的项目中引入这些类,这些...

    springboot+axis1.4

    2. **集成 Axis1.4**:首先,你需要在Spring Boot的`pom.xml`文件中添加Axis1.4的依赖。这通常意味着你需要手动添加Axis的库,因为Spring Boot默认并不包含对Axis的支持。你需要找到Axis1.4的Maven坐标,并在`...

    axis1.4帮助文档

    5. **客户端生成**:同样,Axis1.4可以从WSDL文件自动生成Java客户端代码,这使得开发者可以快速创建与Web服务交互的客户端应用程序。 6. **模块和Policy**:Axis1.4支持模块化架构,允许添加额外的功能或扩展。...

    axis1.4jar包以及WSDL和服务端代码互转方法

    当你已经有了服务端代码,例如Java类,你可以使用Axis1.4来生成相应的WSDL文件。首先,确保你的项目已经包含了Axis1.4的库,即axis1.4.jar。在Eclipse中,右键点击项目,选择"属性" -&gt; "Java构建路径" -&gt; "库",...

    Springboot集成axis1.4的demo

    以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 首先,了解 Axis1.4:Axis 是一个开源的Java Web服务框架,它允许开发者快速地创建和部署Web服务。Axis1.4是该框架的一个较老版本...

    axis1.4和axis2相关jar文件

    了解并熟练使用Axis1.4和Axis2的相关jar文件,对于开发和维护Web服务至关重要。这不仅可以帮助开发者快速构建服务,还能确保与现有系统和其他Web服务的互操作性。在实际项目中,应根据具体需求选择适合的版本,同时...

    webservice axis1.4服务实例

    4. **部署服务**:使用`wsdl2java`生成的服务骨架类,将服务部署到Axis1.4服务器上,这通常涉及修改服务配置文件(如`services.xml`)。 5. **测试服务**:创建一个客户端测试程序,使用Axis1.4的`java2wsdl`工具...

    apache axis1.4实例

    二、安装与配置Apache Axis1.4 1. 下载Apache Axis1.4的最新版本,解压缩到本地文件夹。 2. 配置环境变量,将Axis1.4的bin目录添加到PATH环境变量中。 3. 验证安装,运行`axis`命令,如果出现Axis的欢迎界面,说明...

    axis1.4学习示例(详细步骤说明)

    首先,你需要下载 Axis1.4 的二进制包,通常是 `axis-bin-1_4`,从中获取所需的 JAR 包。这些 JAR 包包含了 Axis 框架的核心组件和依赖库。确保将这些 JAR 文件复制到你的 Eclipse Web 项目的 `lib` 目录下,以便于...

    apache axis1.4 官网备份

    二、Apache Axis1.4的安装与配置 1. **下载**:尽管官网不再提供下载,但可以从第三方存储库或历史版本仓库获取Apache Axis1.4的压缩包。 2. **解压**:将下载的压缩包解压到指定目录,例如`C:\axis1.4`。 3. **...

    axis1.4 上传数据示例

    【标题】"axis1.4 上传数据示例"是一个基于Axis1.4框架的Web服务客户端和服务器端实现,用于演示如何通过编程方式上传数据。Axis1.4是Apache组织开发的一个开源SOAP(简单对象访问协议)工具包,它允许开发者创建、...

    axis1.4及webService开发教程

    总的来说,Axis1.4是Web服务开发的一个强大工具,通过本教程提供的文件和说明,开发者可以快速掌握Web服务的开发流程,无论是在服务端发布还是客户端调用,都能得心应手。在深入学习和实践过程中,还会涉及到WS-...

    axis1.4 + document/literal 实例

    在Axis 1.4中,这通常通过WSDL文件完成,WSDL描述了服务的地址、操作、输入和输出消息的格式等信息。 在客户端,开发者需要生成针对服务的代理类,这些类可以像调用本地方法一样调用Web服务。Axis 1.4提供了wsdl2...

    axis1.4 部署webservice说明

    标题和描述提到的知识点主要集中在如何使用Axis1.4来部署Web服务以及相关的文件生成过程。 1. **Axis1.4介绍**: Axis1.4是Axis版本之一,它提供了一套工具和服务,使得开发者能够方便地将Java类转换为Web服务,...

    AXIS1.4客户端调用

    7. **axislib**:在压缩包子文件的文件名称列表中提到的"axislib"可能是指Apache Axis1.4的库文件,包含了运行和调试AXIS1.4客户端所需的类库和资源。开发者需要将这些库文件加入到项目类路径中,才能正确地使用AXIS...

    在axis1.4中传递复杂类型数组参数(ArrayMapping)

    在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...

    webservice axis1.4 开发资料

    使用Axis,开发者可以自动生成WSDL文件,或者从现有的WSDL文件生成Java代码。 8. **SOAP协议**:SOAP是Web服务的基础通信协议,使用XML编码数据,通过HTTP或SMTP等传输协议进行交换。Axis1.4支持SOAP 1.1,用于封装...

    【java项目整合Axis1.4webservice搭建实例】服务端代码

    1. **安装Axis1.4**:首先需要从Apache官网下载Axis1.4的zip文件,并解压到本地目录。 2. **创建服务类**:在Java项目中编写一个包含Web服务功能的类,例如`HelloWorldService`,并使用JAX-RPC注解来指定服务接口。...

Global site tag (gtag.js) - Google Analytics