Android Web服务连接错误

时间:2013-10-21 12:13:20

标签: android web-services tomcat

我创建了Java Web服务并尝试连接android代码。我正在运行该服务,但是android应用程序在soap对象创建的名称空间和方法名称中显示错误。我做了所有更改,一切都是正确的命名空间,方法名字,网址都是正确的。但我不知道有什么不对,任何人都可以帮助我...... 我的android代码是-----> 显示错误 - “SoapObject request = new SoapObject(NAMESPACE,METHOD_NAME);”

public class RetailerActivity extends Activity {
    private static final String SOAP_ACTION = "urn:training/searchCompanyInfo";
    private static final String METHOD_NAME = "searchCompanyInfo";
    private static final String NAMESPACE = "urn:training/";
    private static final String URL = "http://localhost/attest/CompanyInfoService?wsdl";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        System.out.println(NAMESPACE);
        System.out.println(METHOD_NAME);
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);  


        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.setOutputSoapObject(request);

        HttpTransportSE ht = new HttpTransportSE(URL);
        try {
            ht.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive)envelope.getResponse();


            SoapPrimitive s = response;
            String str = s.toString();
            String resultArr[] = str.split("&");//Result string will split & store in an array

            TextView tv = new TextView(this);

            for(int i = 0; i<resultArr.length;i++){
            tv.append(resultArr[i]+"\n\n");
           }
            setContentView(tv);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在Android中,您无法在主线程上执行网络操作,您需要在后台线程中执行您的soap请求。请阅读AsyncTask