文档章节

Android作为CXF客户端调用服务端。

o
 osc_aazzok95
发布于 07/04 07:51
字数 310
阅读 21
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

1 加载jar

下载jar包,放在libs下
Android作为CXF客户端调用服务端。

通过Project Structure添加jar依赖
Android作为CXF客户端调用服务端。

成功后就会在build.gradle下添加
Android作为CXF客户端调用服务端。

代码

    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下添加

<uses-permission android:name="android.permission.INTERNET" />
o
粉丝 0
博文 72
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
642
1
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
6.3K
8
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.2K
1
DNS 管理系统--NamedManager

NamedManager 是一个基于 Web 的 DNS 管理系统,可用来添加、调整和删除 DNS 的 zones/records 数据,支持 Bind 作为后端的 DNS 服务,支持 IPv4 和 IPv6。...

匿名
2013/01/23
8.7K
0
Android3D应用与游戏开发框架--JQGL

JQGL 是一款针对Android设备上3D应用、游戏的开发框架。 核心功能是OpenGL-ES的使用框架,相对于大部分开发者而已,OpenGL是陌生的,没有专门研究无法进行相关的开发。 本框架针对于Android...

Jping
2013/02/21
1.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

禁用win10无用服务,提高Win10系统游戏性能!

长按二维码关注网络杀手 分享有态度的最好应用 分享干货满的学习教程 网络杀手 公众号的发展离不开大家的支持,非常感谢各位的关注!小编以后会继续努力加油,为大家分享更多更好的教程和应用...

whiteshds
今天
5
0
聊聊dubbo-go的forkingCluster

序 本文主要研究一下dubbo-go的forkingCluster forkingCluster dubbo-go-v1.4.2/cluster/cluster_impl/forking_cluster.go type forkingCluster struct{}const forking = "forking"func......

go4it
今天
13
0
如何在Vim中进行不区分大小写的搜索 - How to do case insensitive search in Vim

问题: I'd like to search for an upper case word, for example COPYRIGHT in a file. 我想搜索大写单词,例如文件中的COPYRIGHT。 I tried performing a search like: 我尝试过执行搜索:......

富含淀粉
今天
17
0
Flutter+FaaS一体化任务编排的思考与设计

简介: 闲鱼flutter faas一体化提升研发体验+研发质量 作者:闲鱼技术-古风 Flutter+Serverless三端一体研发架构,客户端不仅仅是编写双端的代码,而是扩展了客户端的工作边界,形成完整的业...

一肥仔
今天
21
0
lodash和下划线之间的差异[关闭] - Differences between lodash and underscore [closed]

问题: Why would someone prefer either the lodash.js or underscore.js utility library over the other? 为什么有人更喜欢lodash.js或underscore.js实用程序库而不是另一个? Lodash see......

fyin1314
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部