2

当向肥皂对象添加属性时无法指定它的类型....我需要整数,但它总是将其设置为“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));

谁能帮忙?

4

3 回答 3

3

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

于 2011-08-10T04:12:24.843 回答
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);

于 2012-10-09T05:02:28.487 回答
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,这不起作用

于 2013-11-12T09:52:53.847 回答