andriod 如何调用 c#的webservices 上传集合类???
andriod 如何调用 c#的webservices 上传集合类???
c#端:
public class UpdateFileInfo
{
/// <summary>
/// 文件名
/// </summary>
public string FileName;
/// <summary>
/// 版本号
/// </summary>
public string Version;
}
/// <summary>
///
/// </summary>
/// <param name="fileInfo"></param>
/// <returns></returns>
[WebMethod]
[SoapRpcMethod]
public bool SetUpdateFileInfo(UpdateFileInfo fileInfo)
{
....
return true;
}
/// <summary>
///
/// </summary>
/// <param name="fileInfo"></param>
/// <returns></returns>
[WebMethod]
[SoapRpcMethod]
public bool SetUpdateFilesInfo(UpdateFileInfo[] filesInfo)
{
...........
return true;
}
Android端:
如果传递单个UpdateFileInfo如下可以实现:
public void SetUpdateFileInfo() {
try {
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
updateFileInfo file = new updateFileInfo();
file.setProperty(0, "测试");
file.setProperty(1, "123");
PropertyInfo pi = new PropertyInfo();
pi.setName("fileInfo");
pi.setValue(file);
pi.setType(file.getClass());
rpc.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = false;
envelope.setOutputSoapObject(rpc);
envelope.addMapping(NAMESPACE, "UpdateFileInfo", file.getClass());
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
Object object = envelope.getResponse();
Toast.makeText(this, object.toString(), Toast.LENGTH_LONG).show();
return;
} catch (Exception e) {
e.printStackTrace();
}
}
如果需要传递的是UpdateFileInfo数组,该如何实现呢?谢谢!