如何在Android中创建登录页面。(使用ksoap2 web服务sharepoint)

如何在Android中创建登录页面。(使用ksoap2 web服务sharepoint),android,web-services,ksoap2,Android,Web Services,Ksoap2,我是Android新手。我试图创建登录页面,但总是出错。 import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.app.Ac

我是Android新手。我试图创建登录页面,但总是出错。

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class Main extends Activity {

    private final String NAMESPACE = "http://schemas.microsoft.com/sharepoint/soap/";
    private final String URL = "http://ipaddress/_vti_bin/authentication.asmx?WSDL";

    String username;
    String password;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button signin = (Button) findViewById(R.id.regsubmitbtn);
        signin.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
                username = etxt_user.getText().toString();
                EditText etxt_password = (EditText)  findViewById(R.id.pwdeditlog);
                password = etxt_password.getText().toString();
                Login(username,password);
            }
        });   
    }
    private void Login(String user, String pass) {   


        final String SOAP_ACTION = "http://schemas.microsoft.com/sharepoint/soap/Login";
        final String METHOD_NAME = "Login";     
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("username",user);
        request.addProperty("password",pass);
        SoapSerializationEnvelope envelope = new   SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true; 
        envelope.setOutputSoapObject(request);
        System.out.println(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Intent i = new Intent(Main.this,List.class);
            startActivity(i);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

}
我添加了ksoap2.java和互联网权限。

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class Main extends Activity {

    private final String NAMESPACE = "http://schemas.microsoft.com/sharepoint/soap/";
    private final String URL = "http://ipaddress/_vti_bin/authentication.asmx?WSDL";

    String username;
    String password;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button signin = (Button) findViewById(R.id.regsubmitbtn);
        signin.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
                username = etxt_user.getText().toString();
                EditText etxt_password = (EditText)  findViewById(R.id.pwdeditlog);
                password = etxt_password.getText().toString();
                Login(username,password);
            }
        });   
    }
    private void Login(String user, String pass) {   


        final String SOAP_ACTION = "http://schemas.microsoft.com/sharepoint/soap/Login";
        final String METHOD_NAME = "Login";     
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("username",user);
        request.addProperty("password",pass);
        SoapSerializationEnvelope envelope = new   SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true; 
        envelope.setOutputSoapObject(request);
        System.out.println(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Intent i = new Intent(Main.this,List.class);
            startActivity(i);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

}
这是我的代码。

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class Main extends Activity {

    private final String NAMESPACE = "http://schemas.microsoft.com/sharepoint/soap/";
    private final String URL = "http://ipaddress/_vti_bin/authentication.asmx?WSDL";

    String username;
    String password;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button signin = (Button) findViewById(R.id.regsubmitbtn);
        signin.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
                username = etxt_user.getText().toString();
                EditText etxt_password = (EditText)  findViewById(R.id.pwdeditlog);
                password = etxt_password.getText().toString();
                Login(username,password);
            }
        });   
    }
    private void Login(String user, String pass) {   


        final String SOAP_ACTION = "http://schemas.microsoft.com/sharepoint/soap/Login";
        final String METHOD_NAME = "Login";     
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("username",user);
        request.addProperty("password",pass);
        SoapSerializationEnvelope envelope = new   SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true; 
        envelope.setOutputSoapObject(request);
        System.out.println(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Intent i = new Intent(Main.this,List.class);
            startActivity(i);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

}
当单击登录按钮时,该按钮必须更改为其他页面,但出现错误。

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class Main extends Activity {

    private final String NAMESPACE = "http://schemas.microsoft.com/sharepoint/soap/";
    private final String URL = "http://ipaddress/_vti_bin/authentication.asmx?WSDL";

    String username;
    String password;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button signin = (Button) findViewById(R.id.regsubmitbtn);
        signin.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
                username = etxt_user.getText().toString();
                EditText etxt_password = (EditText)  findViewById(R.id.pwdeditlog);
                password = etxt_password.getText().toString();
                Login(username,password);
            }
        });   
    }
    private void Login(String user, String pass) {   


        final String SOAP_ACTION = "http://schemas.microsoft.com/sharepoint/soap/Login";
        final String METHOD_NAME = "Login";     
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("username",user);
        request.addProperty("password",pass);
        SoapSerializationEnvelope envelope = new   SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true; 
        envelope.setOutputSoapObject(request);
        System.out.println(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Intent i = new Intent(Main.this,List.class);
            startActivity(i);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

}
谢谢你的帮助。

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class Main extends Activity {

    private final String NAMESPACE = "http://schemas.microsoft.com/sharepoint/soap/";
    private final String URL = "http://ipaddress/_vti_bin/authentication.asmx?WSDL";

    String username;
    String password;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button signin = (Button) findViewById(R.id.regsubmitbtn);
        signin.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
                username = etxt_user.getText().toString();
                EditText etxt_password = (EditText)  findViewById(R.id.pwdeditlog);
                password = etxt_password.getText().toString();
                Login(username,password);
            }
        });   
    }
    private void Login(String user, String pass) {   


        final String SOAP_ACTION = "http://schemas.microsoft.com/sharepoint/soap/Login";
        final String METHOD_NAME = "Login";     
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("username",user);
        request.addProperty("password",pass);
        SoapSerializationEnvelope envelope = new   SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true; 
        envelope.setOutputSoapObject(request);
        System.out.println(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Intent i = new Intent(Main.this,List.class);
            startActivity(i);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }

}

这是我的错误日志。请帮助

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
at com.app.jobrequest.Main.Login(Main.java:45)
at com.app.jobrequest.Main.access$0(Main.java:40)
at com.app.jobrequest.Main$1.onClick(Main.java:36)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.langreflect.Method.invokeNative(Native Method)
at java.land.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStrat.main(Native Method)
从URL中删除“?WSDL”。如果您仍然有问题,请更新您的帖子,并提供您收到的错误消息的更多详细信息

private final String URL = "http://ipaddress/_vti_bin/authentication.asmx";

您能发布收到的错误消息吗?您是在使用url,还是使用真实的ip地址而不是ip地址这是一个错误“应用程序JobRequest(process com.app.JobRequest)意外停止。请重试。”并在弹出窗口上运行。jobrequest是我的项目名称。我忘了告诉你。web服务在我的计算机上。“ipaddress/_vti_bin/authentication.asmx?WSDL”我在上面使用我的ip地址。