我需要使用一个 XML-RPC 服务器,该服务器的方法根据进程的成功或失败返回不同的类型。
现在我正在使用来自http://xml-rpc.net/的 xml-rpc 库
我的代理看起来像这样:
[XmlRpcUrl("http://someURL/")]
public interface IAccount : IXmlRpcProxy
{
[XmlRpcMethod("create_account")]
ReturnStatusResult CreateFreeAccount(FreeAccount account);
}
ReturnStatusResult 是:
public class ReturnStatusResult
{
public string code { get; set; }
public string message { get; set; }
public ReturnStatusDetail[] detail { get; set; }
}
和 ReturnStatusDetail:
public class ReturnStatusDetail
{
public string codigo_erro { get; set; }
public string[] campo_nome { get; set; }
public string[] campo_valor { get; set; }
public string[] campo_tipo { get; set; }
public string[] campo_tamanho { get; set; }
public string[] campo_obrigatorio { get; set; }
public string[] campo_erro { get; set; }
}
如果调用 CreateFreeAccount 成功,服务器将返回 ReturnStatusDetail[]。但如果 CreateFreeAccount 失败,则返回一个 ReturnStatusResult。
说了这么多,有谁知道解决这个问题的方法吗?
我试图通过将 CreateFreeAccount 返回类型设置为对象来寻找一种推迟类型绑定的方法,但我找不到 xml-rpc.net 解析器方法。