2

これは、 xml-rpc .net 経由で Web サービスhttp://www.upcdatabase.comを使用するために取り組んでいるプロジェクトについて先週尋ねた、洗練された焦点を絞った質問です。私はc#で働いています。リクエストには、名前付きメソッド (「lookup」) と 2 つの名前付きパラメーター (「rpc_key」) および (「upc」) が必要です。どちらのタイプも文字列です。私の最初の考えは、次のようなインターフェースを作成することでした:

[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 faq を読んでいるときに、次のことを見つけました。

「2.20 可変数のパラメーターを使用して XML-RPC メソッドを呼び出すにはどうすればよいですか? params キーワードを使用して、可変数のパラメーターを取る XML-RPC メソッドを呼び出すことができます。たとえば、XML-RPC メソッドが可変数の整数パラメータを取る場合、次のように定義できます。 [XmlRpcUrl("http://www.cookcomputing.com/notimpl.rem")] [XmlRpcMethod]
int UseNumbers(params int[] 数値); そして、次のように呼び出されます: 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