使用KSOAP的ComplexTypes

时间:2012-10-15 12:47:28

标签: android ksoap

我正在尝试使用Web服务,我需要使用ComplexTypes。

这是服务的输出:

<req i:type="d:String"></req><File i:type="c:base64">MS4wMDE6MTYxHTEuMDAyOjAwHTEuMDAzOjEfMx4yHzAeNB8xHjQfMh0xLjAw

如您所见,有一个<req>节点和一个<File>节点。 req节点在File-node启动之前结束。这不是我想要完成的,文件节点应该在req节点内。我正在使用KSoap,这就是我尝试过的:

SoapObject tempObject = soapObject.addProperty("req", "");
        SoapObject tempObject1 = soapObject.addProperty("File", File);

        SoapSerializationEnvelope soapSerializationEnvelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);

如何在KSOAP中向复杂类型添加一些数据?

1 个答案:

答案 0 :(得分:1)

我前一段时间使用过ksoap,并使用以下代码将复杂对象添加到我的请求中:

public static PropertyInfo createPropertyInfo(String name, Object value, Object type) {
    PropertyInfo pi1 = new PropertyInfo();
    pi1.setName(name);
    pi1.setValue(value);
    pi1.setType(type);
    return pi1;
}

这个方法就像这样调用:

request.addProperty(createPropertyInfo("complexType", objectOfComplexType, objectOfComplexType.getClass()));