Android作为CXF客户端调用服务端。
16lz
2021-01-23
1 加载jar
下载jar包,放在libs下
通过Project Structure添加jar依赖
成功后就会在build.gradle下添加
代码
final static String SERVICE_NS = "http://ws.service.mService.et.cn/"; final static String SERVICE_URL = "http://192.168.9.59:8080/DSer/service/SysService?WSDL"; private EditText txt1; private EditText txt2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //注意下面两行 StrictMode.ThreadPolicy policy= new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); setContentView(R.layout.activity_cxf); Button button = findViewById(R.id.cxf_button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Toast.makeText(CxfActivity.this,"ceshi",Toast.LENGTH_LONG).show(); getCxf(); } }); txt1 = findViewById(R.id.cxf_EditText1); txt2 = findViewById(R.id.cxf_EditText2); } public void getCxf() { //调用的方法 String methodName = "getEtUser"; //创建httpTransportSE传输对象 HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); ht.debug = true; //使用soap1.1协议创建Envelop对象 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //实例化SoapObject对象 SoapObject request = new SoapObject(SERVICE_NS, methodName); /** * 设置参数,参数名不一定需要跟调用的服务器端的参数名相同,只需要对应的顺序相同即可 * */ request.addProperty("userName", "000"); //将SoapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息 envelope.bodyOut = request; try{ //调用webService ht.call(null, envelope); //txt1.setText("看看"+envelope.getResponse()); if(envelope.getResponse() != null){ txt2.setText("有返回"); SoapObject result = (SoapObject) envelope.bodyIn; SoapObject soap = (SoapObject) result.getProperty(0); //这个例子是返回一个对象。 String name =soap.getProperty("name").toString(); String userName =soap.getProperty("userName").toString(); String department =soap.getProperty("department").toString(); txt1.setText("返回值 = "+ name+ " "+userName + " " +department); }else{ txt2.setText("无返回"); } }catch (Exception e) { e.printStackTrace(); } }
AndroidManifest.xml
AndroidManifest.xml下添加
更多相关文章
- Android客户端与服务端交互-客户端GET方式登录和客户端POST方式
- android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
- 推荐几个比较好的android客户端开发教程
- 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(三
- 新浪微博Android客户端学习记录四:完成OAuth认证
- 《新浪微博Android客户端开发完整视频 Touch Android版》
- Android客户端接收来自Faye的消息推送
- 人人网官方Android客户端源码分析(1)