面对Java.net.SocketException:权限被拒绝

时间:2013-02-10 11:27:32

标签: android

我在LogCat中没有错误。代码中显示的ip是localhost ip地址。我的AVD有互联网可用性。

我的MainActivity.java是:

公共类MainActivity扩展了Activity {

private static final String SOAP_ACTION = "http://tempuri.org/add";
private static final String METHOD_NAME = "add";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://101.63.111.137/yash/DemoService.asmx";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Button callMe = (Button) findViewById(R.id.b1);
    callMe.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            String responseData = getData();
            ((TextView) findViewById(R.id.textView1)).setText("Response Received is: " + responseData);
        }

    });

}

private String getData() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

    PropertyInfo pi = new PropertyInfo();
    pi.setName("i");
    pi.setValue(((EditText) findViewById(R.id.e1)).getText().toString());
    pi.setType(int.class);
    request.addProperty(pi);

    PropertyInfo pi2 = new PropertyInfo();
    pi2.setName("j");
    pi2.setValue(((EditText) findViewById(R.id.e2)).getText().toString());
    pi2.setType(int.class);
    request.addProperty(pi2);

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

    HttpTransportSE androidHttpTransport=new HttpTransportSE(URL);
    try {
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        return response.toString();
    } catch (Exception e) {
        e.printStackTrace();
        return e.toString();
    }
}

}

我在AndroidManifest.xml中添加了这些行

提前致谢。

1 个答案:

答案 0 :(得分:2)

您是否已为您的Manifest添加了INTERNET_ACCESS权限?

 <manifest xlmns:android...>
   ...
   <uses-permission android:name="android.permission.INTERNET"></uses-permission>
 </manifest>

SocketException