我正在尝试使用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中向复杂类型添加一些数据?
答案 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()));