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

别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Android作为CXF客户端调用服务端。相关的知识,希望能为你提供帮助。
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
【Android作为CXF客户端调用服务端。】AndroidManifest.xml下添加
< uses-permission android:name="android.permission.INTERNET" />


    推荐阅读