70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
package com.example.chaoran;
|
|
|
|
import org.ksoap2.SoapEnvelope;
|
|
import org.ksoap2.serialization.SoapObject;
|
|
import org.ksoap2.serialization.SoapSerializationEnvelope;
|
|
import org.ksoap2.transport.HttpTransportSE;
|
|
import com.sys.SysData;
|
|
|
|
import android.os.Handler;
|
|
import android.os.Message;
|
|
import android.util.Log;
|
|
|
|
/**
|
|
* 搜索线程
|
|
*/
|
|
public class SearchThread extends Thread {
|
|
private String fangalx;
|
|
private String functionname;
|
|
private Handler handler;
|
|
private int type;// 0 表示检索方案 1表示 页面修改方案,2表示提取方案
|
|
|
|
public SearchThread(String fangalx, String functionname, Handler handler,
|
|
int type) {
|
|
this.fangalx = fangalx;
|
|
this.functionname = functionname;
|
|
this.handler = handler;
|
|
this.type = type;
|
|
}
|
|
|
|
public void run() {
|
|
super.run();
|
|
Log.v("SearchThread", "run执行");
|
|
try {
|
|
String url = SysData.url
|
|
+ "/webservice/ServiceInterface?wsdl";
|
|
String method = null;
|
|
if (type == 0) {
|
|
method = "queryZdysql";
|
|
} else if(type==1) {
|
|
method = "selectYmupSql";
|
|
}else if(type==2) {
|
|
method = "selectDjtqFun";
|
|
}
|
|
SoapObject rpc = new SoapObject("", method);
|
|
rpc.addProperty("fangalx", fangalx);
|
|
rpc.addProperty("functionname", functionname);
|
|
HttpTransportSE ht = new HttpTransportSE(url,SysData.timeout);
|
|
ht.debug = true;
|
|
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
|
|
SoapEnvelope.VER11);
|
|
envelope.bodyOut = rpc;
|
|
envelope.dotNet = true;
|
|
envelope.setOutputSoapObject(rpc);
|
|
ht.call("", envelope);
|
|
if (envelope.getResponse() != null) {// 判断是否返回结果,因为我这个是一个查询操作,是带有返回值的。
|
|
Message msg = new Message();
|
|
msg.obj = org.kobjects.base64.Base64.decode(envelope
|
|
.getResponse().toString());
|
|
msg.arg1 = type;
|
|
handler.sendMessage(msg);
|
|
}
|
|
} catch (Exception e) {
|
|
Message msg = new Message();
|
|
msg.what = -1;
|
|
msg.obj = e.toString();
|
|
handler.sendMessage(msg);
|
|
}
|
|
}
|
|
}
|