package com.rockcheck.mes;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast; import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.*;
import org.ksoap2.transport.HttpTransportSE; public class PDAActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pda_home);
} //点击按钮事件调用异步
public void webQuery (View view){
new DownloadTask().execute();
} //
public Object web (){
Object result=null;
String asmx_url="http://xxx/Service1.asmx";
String nameSpace="http://tempuri.org/";
String methodName="xxx"; //指定webservice的命名空间和调用方法
SoapObject soapObject = new SoapObject(nameSpace,methodName);
//设置需要调用的webServices接口需要传入的参数,参数1 string,参数2 object
soapObject.addProperty("aaa",null);
//调用webService方法的SOAP请求信息,并指定SOAP的版本 ,这个版本 根据 asdl文件中是1.1还是1.2协议来指定的. 一般VER11或者VER12都可以,以前还有VER10
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
//创建的SoapObject对象设为SoapSerializationEnvelope的传出SOAP消息体
envelope.bodyOut = soapObject;
//设置是否调用的是dotNet开发的webService
envelope.dotNet = true;
//创建HttpTransportSE对象,该对象用于调用webService操作
HttpTransportSE transportSE = new HttpTransportSE(asmx_url);
//使用调试功能
transportSE.debug = true;
try {
//调用操作对象call方法,将SoapSerializationEnvelope作为参数调用远程webService
transportSE.call(nameSpace+methodName,envelope);
result = (Object) envelope.bodyIn;
//result = (Object) envelope.getResponse();
} catch (Exception e) {
e.printStackTrace();
}
//Toast.makeText(this, result.toString(), Toast.LENGTH_SHORT).show();
return result;
} //
class DownloadTask extends AsyncTask<Void,Integer,Boolean> {
Object result=null;
@Override
protected Boolean doInBackground(Void... voids) {
result = web(); //在子线程中请求webservice
return null;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
Toast.makeText(PDAActivity.this, result.toString(), Toast.LENGTH_SHORT).show();
}
}
}

最新文章

  1. yii2的form表单样式怎么灵活控制呢?
  2. HA模式手动切换namenode状态
  3. 随机数是骗人的,.Net、Java、C为我作证
  4. Lumia 830 win10m 启用触摸按键
  5. 尝试在virtualbox fedora21 下安装additions和mount share folder
  6. CDNJS:使用JavaScript CDN加速网站载入速度
  7. Python基础 第一天
  8. Xdebug的安装与使用
  9. HDU 4611Balls Rearrangement(思维)
  10. Intellij Idea 创建Web项目入门(一)转
  11. 【Android 错误记录】Conversion to Dalvik format failed with error 1 错误
  12. 顺为资本CEO许达来:为什么说中国创业者很幸福?(附PPT)
  13. UIViewController XIB/NIB加载过程
  14. Photon的使用
  15. 第2次作业 -- 熟悉 JUnit 测试
  16. Perfect hashing (And Minimal perfect hashing)
  17. Kubernetes学习之路(二十三)之资源指标和集群监控
  18. Git补充命令行操作操作
  19. 8、RabbitMQ-消息的确认机制(生产者)
  20. 16、xtrabackup 增量备份及恢复

热门文章

  1. 【转】Spring, MyBatis 多数据源的配置和管理
  2. 一张图看懂苹果MacBook所有屏幕分辨率
  3. python之set (集合)
  4. jQuery和CSS的拍摄效果
  5. EF关于报错Self referencing loop detected with type的原因以及解决办法
  6. 把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一
  7. 导出Excel插件——Export-CSV ---20150610
  8. mysql 备份解密脚本
  9. Git学习——版本切换
  10. numpy split()