我正在使用 XML_RPC v2.5.0 for .Net 对 Web 服务进行少量调用以发送产品数据。除一种情况外,所有呼叫均正常工作。我正在将产品数据发送到预期采用以下格式的 Web 服务(格式以 PhP 语言定义)-
$order['products'][] = ['sku', 'quantity']
我正在使用下面的代码来传递这些数据 -
XmlRpcStruct dic = new XmlRpcStruct();
DataTable dt1 = GetData();
XmlRpcStruct[] prod = new XmlRpcStruct[dt1.Rows.Count];
for (int i = 0; i < dt1.Rows.Count; i++)
{
prod[i] = new XmlRpcStruct();
prod[i].Add("sku", dt1.Rows[i][0].ToString());
prod[i].Add("quantity", dt1.Rows[i][1].ToString());
}
dic.Add("products", prod);
object orderID = proxy.SubmitOrder(dic, custID, accessKey);
当数据表 dt1 中只有 1 行并且我成功获取 orderID 时,上面的代码有效。但是,如果数据表中有超过 1 条记录,我会得到一个异常 -
参数属于或包含类型 CookComputing.XmlRpc.XmlRpcStruct 的实例,该类型无法映射到 XML-RPC 类型
我想我在这里遗漏了一些愚蠢的东西。请帮助并让我知道我在这里犯了什么错误。提前致谢!