2012-11-06 37 views
2

這是我寫的代碼,我寫的調用webservice使用this video。當我運行它時,我收到一個錯誤字符串而不是89.6。webservice返回錯誤,而不是與肥皂的期望值

package com.flafel.myTest; 

import android.app.Activity; 
import android.net.http.AndroidHttpClient; 
import android.os.Bundle; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapPrimitive; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.HttpTransportSE; 
import org.ksoap2.SoapEnvelope; 
import android.widget.*; 

public class FirstScreen extends Activity { 
    /** Called when the activity is first created. */ 
    private static final String SQAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit"; 
    private static final String METMOD_NAME = "CelsiusToFahrenheit"; 
    private static final String NAMESPACE = "http://tempuri.org/"; 
    private static final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx"; 
    TextView tv; 

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


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

       SoapObject Request = new SoapObject(NAMESPACE, "Method_Name"); 
       Request.addProperty("Celsius", "32"); 

       SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
         SoapEnvelope.VER11); 
       soapEnvelope.dotNet = true; 
       soapEnvelope.setOutputSoapObject(Request); 

       HttpTransportSE aht = new HttpTransportSE(URL); 
       aht.debug=true; 


       try { 

        aht.call(SQAP_ACTION, soapEnvelope); 

        SoapPrimitive resultString = (SoapPrimitive) soapEnvelope 
          .getResponse(); 
        int count = resultString.getAttributeCount(); 
        tv.setText("Status:" + resultString); 

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

      }  
} 

輸出是:

Hello World,FirstScreen! 
Status:Error 

回答

1

因爲你沒有寫METHOD_NAME到自己的地方。

您的代碼:

SoapObject Request = new SoapObject(NAMESPACE, "Method_Name"); 

真代碼:

SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); 
+0

METMOD_NAME可能被重命名爲METHOD_NAME ... – Snicolas

+0

我解決它對不起,我黃文:) –

+0

非常感謝你,這是糟糕的問題 –