zoukankan      html  css  js  c++  java
  • Axis 实现的SOAP附件的传输

    主要是将附件封装在请求头中,这样子客户端只要从请求头中下载下来即可。

    package com.test.soap.hello;
    
    import java.io.File;
    import java.net.URL;
    
    import javax.activation.DataHandler;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.encoding.XMLType;
    
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory;
    import org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory;
    
    public class AxisFileTest {
    
    	public static void main(String[] args) throws Exception {
    
    		Service service = new Service();
    		Call call = (Call) service.createCall();
    
    		URL myUrl = new URL("http://192.168.1.164:1938");
    
    		call.setTargetEndpointAddress(myUrl);
    		call.setOperationName(new QName("urn:MyAttachServer", "echoDir"));
    
    		QName qnameAttachment = new QName("urn:MyAttachServer", "DataHandler");
    
    		call.registerTypeMapping(DataHandler.class, qnameAttachment,
    				JAFDataHandlerSerializerFactory.class,
    				JAFDataHandlerDeserializerFactory.class);
    		
    		call.addParameter("source", XMLType.XSD_STRING, ParameterMode.IN);
    		call.setReturnType(XMLType.SOAP_ARRAY);
    		
    		DataHandler[] ret = (DataHandler[]) call.invoke(new Object[]{null});
    		
    		for(int i = 0; i < ret.length; ++i){
    			
    			DataHandler recDH = ret[i];
    			File receivedFile = new File(recDH.getName());
    			System.out.println( i + ": " + receivedFile.getName() + "|length: " + receivedFile.length());
    		}
    		
    		
    		
    		
    
    	}
    }


  • 相关阅读:
    并行fp-growth图解(mahout)
    Sqoop的安装与使用
    深入理解Hadoop集群和网络
    datanode与namenode的通信原理
    Hadoop添加节点datanode(生产环境)
    Hadoop中HDFS工作原理
    实现hadoop中的机架感知
    hadoop集群监控工具Apache Ambari安装配置教程
    sdn测量综述
    SDN测量论文粗读(三)9.24
  • 原文地址:https://www.cnblogs.com/jingLongJun/p/4491104.html
Copyright © 2011-2022 走看看