大家好,我在使用kso​​ap2时遇到了一些问题。

我使用kso​​ap与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/

10-11 22:33
查看更多