/*
* webservices工具类
* */
public class WSUtils {
public WSUtils() {
}
/**
* @param nameSpace ws的命名空间
* @param methodName 方法名称
* @param params 方法参数
* @param wsdl ws的url地址
* @return SoapObject 返回的数据
*/
public static SoapObject callWS(String nameSpace, String methodName,
Map params, String wsdl) {
final String SOAP_ACTION=nameSpace+methodName;
SoapObject request = new SoapObject(nameSpace, methodName);
SoapObject soapResult=null;
if(params !=null && !params.isEmpty()){
for(Iterator it=params.entrySet().iterator();it.hasNext();){
//遍历MAP
Map.Entry<String, Object> e=(Map.Entry<String, Object>) it.next();
request.addProperty(e.getKey().toString(),e.getValue());
}
}
/**
* 设置Soap版本
* 类型:VER1.0,VER1.1,VER1.2
*/
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);// SOAP 1.1
envelope.dotNet=true;//是否是dotNet WebService
envelope.bodyOut = request;
//HttpTransportSE ht = new HttpTransportSE(wsdl);
AndroidHttpTransport androidHT=new AndroidHttpTransport(wsdl);
try {
// ht.call(SOAP_ACTION, envelope);
androidHT.call(SOAP_ACTION,envelope);
} catch (IOException e) {
Log.e("IOException:", e.getMessage());
} catch (XmlPullParserException e1) {
Log.e("XmlPullParserException", e1.getMessage());
}
try {
soapResult=(SoapObject)envelope.getResponse();
} catch (SoapFault e) {
Log.e("SoapFault",e.getMessage());
}
return soapResult;
}
}
//调用webservices
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("theCityName", peoples[position]);
String wsdl = "webservice的wsdl地址";
String nameSpace = "wsdl中的namespace";
String methodName = "方法名";//
SoapObject results = WSUtils.callWS(nameSpace, methodName, params, wsdl);
浙公网安备 33010602011771号