Ksoap设置属性类型

时间:2011-08-01 09:46:24

标签: android ksoap

向soap对象添加属性时无法指定它的类型....我需要整数但它始终将其设置为“d:string”<timestamp i:type="d:string">1312191347</timestamp>这是我添加proprety的方式:< / p>

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 个答案:

答案 0 :(得分:3)

您正在使用String.valueOf ...添加它,这是一个字符串,因此ksoap正在做正确的事情。

答案 1 :(得分:2)

这可能对你有所帮助......

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);

答案 2 :(得分:1)

试试这个:

  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,这不起作用