java.net.SocketException:协议不支持的地址族

在android中我收到以下错误:

NativeStart.main(String [])行:不可用[native method]

我的代码试图使用webservices:

import java.io.IOException; import android.app.Activity; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import org.xmlpull.v1.XmlPullParserException; import android.app.*; import android.content.Context; import android.os.*; import android.widget.TextView; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class Project_InvokeServiceActivity extends Activity { /** Called when the activity is first created. */ private static final String SOAP_ACTION = "http://tempuri.org/userg"; private static final String METHOD_NAME = "userg"; private static final String NAMESPACE = "http://tempuri.org/"; private static final String URL = "https://amaman.NewService/Permissions.asmx"; // TextView tv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // tv=(TextView)findViewById(R.id.text1); // call(); TextView tv = new TextView(this); SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("username", "222222"); request.addProperty("ID", "123"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); setContentView(tv); try { HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); tv.setText("t"); ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null && netInfo.isConnectedOrConnecting()) { tv.setText("connected"+netInfo.getExtraInfo()); } else{ tv.setText("not conn"); } try{ androidHttpTransport.call(SOAP_ACTION, envelope); tv.setText("t1"); }catch(Exception e){ //tv.setText(e.getClass().getName()); } // tv.setText("inside2"); Object result = (Object)envelope.getResponse(); } catch (Exception e2) { // TODO Auto-generated catch block //e.printStackTrace(); TextView tv5 = new TextView(this); //tv3.setText(e1.getMessage()); // tv.setText(result.toString()); tv5.setText("exception"+e2.getClass()+"xxx"); setContentView(tv); } // tv.setText(result.toString()); // tv.setText("inside"); // setContentView(tv); } 

我的程序正在连接到互联网….但它在下面的行中抛出exception:

 androidHttpTransport.call(SOAP_ACTION, envelope); 

和exceptionmessege是NULL。 传递的所有参数都是正确的.AndroidManifest.xml也没关系。

在Log Cat中我收到此exception:java.net.SocketException:协议不支持的地址族

尝试将此添加到AndroidManifest.xml:

  

您还需要捕获此exception:

  catch(SocketException ex) { Log.e("Error : " , "Error on soapPrimitiveData() " + ex.getMessage()); ex.printStackTrace(); }