Проблемы с параметром Android ksoap2 - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь передать параметр моей службе, код работает, но служба никогда не получает параметры ?? Вызов работает, я просто добавляю переменную, затем возвращаю ее обратно, и когда я ее получаю, я обнаруживаю, что веб-служба никогда не получала ее!

Спасибо за вашу помощь

    final String SOAP_ACTION = "http://NathofGod.com/GetCategoryById";
    final String METHOD_NAME = "GetCategoryById";
    final String NAMESPACE = " http://NathofGod.com/";
    final String URL = "http://10.0.2.2:4021/Service1.asmx";

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

 PropertyInfo pi1 = new PropertyInfo();
        pi1.setName("name");
        pi1.setValue("the name");
        pi1.setType(String.class);
        pi1.setNamespace(NAMESPACE);
        request.addProperty(pi1);

 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);

       HttpTransportSE conn = new HttpTransportSE(URL);

        try
        {
            conn.call(SOAP_ACTION, envelope);
            SoapObject response = (SoapObject)envelope.getResponse();
        }

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

Ответы [ 5 ]

1 голос
/ 04 апреля 2017

Эта строка кода была моей проблемой! !!

envelope.dotNet = true;

УДАЛИТЬ ЕГО

1 голос
/ 19 октября 2011

не уверен, почему не работает, но я помню, как использовал его с

request.addProperty("name", "my_Name");

и все заработало нормально, в противном случае вы можете проверить серверную часть ...

0 голосов
/ 07 апреля 2014

final String NAMESPACE = "http://NathofGod.com/";

Изменить на

final String NAMESPACE = "http://NathofGod.com/";

Удалите пустое пространство и сделайте затем пространство имен, как оно есть в вашем запросе XML. Обратите внимание, что он также чувствителен к регистру.

0 голосов
/ 19 октября 2011

Я немного очистил код и поместил его в функцию.Я не уверен, если что-то отличается, но этот код работает.Спасибо за ответы.

public SoapObject soap () выдает IOException, XmlPullParserException {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
    request.addProperty("name", "myname"); 
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request); 
    HttpTransportSE conn = new HttpTransportSE(URL);

    conn.call(SOAP_ACTION, envelope); //send request
    SoapObject result=(SoapObject)envelope.getResponse(); 
    return result;
 }
0 голосов
/ 19 октября 2011

Попробуйте отладить его, следуя инструкциям в вики .

...