Hi everyone, in respone to Ryan Hoegg's eMail to the yahoo groups message (http://groups.yahoo.com/group/xml-rpc/message/5359) here are some of my ideas.
I would like to it realized that in addition to the "desirable way" in my last post the following methods would be recognized by a new implementation of the invoker: (wishes at first, implementation at second ;-)) // 1) convert Hashtable-Objects to "real" objects (Hashtable -> Entry) public boolean addEntry(String guestbookId, Entry entry); // 2) void methods could return true by default to adhere to the xmlprc-spec public void addEntry(String guestbookId, Entry entry); // 3) return types should be converted automagically to _Hashtable_/Vector public Entry getEntry(String guestbookId, int index); // 4) return types should be converted automagically to Hashtable/_Vector_ public Entry[] getEntries(String guestbookId, int beginIndex, int endIndex); // 5) input parameters should be converted to corresponding Arrays // (needs to ensure, that all <value>s of a xmlrpc <array> are of // the same type (in this case <i4>) public Entry[] getEntries(String guestbookId, int[] indices); // 6) has to co-exist next to 5) public Entry[] getEntries(String guestbookId, long[] indices;) // 7) n-dimensional Array support: // xmlrpc spec allows recursive definition of arrays public int[][] calculateCrossProduct(int[][] matrix1, int[][]matrix2); Ok. So far so good. The class Entry is very easy structured. The above cases should work even with more complex objects. e.g. class User { +String name +Address address ... } class Address { +street +city ... } So the invoker's code should als work with the following example method: // 8) return type: more complex public User[] getUserByPrimaryKey(String sessionId, PrimaryKey pk); I know that this isn't a formal specification but it's simple ;-) What do you people out there think about this? (Maybe I try for myself to implement these features...?) greets from germany, Marcel