Android与WindowsMo​​bile消费WebService

时间:2012-03-08 17:31:43

标签: android web-services windows-mobile

情景:

  • 我正在使用Windows Mobile 2005开发Vb.net的应用。
  • 我正在使用AndroidEclipse开发一个应用。

两个应用程序都具有相同的逻辑。这两个应用程序都使用相同的Web服务。

服务器正在Windows Server 2003中运行,服务应用使用VB.net 2005进行部署。

测试:

  • 三星Galaxy S2与Android
  • Windows Mobile的某人Chine设备。

同一个webservice调用需要:

  • Android时间:3分44秒。
  • Windows Mobile时间:0分54秒。

时间是使用时钟计算的,代表时间用户。

的差异:

  • Windows Mobile发送和接收数据表。
  • Windows Mobile按Base64序列化发送照片(每张5张30张照片)
  • Android发送和接收JSON(数据表转换为JSON
  • Android按Base64序列化发送照片(每张5张30张照片)

为什么时间如此不同?

Android中,我使用以下代码使用web服务:

公共类Func_WebService {

private static int Ksoap_timeout = 40000; 
private static String NAMESPACE = "http://tempuri.org/";
private static String URL="http://XXX.137.xxx.79/Sincro_test_android/Service1.asmx";

private static  SoapObject request=null;
private static  SoapSerializationEnvelope envelope=null;
private static  SoapPrimitive  resultsRequestSOAP=null;

public static String PRIMERLOGGIN(String Usuario,String Contrasena,String Emei){

    final String METHOD_NAME = "PRIMERLOGGIN";
    final String SOAP_ACTION ="http://tempuri.org/PRIMERLOGGIN";

    request = new SoapObject(NAMESPACE, METHOD_NAME);
    request.addProperty("user", Variables.Usuario); 
    request.addProperty("pass", Variables.Contrasena); 
    request.addProperty("X", Variables.Emei); 

    envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true; //se asigna true para el caso de que el WS sea de dotNet
    envelope.setOutputSoapObject(request);

    HttpTransportSE transporte = new HttpTransportSE(URL);

    try {       
        transporte.call(SOAP_ACTION, envelope);
        resultsRequestSOAP = (SoapPrimitive)envelope.getResponse();
        return resultsRequestSOAP.toString() ;
    } 
    catch (Exception e) {
        return Estados_Sincro.Error_coneccion;
    }

}

2 个答案:

答案 0 :(得分:0)

从您使用kso​​ap2-android的代码片段判断。该库用于SOAP Web服务。但是你说的是使用JSON的Android ..因此无法使用。您必须更改服务器以使用SOAP并继续使用kso​​ap2-android或您更改为Android应用程序以解析JSON与其他库..

答案 1 :(得分:0)

为什么使用数据表?我假设你正在使用Json序列化数据? 所以你得到了很多额外的数据。反序列化是一个耗时的过程。

我看到你正在使用登录方法。我已经为j2me和windows mobile实现了一些登录选项。但我总是喜欢自定义对象,响应时间也一样。

相关问题