即使在添加web service
文件后,我也无法呼叫kSOAP 2 library jar
。
源代码:
package com.example.web;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class MyWebCall extends Activity {
TextView tv;
String Name_Space="http://web.exampl.com/";
String Method_Name="add";
String Soap_Action="http://web.exampl.com/add";
String URL="http://MyServerIPaddress:8081/WebService/services/MyWebService?wsdl";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView)findViewById(R.id.txt);
SoapObject request=new SoapObject(Name_Space,Method_Name);
PropertyInfo pi1=new PropertyInfo();
pi1.setName("op1");
pi1.setValue(6);
pi1.setType(int.class);
request.addProperty(pi1);
PropertyInfo pi2=new PropertyInfo();
pi2.setName("op1");
pi2.setValue(9);
pi2.setType(int.class);
request.addProperty(pi2);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(URL);
try{
androidHttpTransport.call(Soap_Action,envelope);
SoapObject response=(SoapObject) envelope.getResponse();
int result=Integer.parseInt(response.getProperty(0).toString());
System.out.println("Result ::::::::::::::: "+result);
tv.setText(response.getProperty(0).toString());
Toast.makeText(getApplicationContext(), response.getProperty(0).toString(),Toast.LENGTH_SHORT).show();
}catch(Exception e){
e.printStackTrace();
}
}
}
我觉得jar中缺少几个课程。从哪里可以dwnld适当的jar文件?请帮助我。
谢谢&问候,
斯纳
答案 0 :(得分:4)
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(URL);
我已将此行更改为:
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
它运作良好。
还要感谢rekaszeru的完整包装。
答案 1 :(得分:1)
要让KSoap2在Android上运行,核心库是不够的。
您需要full package。