2013-01-24 87 views
1

我已经在andoird清单页面中包含了Internet Permissions,仍然错误仍然存​​在。我也在类似的代码中收到了一个未知的宿主激励。请引导我!泰! :)如何解决java.net.SocketException权限被拒绝的错误?

package name.id; 

import android.app.Activity; 
import android.content.DialogInterface.OnClickListener; 
import android.os.Bundle; 
import org.ksoap2.*; 
import org.ksoap2.serialization.*; 
import org.ksoap2.transport.*; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class FirstPage extends Activity implements android.view.View.OnClickListener 
{ 
    /** Called when the activity is first created. */ 

    TextView tv; 
    Button bu; 
    EditText et; 

    private static final String SOAP_ACTION="http://lthed.com/GetFullNamefromUserID"; 
    private static final String METHOD_NAME="GetFullNamefromUserID"; 
    private static final String NAMESPACE="http://lthed.com"; 
    private static final String URL="http://vpwdvws09/services/DirectoryService.asmx"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     et=(EditText) findViewById(R.id.editText1); 
     tv=(TextView) findViewById(R.id.textView2); 
     bu=(Button) findViewById(R.id.button1); 
     bu.setOnClickListener((android.view.View.OnClickListener) this); 
     tv.setText(""); 
    } 

    public void onClick(View v) 
    {   
     // creating the soap request and all its paramaters 
     SoapObject request= new SoapObject(NAMESPACE, METHOD_NAME); 
     //request.addProperty("ID","89385815");// hardcoding some random value 
     //we can also take in a value in a var and pass it there 


     //set soap envelope,set to dotnet and set output 
     SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     soapEnvelope.dotNet=true; 
     soapEnvelope.setOutputSoapObject(request); 

     HttpTransportSE obj = new HttpTransportSE(URL); 
     //to make call to server 
     try 
     { 
      obj.call(SOAP_ACTION,soapEnvelope);// in out parameter 
      SoapPrimitive resultString=(SoapPrimitive)soapEnvelope.getResponse(); 
      //soapObject or soapString 
      tv.setText("Status : " + resultString); 
     } 
     catch(Exception e) 
     { 
      tv.setText("Error : " + e.toString()); 
      //e.printStackTrace(); 
     } 

} 
} 

回答

1

错误被抛出,因为在网址中出现错误。 URL需要我的IP地址才能正常工作,而不是我提供的URL,因为Web服务无法理解。

2

你有没有加入上网权限您的清单:

<uses-permission android:name="android.permission.INTERNET"/> 
+0

是的!就像我一样,我也在清单页面中添加了互联网权限。它似乎仍在抛出一个错误。还是要谢谢你的帮助! –

0

取决于您使用的KSOAP2版本错误可能会有所不同。

其推荐使用KSOAP2 v3 + lib。

只需使用下面的代码重写......

StrictMode.ThreadPolicy政策=新StrictMode.ThreadPolicy.Builder()permitAll()建()。 StrictMode.setThreadPolicy(policy);

并且还使用...

相关问题