0

我想在肥皂体的根 SoapObject 中放置一个值。

<envelope>
  <body>
    <request>34</request>
  </body>
</envelope>

有没有办法设置 SoapObject 的值我不能改变服务器端它必须是这种格式。或者是否可以将输出对象设置为属性?

我迷路了,即将从头开始构建它并此时通过http发送它。

4

1 回答 1

1

我发现这样做的唯一方法是编写一个简单的类,它扩展SoapPrimitive和实现KvmSerializable. 它看起来像这样:

class CustomProperty extends SoapPrimitive implements KvmSerializable
{
    public CustomProperty(String namespace, String name, String value)
    {
        super(namespace, name, value);
    }

    @Override
    public Object getProperty(int index)
    {
        return this.toString();
    }

    @Override
    public int getPropertyCount()
    {
        return 1;
    }

    @Override
    public void setProperty(int index, Object value)
    {

    }

    @Override
    public void getPropertyInfo(int index, Hashtable properties, PropertyInfo info)
    {
        info.setValue(toString());
        info.setName(getName());
        info.setNamespace(getNamespace());
    }
}

使用: envelope.setOutputSoapObject(new CustomProperty(null, "request", "34"));

于 2013-09-10T07:40:17.483 回答