错误响应包含一个字符串值,其中应为Integer

本文关键字:Integer 响应 包含一 字符串 错误 | 更新日期: 2023-09-27 18:20:18

使用此代码向带有openerp的服务器获取数据查询,并与下面的代理进行了协商,但返回了此错误,我是新手。

[XmlRpcUrl("//IP:port/xmlrpc/common")]
public interface IOpenERPRPCClient
{
    [XmlRpcMethod("login")]
    int autenticar(string db_name, string user, string passwd);
    [XmlRpcMethod("execute")]
    int[] buscar(string db_name, int uid, string passwd, string obj, string action, object[] filtro);
    [XmlRpcMethod("execute")]
    int [] eliminar(string db_name, int uid, string passwd, string obj, string action, int[] ids);
    [XmlRpcMethod("execute")]
    object[] read_objeto(string db_name, int uid, string passwd, string obj, string action, int[] ids, string[] campos);

}
   private void button1_Click(object sender, EventArgs e)
   {
   int uid = autenticar();
   IOpenERPRPCClient proxy_clientes =  IOpenERPRPCClient)XmlRpcProxyGen.Create<IOpenERPRPCClient>();
   IXmlRpcProxy cliente_rpc = (IXmlRpcProxy)proxy_clientes;
   cliente_rpc.Url = "//IP:port/xmlrpc/object";
   object[] filtro = { "'Active','=','True'" };
   proxy_clientes.buscar("sgsoft", uid, "openerp", "res.partner","search",filtro);
   }

错误:CookComputing.XmlRpcV2.dll 中发生类型为"CookCompution.XmlRpc.XmlRpcTypeMismatchException"的未处理异常

附加信息:错误响应包含字符串值,其中应为整数[错误响应:映射到类型的结构fault:映射到类型Int32]的成员faultCode

OpenErp错误地将faultCode作为字符串消息返回,它应该是整数。

如果你想继续使用XmlRpc.NET,你所能做的就是从这里下载3.0.0.270测试版,这种情况在238版本中处理得更好。但请确保在XmlRpcProxy:上设置AllowStringFaultCode

clientProxy.NonStandard = XmlRpcNonStandard.AllowStringFaultCode;

错误响应包含一个字符串值,其中应为Integer