Android: веб-сервисы, использующие Soap - PullRequest
1 голос
/ 18 июня 2011

Я попытался войти в свой сервер с некоторыми полями, такими как имя пользователя, пароль, широта, долгота.Я уже зарегистрировался.но при вводе этих полей я получаю ответ сервера как 06-18 09: 02: 14.402: VERBOSE / TAG (275): LoginResponse {LoginResult = -1;} это означает, что он пропускает некоторые файлы, которые он говорит ... Может кто-нибудь проверить, что не так в моем коде?Это мой код ...

package com.soap;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Register extends Activity {
/** Called when the activity is first created. */

// static Spinner operator = null;
private static final String SOAP_ACTION = "http://tempuri.org/Login";
private static final String METHOD_NAME = "Login";
private static final String NAMESPACE = "http://tempuri.org";
private static final String URL = "My Server Link";
private static final String TAG = "HELLO";

Thread t;
ProgressDialog dialog;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.loginpage);
    Button signin = (Button) findViewById(R.id.logsigninbutton);

    signin.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            showDialog(0);
            t = new Thread() {
                public void run() {
                    register();
                }
            };
            t.start();
        }
    });
}

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case 0: {
        dialog = new ProgressDialog(this);
        dialog.setMessage("Please wait while connecting...");
        dialog.setIndeterminate(true);
        dialog.setCancelable(true);
        return dialog;
    }
    }
    return null;
}

public void register() {
    Log.v(TAG, "Trying to Login");
    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    soapEnvelope.dotNet = true;

    soapEnvelope.setOutputSoapObject(request);
    request.addProperty("email", "raghavang.srinivasg1988@gmail.com");
    request.addProperty("pwd", "ramg");
    request.addProperty("latitude", 72);
    request.addProperty("longitude", 86);

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    androidHttpTransport.debug = true;
    try {
        androidHttpTransport.call(SOAP_ACTION, soapEnvelope);
        androidHttpTransport
                .setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

        SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn;

        Log.v("TAG", String.valueOf(resultsRequestSOAP));
        String resultData;
        resultData = request.getProperty(0).toString();
    } catch (Exception e) {

        e.printStackTrace();
    }

}

 }

1 Ответ

0 голосов
/ 18 июня 2011

Если ваш сервер сообщает, что вы пропускаете какие-то поля, проверьте заголовки или другие составные части, чтобы убедиться, что вы включаете всю структуру, ожидаемую вашим сервером. Что происходит, когда вы достигаете этой конечной точки, используя клиент для настольного компьютера по сравнению с Android? То же самое?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...