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;
}
}
分享到:
相关推荐
当客户端程序访问远程方法前或当服务端程序能够接收一个请求前,必须先将这个运行环 境变量初始化。在2.x版中新增了3个函数来负责这些事情: 函数 解释 soap_init(struct soap *soap) 初始化环境变量(只需...
要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 37.String s = new String(\"xyz\");创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 21、写clone()方法时,通常都有一行代码,是什么? 22、面向对象的特征有哪些方面 23、java中实现多态的机制是什么? 24、abstract class和interface有什么区别? 25、...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么...
抽象类中是否可以有静态的main方法? 16 21、写clone()方法时,通常都有一行代码,是什么? 16 22、面向对象的特征有哪些方面 17 23、java中实现多态的机制是什么? 18 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的main方法? 15 21、写clone()方法时,通常都有一行代码,是什么? 15 22、面向对象的特征有哪些方面 15 23、java中实现多态的机制是什么? 17 24、abstract class和interface有什么区别? ...
抽象类中是否可以有静态的 main 方法? ...................... 16 21、写 clone()方法时,通常都有一行代码,是什么? ............................................. 16 22、面向对象的特征有哪些方面 ..........