2dim tömb xmlrpc-n c#-ben

2dim tömb xmlrpc-n c#-ben
2011-02-01T13:19:39+01:00
2011-02-11T08:07:15+01:00
2022-11-20T19:25:39+01:00
imisi
Sziasztok!

Tud-e valaki segítenei nekem abban, hogy csharp-ban hogyan lehet úgy xmlrpc üzenetet írni, hogy az kétdimenziós tömbként
menjen át a távoli szerverre?
A feladat a következő:
Egy iskolai focicsapat teremlabdarúgó tornán elért eredményeit kell továbbítani a szerverre. A szerver "foci" nevű eljárása
2 paramétert vár:
egy stringet (városnév) és egy 2dim tömböt (ellenfelek és eredmények). Na ez a gond: egydimenziós tömböt simán átküld, a kétdimenziósra
kiakad.
Mellékelem a kódot is.

using System.Linq; using System.Text; using CookComputing.XmlRpc; using System.Web; using System.Xml; namespace help { [XmlRpcUrl("http://xxx.xxx.xxx.xxx:2200/")] public interface IExec : IXmlRpcProxy { [XmlRpcMethod("foci")] string[,] rpcCall(string[,] eredmeny, string varos); } class Program { static void Main(string[] args) { string[,] V_eredm = new string[2,12]; string varos = "", eredm = "", csapat = ""; int i; for(i = 1; i <= 12; i++) { Console.WriteLine("Város: "); varos = Console.ReadLine(); V_eredm[0, i] = csapat; Console.WriteLine("Eredmény: "); eredm = Console.ReadLine(); V_eredm[1, i] = eredm; } Console.WriteLine("Város:"); varos = Console.ReadLine(); IExec proxy = XmlRpcProxyGen.Create<IExec>(); string[,] ret = proxy.rpcCall(V_eredm, varos); Console.WriteLine("Szerver üzenet: {0} ",ret); Console.ReadKey(); } } }

Köszi!
Mutasd a teljes hozzászólást!

  • kétdimenziós tömbként


    Itt a specifikáció.
    Valójában azt kéne tudni, hogy a szerver milyen formában is várja... lehet úgy, hogy az egy dimenziós tömb elemei két elemű egy dimenziós tömbök vagy nem tömbök, hanem két mezőjű struktúrák. Esetleg a két dimenziójú tömböt szétbontani két egy dimenziós tömbbé stb.
    Mutasd a teljes hozzászólást!
  • Újból megkérdeztem, kétdimenziós tömböt vár, nem is fogadta el a struktúrát, pedig próbáltam néhányat "beadni" neki.
    Mutasd a teljes hozzászólást!
  • megkérdeztem, kétdimenziós tömböt vár


    Akitől a választ kaptad, akkor azt is kérdezd már meg légyszíves, hogy az
    xml-rpc
    specifikációban a két dimenziós tömbre milyen külön ismérvek vonatkoznak (én sajnos nem találtam ilyet, csak általánosat - amennyiben van külön ilyen, akkor szeretném tudni). A véleményem továbbra is az, hogyha nem megfelelő adatok érkeznek a szerverhez, akkor a célszerver RPC specifikációjában kell kutakodnod vagy kipróbálod az összes olyan variációt, amivel távoli tömböt tudsz feltölteni! Ehhez valójában ismerni kellene a szerver alkalmazás tárolási módját. Ugyanis, ha a szerver alkalmazás fejlesztője ezeket az adatokat két dimenziós tömbbe teszi, akkor minden további nélkül megteheti, de ugyanakkor határozza meg azt is, hogy mégis milyen formában készítse el a kliens a tömb adatok feltöltését - mivel az
    xml-rpc
    specifikáció külön ezt nem részletezi...

    ui.: Cészerűnek tartom ehhez először egyszerre 1, 2, 3, majd csak négy elem küldését nyomon követni:
    pl. [1,1], [1,2], [2,1] és [2, 2] - ha ez így jó, akkor valószínűsíthető, hogy a többire is jó lesz...
    Mutasd a teljes hozzászólást!
  • A vizsgálat során megállapítható, hogy az RPC szerver milyen sorrendben tárolta le az adatokat (ha esetleg "kiakad", akkor remélhetőleg a visszatérési hibakód vagy a hibaüzenet elárulja a probléma okát). Ennek függvényében elkészíthetsz egy (egy vagy két dimenziós) tömböt, amelyet úgy töltesz fel, hogy a célállomásra a megfelelő sorrendben kerüljenek be...
    Mutasd a teljes hozzászólást!
  • Szia!
    Próbáltam beilleszteni, leírni a hibaüzenetet, most ismét megpróbálom elküldeni, hátha sikerül...
    Neked valszeg többet mond a hiba okáról, mint nekem. Nem értem, mit kéne megvalósítanom, és hol??? Szóval a hibaüzenet:

    A(z) &#8217;XmlRpcProxy3a7d8169-a1bf-43b8-8e49-23e70fbfcdbb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null&#8217; szerelvény XmlRpcProxy3a7d8169-a1bf-43b8-8e49-23e70fbfcdbb típusában levő &#8217;rpcCall&#8217; metódus nincs megvalósítva"
    Mutasd a teljes hozzászólást!
  • A hibaüzenet így ebben a formában nekem se sokat mond... a
    CookComputing
    leírása szerint a megfelelő kód automatikusan generálódik. Tehát vagy nem sikerült ez vagy esetleg más típusú paraméterrel kísérelted meg a hívást, mint ahogyan az interfésznél definiáltad, esetleg a távoli metódus nem létezik stb.
    Ehhez esetleg jobban ismerni kellene ezt a megvalósítást. "Belekukkantottam" a
    CookComputing
    forrásába de rájöttem, hogy sajnos nincs most ehhez sem időm sem energiám.
    Mutasd a teljes hozzászólást!
  • Azért köszi, hogy foglalkoztál vele :)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd