2

这是我上周提出的一个精炼而集中的问题,是关于我正在开展的一个通过 xml-rpc .net使用 Web 服务http://www.upcdatabase.com的项目。我在 c# 中工作。该请求需要一个命名方法(“lookup”)以及 2 个命名参数(“rpc_key”)和(“upc”),这两种类型都是 stings。我最初的想法是创建一个这样的界面:

[XmlRpcUrl("http://www.upcdatabase.com/xmlrpc")]
   public interface UPChelp : IXmlRpcProxy
  [XmlRpcMethod("lookup")]
  upcLookupValues lookupUPC(string rpc_key, string upc);

upcLookupValues is a struct that is returned defined as:
public struct upcLookupValues
    {
        public string upc;
        public int pendingUpdates;
        public string status;
        public string ean;         
        public string issureCountryCode;
        public bool found;
        public string description;
        public string message;
        public string size;
        public string issureCountry;
        public string noCacheAfterUTC;
        public string lastModifiedUTC;
    }

我一直在使用的代理一代是

UPChelp upcObj = XmlRpcProxyGen.Create<UPChelp>();
upcLookupValues myLookup = upcObj.lookupUPC("000000000000000000000000000000000000000000”, "639382000393");

我收到无效参数的响应。因此,在阅读 xml-rpc 常见问题解答时,我遇到了:

“2.20 如何调用带有可变参数数量的 XML-RPC 方法?params 关键字可用于调用采用可变数量参数的 XML-RPC 方法。例如,如果 XML-RPC 方法采用可变数量的整数参数,则可以这样定义: [XmlRpcUrl("http://www.cookcomputing.com/notimpl.rem")] public interface IParams : IXmlRpcProxy { [XmlRpcMethod]
int UseNumbers(params int[] numbers); 并像这样调用: IFoo proxy = (IFoo)XmlRpcProxyGen.Create(typeof(IFoo)); proxy.SendMultipleParameters(1); proxy.SendMultipleParameters(1, 2, 3);”</p>

或者,此示例中的参数可以作为 int[] 类型的数组提供: int[] parameters = new int[] { 1, 2, 3 }; proxy.SendMultipleParameters(参数);"

我的问题是我不明白如何将这个概念应用到我的项目中,(我是新手),我尝试了 upcLookupValues[] parameters = new string[] { "rpc_key", "upc" }; 但是我无法将 string[] 隐式转换为 readUPC.upcLookupvalues[]。我也不明白如何定义新的提交代理。我的手指交叉这个帖子是有道理的。我相信你们 C# xml-rpc 的人现在都在笑。

4

0 回答 0