andriod 如何调用 c#的webservices 上传集合类???

poling_ai 2012-02-16 11:42:08
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数组,该如何实现呢?谢谢!
...全文
54 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
poling_ai 2012-03-07
  • 打赏
  • 举报
回复
求助!多谢!

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧