RE: Kuddi: xmlrpc'ing vectors

"Nick Randell" <[email protected]> Fri, 7 Mar 2003 08:38:34 -0000
Newsgroups gmane.comp.java.enhydra.kxmlrpc
Message-ID <[email protected]>
I've used this successfully to do an MP3 player using the Lightfoot Java
processor that talks to JReceiver. This is all using J2ME cldc technology
and works great!

Regards

Nick


> -----Original Message-----
> From: [email protected] [mailto:[email protected]]On
> Behalf Of Thomas Koch
> Sent: 07 March 2003 08:16
> To: [email protected]
> Cc: [email protected]
> Subject: Re: Kuddi: xmlrpc'ing vectors
>
>
> Henrik,
> we've encoutered the same problem when starting our tests with the
> kXmlRpc lib and found some fixes for this. I posted an according message
> to the list in September last year.It's attached for your information.
>
> As there was no response on the list and also no updates of code or list
> archive I do now assume that the kxml-rpc project is 'on-hold'. Any
> 'official' comment from the kxml-rpc maintainers would be highly
> welcome.
>
> BTW, we're also doing work with kxml-rpc lib and J2ME midlets - I'd be
> interested in experience of other users with that technology
> combination.
>
> kind regards,
>
> Thomas Koch
> __________________________________________________________
> Thomas Koch                         [email protected]
> OrbiTeam Software GmbH              http://www.orbiteam.de
> Endenicher Allee 35                 phone: +49 228 4101400
> 53121 Bonn                          fax:   +49 228 4101401
> Germany
>
> ----- Original Message -----
> From: "Henrik Plate (GMX)" <[email protected]>
> To: <[email protected]>
> Sent: Thursday, March 06, 2003 5:43 PM
> Subject: Kuddi: xmlrpc'ing vectors
>
>
> > Hi everybody!
> >
> > Beside (k)XMLRPC is really lightweight, easy to use/learn and
> efficient I do
> > have some problems transfering vectors from a XMLRPC server to a
> MIDlet.
> >
> > I've got a servlet (source below, modified Apache class
> > org.apache.xmlrpc.XmlRpcProxyServlet) which acts as a XMLRPC server.
> The
> > servlet itself is registered as the default handler and got the method
> > getProviders, which simply returns a newly constructed Vector. Other
> methods
> > like getServerInfo, which returns a String, succeed.
> >
> > When I call the servlet with a J2SE client (slightly modified Apache
> > example) the resulting object is a Vector. Fine.
> >
> > When I call the method from a MIDlet, the Wireless Toolkit prints the
> > following exception:
> >
> > org.kxml.io.ParseException: unexpected: StartTag <data> line: -1 attr:
> null
> > @-1:-1
> > at org.kxml.parser.AbstractXmlParser.read(+53)
> > at org.kxmlrpc.XmlRpcParser.parseValue(+15)
> > at org.kxmlrpc.XmlRpcParser.parseArray(+23)
> > at org.kxmlrpc.XmlRpcParser.parseValue(+241)
> > at org.kxmlrpc.XmlRpcParser.parseParams(+46)
> > at org.kxmlrpc.XmlRpcParser.parseResponse(+144)
> > at org.kxmlrpc.XmlRpcClient.execute(+200)
> > at midlet.ServerConnection.callMethod(+15)
> > at midlet.XmlRpcTestControl$1.run(+18)
> >
> > The via HTTP transfered xml response of the servlet is
> >
> >     <?xml version="1.0" encoding="ISO-8859-1"?>
> >     <methodResponse>
> >         <params>
> >             <param>
> >                 <value>
> >                     <array>
> >                         <data>
> >                             <value>String 1</value>
> >                             <value>String 2</value>
> >                         </data>
> >                     </array>
> >                 </value>
> >             </param>
> >         </params>
> >     </methodResponse>
> >
> > Seems to be OK.
> >
> > Does kXMLRPC miss the implementation of Vector transfers? I can't
> imagine,
> > cause the parser fails at the data-, not the array-tag. Is it
> versioning
> > problem?
> >
> > Here's my enviroment:
> >
> > kXMLRPC 0.6
> > XMLRPC 1.1 from Apache
> > J2SE 1.4.1
> > Tomcat 4.0.1
> >
> > Relevant part of the servlet source:
> >
> >     import org.apache.xmlrpc.*;
> >
> >     public class XmlRpcServlet extends HttpServlet  {
> >
> >         // The xml-rpc server.
> >         final XmlRpcServer server = new XmlRpcServer();
> >
> >         public void init(ServletConfig config)throws ServletException{
> >
> >             // Config the xml-rpc server.
> >             XmlRpc.setDebug(true);
> >             server.addHandler("$default", this);
> >         }
> >
> >         public String getServerInfo() { return "XmlRpcServlet"; }
> > //"$Name$"; }
> >
> >         public Vector getProviders() {
> >             final Vector v = new Vector();
> >             v.add("String 1");
> >             v.add("String 2");
> >             return v;
> >         }
> >
> >         public void service(HttpServletRequest req,
> HttpServletResponse
> > res)throws ServletException, IOException{
> >             byte[] result = server.execute(req.getInputStream ());
> >             res.setContentType("text/xml");
> >             res.setContentLength(result.length);
> >             OutputStream output = res.getOutputStream();
> >             output.write(result);
> >             output.flush();
> >         }
> >     }
> >
> > Another question: If a XMLRPC call fails, the XmlRpcClient class
> returns the
> > result of the previous call. Is that desireable? Not sure of this.
> >
> > Greetings und thanks in advance,
> > Henrik
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Kuddi mailing list
> > [email protected]
> > http://support.enhydra.org/mailman/listinfo.cgi/kxmlrpc
> >
>