我得到了wsdl和URL,並且服務器是用C++編寫的; 我在android中使用KSoap2來訪問該方法,但總是打印出 :「Method'methodname'not implemented」!!! 任何人都可以幫我嗎? 在此先感謝!Android:關於ksoap2和webservice
回答
看到這裏KSOAP的簡單的例子可以幫助http://vimeo.com/9633556
@hotverypicy謝謝,這與服務器使用的是什麼樣的語言有關係嗎? –
ya,絕對假設如果你想在android中使用c,C++文件,那麼你必須創建本地庫 –
@hotverypicy你的意思是我需要從wsdl文件生成Java代碼(我在android中使用java)? –
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://216.128.29.26/webservices/TempConvert.asmx";
private static final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit";
private static final String METHOD_NAME = "CelsiusToFahrenheit"
你應該如上規定必要的實地。
是的,我只是寫他們如上 –
然後你必須缺少一些代碼或缺少參數。 –
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://216.128.29.26/webservices/TempConvert.asmx";
private static final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit";
private static final String METHOD_NAME = "CelsiusToFahrenheit";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv;
tv = (TextView) findViewById(R.id.tv);
tv.setText(ws());
}
public String ws() {
String result = "";
try
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("Celsius", "32");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.call(SOAP_ACTION, envelope);
if(envelope.getResponse()!=null){
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
result = "FeranHit : " + response.toString();
}
}
catch (Exception e)
{
result = e.getMessage();
}
return result;
}
看到這是我的代碼。並得到完整的結果。這只是ksoap2的測試程序。
我在這裏沒有包含任何庫。
謝謝Pro.But我真的寫了像你這樣的代碼。但它不能工作。我更改methodName爲
幫助永遠不會傷害.. :)現在,你正在得到哪種錯誤?你能告訴我嗎? –
您是否正確地創建了您的請求和SoapAction
?
請嘗試下面的示例(它是一個具有0個參數的公共Web服務),並查看它是否適用於您。
private static final String WSDL_URL = "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL";
private static final String WS_NAMESPACE = "http://ws.cdyne.com/WeatherWS/";
private static final String WS_METHOD_NAME = "GetWeatherInformation";
// 1. Creating SOAP request with no arguments
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(new SoapObject(WS_NAMESPACE, WS_METHOD_NAME));
// 2. Create a HTTP Transport object to send the web service request
HttpTransportSE httpTransport = new HttpTransportSE(WSDL_URL);
httpTransport.debug = true; // allows capture of raw request/respose in Logcat
// 3. Make the web service invocation
httpTransport.call(WS_NAMESPACE + WS_METHOD_NAME, envelope);
Log.d(TAG, "HTTP REQUEST:\n" + httpTransport.requestDump);
Log.d(TAG, "HTTP RESPONSE:\n" + httpTransport.responseDump);
看一看這個詳細的教程解釋using kSOAP2 with Android
- 1. Android消耗WebService ksoap2
- 2. android webservice ksoap2錯誤
- 3. 通過Android訪問Webservice - KSOAP2
- 4. Android調用.net webservice Ksoap2
- 5. Android:關於android webservice
- 6. KSOAP2 webservice ilon100 smartserver
- 7. ksoap2 webservice help
- 8. Webservice的HTTP認證 - KSOAP2在Android
- 9. 在android中使用kSoap2訪問WebService
- 10. Android webservice ksoap2 - pojo內的byte []錯誤
- 11. 與ksoap2的android上的webservice太慢
- 12. 的Android KSoap2 Webservice的使用問題
- 13. Android和ksoap2
- 14. 是否有任何用於android和J2me的常見ksoap2 jar來運行webservice?
- 15. 在ksoap2中調用webservice
- 16. 的Android Ksoap2和WCF
- 17. 關於WebService的
- 18. Android KSoap2和陣列問題
- 19. Android上的kSOAP2和SOAPAction
- 20. Ksoap2客戶端與基於PHP的webservice交談的問題
- 21. 如何從android(ksoap2)發送DateTime到.net webService?
- 22. 無法通過Android ksoap2從WebService收集數據
- 23. 在Android模擬器上運行的KSOAP2 WebService錯誤
- 24. 無法使用android中的KSOAP2從Webservice接收參數
- 25. 如何使用KSOAP2從Android調用PHP Webservice?
- 26. 無法將ComplexType對象從ksoap2發送到soap webservice for android
- 27. Android KSOAP2 base64來自.net webservice的二進制響應
- 28. 在Android中使用沒有ksoap2的SOAP webservice
- 29. 來自.net webservice的Android解析器XML數據使用KSOAP2
- 30. ksoap2黑莓webservice問題,示例需要
的基礎知識你可能不指定要執行的方法名稱。 –
@Pro我指定了正確的方法名稱。但... –