2011-09-21 31 views
0

我已經做了android系統下面的代碼連接到.NET SOAP的Web服務,但它提供了一個errorr java.net.sockettimeoutexception:未連接套接字。Ksoap2插座的Android未連接的異常與.net肥皂web服務

我的代碼

package com.hello; 

import android.app.Activity; 
import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.HttpTransportSE; 

import android.os.Bundle; 
import android.widget.TextView; 

public class HelloWorldActivity extends Activity { 
    /** Called when the activity is first created. */ 


    private static final String SOAP_ACTION = "http://tempuri.org/HelloWorld"; 
    private static final String METHOD_NAME = "HelloWorld"; 
    private static final String NAMESPACE = "http://tempuri.org/"; 
    private static final String URL = "http://x.x.x.x/HelloWebService/HelloWebService.asmx"; 
    public TextView mResult; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     setContentView(R.layout.main); 

     mResult=(TextView)findViewById(R.id.textView2); 

     try { 

      SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
      envelope.dotNet=true; 
      envelope.setOutputSoapObject(request); 

      HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
      androidHttpTransport.call(SOAP_ACTION, envelope); 

      String result=(String)envelope.getResponse(); 
      mResult.setText("Content:" +result); 

     } 
     catch (Exception e) 
     { 
      mResult.setText(e.toString()); 


     }  
     } 
    } 

請幫助我...!

+0

是您的瀏覽器在你的模擬器精細的工作? –

+1

你給互聯網的權限在Android清單文件? – Vijay

回答

3

雖然這可能是晚了一點,這是固定的對我來說:

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL,60000); 

注意第二個參數,這是超時值。

我必須承認艱難,我不知道尺度去與這個值,但我認爲這是單位爲毫秒。