Android 使用KSOAP2插入数据

Android 使用KSOAP2插入数据,android,web-services,ksoap2,Android,Web Services,Ksoap2,单击“保存”按钮后,我无法将数据发送到数据库表中。我把信封从11版换成了12版。下面是我的代码: private static String NAMESPACE = "http://10.64.13.22/AWS/"; private static String URL = "http://10.64.13.22/AWS/Service.asmx"; private static String METHOD_NAME = "AddStaff"; String SOAP_ACTION

单击“保存”按钮后,我无法将数据发送到数据库表中。我把信封从11版换成了12版。下面是我的代码:

private static String NAMESPACE = "http://10.64.13.22/AWS/";   
private static String URL = "http://10.64.13.22/AWS/Service.asmx";
private static String METHOD_NAME = "AddStaff";    
String SOAP_ACTION = "http://10.64.13.22/AWS/AddStaff";

Button save = (Button) findViewById(R.id.savebtn);
save.setOnClickListener(new OnClickListener(){          
        @Override
        public void onClick(View v) {
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

            pid = tv.getText().toString();
            first_Name = fname.getText().toString();
            last_Name = lname.getText().toString();

            PropertyInfo idProp =new PropertyInfo();
            idProp.setName("PhoneId");
            idProp.setValue(pid);
            idProp.setType(Integer.class);
            request.addProperty(idProp);

            //Pass value for firstName variable of the web service
            PropertyInfo prop =new PropertyInfo();
            prop.setName("FirstName");
            prop.setValue(first_Name);
            prop.setType(Integer.class);
            request.addProperty(prop);

            PropertyInfo lnameProp =new PropertyInfo();
            lnameProp.setName("LastName");
            lnameProp.setValue(last_Name);
            lnameProp.setType(String.class);
            request.addProperty(lnameProp);


            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
            envelope.setOutputSoapObject(request);


            try {
                  HttpTransportSE httpTransport = new HttpTransportSE(URL);  
                  httpTransport.call(SOAP_ACTION, envelope);    
                  SoapObject result = (SoapObject)envelope.bodyIn; 

                if(result != null)
                {
                    //Intent next = new Intent (getApplicationContext(), MainActivity.class);
                    //startActivity(next);
                }
                else
                {
                      Toast.makeText(getApplicationContext(), "ERROR",Toast.LENGTH_LONG).show();
                }
            } catch (Exception e) {
                e.printStackTrace();
                }
        }            
    }); 
POST/AWS/Service.asmx HTTP/1.1
主持人:10.64.13.22
内容类型:text/xml;字符集=utf-8
内容长度:长度
SOAPAction:“http://tempuri.org/AddStaff"
一串
一串
一串
一串
一串
一串
一串
下面是我的日志:

08-14 18:13:57.871: W/System.err(10219): android.os.NetworkOnMainThreadException
08-14 18:13:57.901: W/System.err(10219):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1166)
08-14 18:13:57.901: W/System.err(10219):    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
08-14 18:13:57.901: W/System.err(10219):    at libcore.io.IoBridge.connectErrno(IoBridge.java:144)
08-14 18:13:57.901: W/System.err(10219):    at libcore.io.IoBridge.connect(IoBridge.java:112)
08-14 18:13:57.911: W/System.err(10219):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
08-14 18:13:57.911: W/System.err(10219):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
08-14 18:13:57.911: W/System.err(10219):    at java.net.Socket.connect(Socket.java:843)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.Platform.connectSocket(Platform.java:131)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.Connection.connect(Connection.java:101)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
08-14 18:13:57.911: W/System.err(10219):    at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
08-14 18:13:57.921: W/System.err(10219):    at org.ksoap2.transport.ServiceConnectionSE.openOutputStream(ServiceConnectionSE.java:126)
08-14 18:13:57.921: W/System.err(10219):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:179)
08-14 18:13:57.921: W/System.err(10219):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
08-14 18:13:57.921: W/System.err(10219):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)
08-14 18:13:57.921: W/System.err(10219):    at com.nfc.attendance.SignUpActivity$2.onClick(SignUpActivity.java:166)
08-14 18:13:57.921: W/System.err(10219):    at android.view.View.performClick(View.java:4640)
08-14 18:13:57.921: W/System.err(10219):    at android.view.View$PerformClick.run(View.java:19431)
08-14 18:13:57.921: W/System.err(10219):    at android.os.Handler.handleCallback(Handler.java:733)
08-14 18:13:57.921: W/System.err(10219):    at android.os.Handler.dispatchMessage(Handler.java:95)
08-14 18:13:57.921: W/System.err(10219):    at android.os.Looper.loop(Looper.java:146)
08-14 18:13:57.921: W/System.err(10219):    at android.app.ActivityThread.main(ActivityThread.java:5598)
08-14 18:13:57.921: W/System.err(10219):    at java.lang.reflect.Method.invokeNative(Native Method)
08-14 18:13:57.931: W/System.err(10219):    at java.lang.reflect.Method.invoke(Method.java:515)
08-14 18:13:57.931: W/System.err(10219):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
08-14 18:13:57.931: W/System.err(10219):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
08-14 18:13:57.931: W/System.err(10219):    at dalvik.system.NativeStart.main(Native Method)  

请看以下内容:从Android应用程序调用ASP.NET Web服务(ASMX),这是最简单的方法


无法在主线程上运行网络

使用asynctask运行soap请求