`
hufeng
  • 浏览: 101159 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

webService客户端传xml请求 直接main方法运行

阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpResponseException;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;


public class WebServiceUtils {
	// public static final String WebServiceNamespace
	// ="http://WebXml.com.cn/";//http://webservice.keResource.fai.sysware.com";//地址
	// public static final String WebAddress =
	// "http://192.168.145.110:80/sysware/services/KeResourceWS?wsdl";//地址
	public static Object callWebservice(String WebServiceNamespace, String WebServiceUrl, String method,
			String[] params, Object[] values) throws HttpResponseException, IOException, XmlPullParserException {
		Object result = null;

		SoapObject rpc = new SoapObject(WebServiceNamespace, method);
		if (params != null) {
			for (int i = 0; i < params.length; i++)
				rpc.addProperty(params[i], values[i]);
		}
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
		envelope.bodyOut = rpc;
		envelope.dotNet = true;
		envelope.setOutputSoapObject(rpc);

		HttpTransportSE ht = new HttpTransportSE(WebServiceUrl, 1000);
		ht.debug = false;

		String SOAP_ACTION = WebServiceNamespace + method;
		ht.call(SOAP_ACTION, envelope);
		result = envelope.getResponse();
		if (result != null) {
			return result;
		} else {
			return null;
		}

	}
	public static void main(String[] args) {
		String nameSp = "http://www.teamcenter.com/webservice";
		String webUrl = "http://tshserver:8080/ws";
		String method = "createBOMRequest";
		String xml = getXmlString("C:\\test1.xml");
		String para = "xmlString";
		try {
			Object resultObject = callWebservice(nameSp,webUrl,method,new String[]{para},new Object[]{xml});
			SoapPrimitive result = (SoapPrimitive) resultObject;
			System.out.println("result=====" + result);
		} catch (IOException | XmlPullParserException e) {
			e.printStackTrace();
		}
	}
	public static String getXmlString(String path) {
		String xml="";
		try {
			FileInputStream fis = new FileInputStream(new File(path));
			SAXReader reader = new SAXReader();
			Document document = reader.read(fis);
			xml= document.asXML();  
		} catch (Exception e) {
			e.printStackTrace();
		}
		return xml;
	}

}
分享到:
评论

相关推荐

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

    当客户端程序访问远程方法前或当服务端程序能够接收一个请求前,必须先将这个运行环  境变量初始化。在2.x版中新增了3个函数来负责这些事情:  函数 解释  soap_init(struct soap *soap) 初始化环境变量(只需...

    net学习笔记及其他代码应用

    要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 37.String s = new String(\"xyz\");创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。...

    最新Java面试宝典pdf版

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java面试笔试资料大全

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java面试宝典2010版

    抽象类中是否可以有静态的main方法? 21、写clone()方法时,通常都有一行代码,是什么? 22、面向对象的特征有哪些方面 23、java中实现多态的机制是什么? 24、abstract class和interface有什么区别? 25、...

    JAVA面试宝典2010

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java面试宝典-经典

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    java面试题大全(2012版)

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java面试宝典2012版

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么...

    java面试宝典2012

    抽象类中是否可以有静态的main方法? 16 21、写clone()方法时,通常都有一行代码,是什么? 16 22、面向对象的特征有哪些方面 17 23、java中实现多态的机制是什么? 18 24、abstract class和interface有什么区别? ...

    Java面试宝典2012新版

    抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...

    Java 面试宝典

    抽象类中是否可以有静态的 main 方法? ...................... 16 21、写 clone()方法时,通常都有一行代码,是什么? ............................................. 16 22、面向对象的特征有哪些方面 ..........

Global site tag (gtag.js) - Google Analytics