Ksoap установить тип свойства - PullRequest
2 голосов
/ 01 августа 2011

при добавлении свойства к объекту мыла нельзя указать его тип .... Мне нужно целое число, но оно всегда устанавливает его в "d: string" <timestamp i:type="d:string">1312191347</timestamp> вот способ, которым я добавляю свойство:

SoapObject _client = new SoapObject("urn:PopfaxService", "PopfaxService.getModifiedObjects");
        PropertyInfo UIDInfo = new PropertyInfo ();

        UIDInfo.name = "timestamp";

        UIDInfo.type = PropertyInfo.INTEGER_CLASS;
        _client.addProperty(UIDInfo,String.valueOf(timestamp));

Может кто-нибудь помочь?

Ответы [ 3 ]

3 голосов
/ 10 августа 2011

Вы добавляете его с помощью String.valueOf ..., который является строкой, поэтому ksoap делает правильные вещи.

2 голосов
/ 09 октября 2012

Это может помочь вам ...

public String call(String a,String b)
{

    SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
    PropertyInfo pi=new PropertyInfo();

    pi.setName("username");
    pi.setValue(a);
    pi.setType(a.getClass());
    request.addProperty(pi);

    pi=new PropertyInfo();
    pi.setName("password");
    pi.setValue(b);
    pi.setType(b.getClass());
    request.addProperty(pi);

1 голос
/ 12 ноября 2013

Попробуйте это:

  PropertyInfo pi1 = new PropertyInfo();
                 pi1.setName("arg0");
                 pi1.setValue("username");
                 pi1.setType(String.class);
                 request.addProperty(pi1);

                 PropertyInfo pi2 = new PropertyInfo();
                 pi2.setName("arg1");
                 pi2.setValue("password");
                 pi2.setType(String.class);
                 request.addProperty(pi2);

, пока я не заменил имя пользователя и пароль на arg0 и arg1, это не работает

...