如何从android简单调用网络web服务?
我需要从android上进行一些简单的web服务调用。 我知道服务器的ip地址——我知道它是我需要调用的方法。 服务器基于.net平台,我需要调用的方法将返回简单字符串,告诉我服务器web服务的版本 我不知道怎么打这个电话如何从android简单调用网络web服务?,android,Android,我需要从android上进行一些简单的web服务调用。 我知道服务器的ip地址——我知道它是我需要调用的方法。 服务器基于.net平台,我需要调用的方法将返回简单字符串,告诉我服务器web服务的版本 我不知道怎么打这个电话 谢谢您的帮助。答案取决于这是什么样的Web服务。。。SOAP(XML)Web服务需要一些XML功能,最简单的选择是使用库(KSOAP2见下文)。。。REST Web服务可能与纯HTTP(可能加上JSON)一起工作 有关如何从Android调用Web服务的所有选项的示例源代码/
谢谢您的帮助。答案取决于这是什么样的Web服务。。。SOAP(XML)Web服务需要一些XML功能,最简单的选择是使用库(KSOAP2见下文)。。。REST Web服务可能与纯HTTP(可能加上JSON)一起工作 有关如何从Android调用Web服务的所有选项的示例源代码/演练/库/文档,请参阅:
- 答案取决于这是一种什么样的Web服务。。。SOAP(XML)Web服务需要一些XML功能,最简单的选择是使用库(KSOAP2见下文)。。。REST Web服务可能与纯HTTP(可能加上JSON)一起工作
有关如何从Android调用Web服务的所有选项的示例源代码/演练/库/文档,请参阅:
这是SOAP web服务的代码。0.0.4版随教程发布:0.0.4版随教程发布:
public class SOAPActivity extends Activity {
private final String NAMESPACE = "http://www.webserviceX.NET/";
private final String URL = "http://www.webservicex.net/ConvertWeight.asmx";
private final String SOAP_ACTION = "http://www.webserviceX.NET/ConvertWeight";
private final String METHOD_NAME = "ConvertWeight";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SoapObject soapObject=new SoapObject(NAMESPACE, METHOD_NAME);
String weight = "700";
String fromUnit = "Kilograms";
String toUnit = "Grams";
PropertyInfo weightProp =new PropertyInfo();
weightProp.setName("Weight");
weightProp.setValue(weight);
weightProp.setType(double.class);
soapObject.addProperty(weightProp);
PropertyInfo fromProp =new PropertyInfo();
fromProp.setName("FromUnit");
fromProp.setValue(fromUnit);
fromProp.setType(String.class);
soapObject.addProperty(fromProp);
PropertyInfo toProp =new PropertyInfo();
toProp.setName("ToUnit");
toProp.setValue(toUnit);
toProp.setType(String.class);
soapObject.addProperty(toProp);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
Log.i("myApp", response.toString());
TextView tv = new TextView(this);
tv.setText(weight+" "+fromUnit+" equal "+response.toString()+ " "+toUnit);
setContentView(tv);
} catch (Exception e) {
e.printStackTrace();
}
}
}