大家好,我在使用ksoap2时遇到了一些问题。
我使用ksoap与Web服务进行通信,但是它给了我以下错误,请帮助朋友..因为我是Android的新手。代码和异常日志目录如下。它给了我代码中try
块第一行的异常。
请看一下并提供帮助
代码是...
/***********************************************
/PRIVATE DATA MEMBERS
/***********************************************/
private static EditText userName;
private static EditText password;
private static Button submit;
private static TextView tv;
private final String SOAP_ACTION = "action";
private final String METHOD_NAME = "login";
private final String NAMESPACE = "namspace";
private final String URL = "url";
private Object resultRequestSOAP = null;
/***********************************************
/OVERRIDDEN METHODS
/***********************************************/
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
userName = (EditText) findViewById(R.id.user);
password = (EditText) findViewById(R.id.pass);
tv = (TextView) findViewById(R.id.result);
submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(this);
//SoapObject abc = new SoapObject();
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.submit:
System.out.println("At start");
SoapObject userRequest=new SoapObject(NAMESPACE, METHOD_NAME);
String email = userName.getText().toString();
String pass = password.getText().toString();
userRequest.addProperty("email", email); // login-account
userRequest.addProperty("password", pass); // login-password
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("UserLogin", userRequest); // login-account
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
try {
Object result=envelope.getResponse();
SoapObject resp=(SoapObject) result;
System.out.println(resp.getProperty("result"));
String[] results = (String[]) resultRequestSOAP;
System.out.println("***********"+results[0]);
tv.setText( results[0]);
} catch (Exception aE) {
System.out.println("in catch");
aE.printStackTrace();
}
System.out.println("M At END");
break;
}
}
错误日志CAT IS ..
05-10 16:16:22.861:WARN / System.err(312):java.lang.NullPointerException
05-10 16:16:22.881:WARN / System.err(312):at org.ksoap2.serialization.SoapSerializationEnvelope.getResponse(SoapSerializationEnvelope.java:513)
05-10 16:16:22.881:WARN / System.err(312):at org.test.FiNear.myFiNear.onClick(myFiNear.java:82)
05-10 16:16:22.891:WARN / System.err(312):at android.view.View.performClick(View.java:2408)
05-10 16:16:22.891:WARN / System.err(312):at android.view.View $ PerformClick.run(View.java:8816)
05-10 16:16:22.903:WARN / System.err(312):位于android.os.Handler.handleCallback(Handler.java:587)
05-10 16:16:22.903:WARN / System.err(312):位于android.os.Handler.dispatchMessage(Handler.java:92)
05-10 16:16:22.911:WARN / System.err(312):at android.os.Looper.loop(Looper.java:123)
05-10 16:16:22.911:WARN / System.err(312):在android.app.ActivityThread.main(ActivityThread.java:4627)
05-10 16:16:22.921:WARN / System.err(312):at java.lang.reflect.Method.invokeNative(本机方法)
05-10 16:16:22.951:WARN / System.err(312):at java.lang.reflect.Method.invoke(Method.java:521)
05-10 16:16:22.951:WARN / System.err(312):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
05-10 16:16:22.951:WARN / System.err(312):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-10 16:16:22.951:WARN / System.err(312):在dalvik.system.NativeStart.main(本机方法)
**
最佳答案
SoapObject userRequest=new SoapObject(NAMESPACE, METHOD_NAME);
String email = userName.getText().toString();
String pass = password.getText().toString();
userRequest.addProperty("email", email); // login-account
userRequest.addProperty("password", pass); // login-password
request.addProperty("UserLogin", userRequest); // login-account
您正在提出两个请求?是一个,或者如果您和您需要打两个电话
关于android - Android中的ksoap2中的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5948676/