Files
chao-ran-pdaclient/app/src/main/java/com/example/chaoran/SearchThread.java

70 lines
1.9 KiB
Java
Raw Normal View History

2020-11-10 01:45:14 +08:00
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;
/**
* 搜索线程
*/
2020-11-10 01:45:14 +08:00
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);
}
}
}