【问题标题】:httpTransport.call(SOAP_ACTION, envelope); Throwing null exception AndroidhttpTransport.call(SOAP_ACTION, 信封);抛出空异常Android
【发布时间】:2013-03-28 10:12:43
【问题描述】:

我在使用断点时收到此错误并进入捕获异常。

httpTransport.call(SOAP_ACTION, envelope);

难道httpTransport连接不应该是null

    public class MainActivity extends Activity {

TextView tv;

SoapObject request;

SoapSerializationEnvelope envelope;

HttpTransportSE androidHttpTransport;

Object result;

public String METHOD_NAME = "sum";

public String NAMESPACE = "http://ws.calculatorJava.org";

// private String SOAP_ACTION = NAMESPACE + METHOD_NAME;

public String SOAP_ACTION = "http://ws.calculatorJava.org/sum";

public static final String URL = "http://172.168.1.2:8888/CalculatotJava/services

    /Calculate.wsdl";


/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    tv = (TextView) findViewById(R.id.textView1);

    try {

        request = new SoapObject(NAMESPACE, METHOD_NAME);

        request.addProperty("i", 5);

        request.addProperty("j", 15);

        envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.dotNet = true;

        envelope.setOutputSoapObject(request);

        androidHttpTransport = new HttpTransportSE(URL);

        Toast.makeText(getBaseContext(), "GET", Toast.LENGTH_LONG).show();

        androidHttpTransport.call(SOAP_ACTION, envelope);

        result = envelope.getResponse();

        Toast.makeText(getBaseContext(),

                "  Result " + "\n" + result.toString(), 

                        Toast.LENGTH_SHORT)

                .show();

        // System.out.println("Result : " + result.toString());

        tv.setText("Addition : " + result.toString());

    } catch (Exception E) {

        E.printStackTrace();

        tv.setText("ERROR  " + "\n" + E.getClass().getName() + ":"

                + E.getMessage());

    }

}

 }

【问题讨论】:

  • 尝试在浏览器中打开网址并检查是否打开
  • 是的,我打开Its Fine,那里没问题,,
  • 你能不能再发一次网址,因为它在我的浏览器中打不开

标签: java android web-services error-handling


【解决方案1】:

您的androidHttpTransport.call(SOAP_ACTION, envelope); 可能失败,因为您在主 UI 线程上调用它。尝试将清单中的 SDK 版本降低到 8/9,或者将整个 soap 请求代码放在 AsyncTask 或不同的线程中。

【讨论】:

    【解决方案2】:

    如果你是gettint networkonmain 异常,请记住始终在Android Async Task 中执行网络相关任务,然后在主线程中调用Async Task

    【讨论】:

    • 你能不能给一个示例或示例页面链接。
    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2013-03-27
    • 2017-09-02
    • 2012-09-09
    • 2015-09-25
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多