Thanks for the suggestion James.  The problem was that
I do not write/maintain code on the server.  It is
done in python by python hackers in our groups.  They
eventually fixed the problem for me.

thanks again,
mike

--- James Carroll <[EMAIL PROTECTED]> wrote:
> 
> Don't hurt me, but why not transfer your  long int 
> as a string?
> 
> It does get converted to a string for the xmlrpc
> transfer anyway.
> 
> On the server side, you simply return
>       return "" + longVal
> instead of 
>       return longVal
> 
> And on the client side, you accept a string... and
> then Long.parseLong()
> 
> There's really no performance problem, and you don't
> have to create
> non-spec implemantions of xmlrpc.
> 
> -Jim
> 
> 
> > -----Original Message-----
> > From: mike marsh [mailto:[EMAIL PROTECTED]] 
> > Sent: Friday, September 20, 2002 11:28 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: cannot marshal ...
> > 
> > 
> > Hi Ryan,
> > 
> > Part of the problem is that I don't do the
> maintenance
> > of the Zope server code.  Someone else does that. 
> > Another person is using a python XmlRpc client to
> > connect to the Zope server, and his code can
> interpret
> > the "long int" without a problem.
> > 
> > I read the XmlRpc Types page on the xml.apache.org
> > website. And I see that there is no definition for
> > "long int".  I suppose that Zope's XmlRpc server
> has
> > extended the spec to include "long int", so I need
> to
> > know how to hack the XmlRpc classes so that they
> can
> > parse "long int".
> > 
> > thanks,
> > mike
> > 
> > --- Ryan Hoegg <[EMAIL PROTECTED]> wrote:
> > > Hi Mike,
> > > 
> > > You may want to read the XML-RPC spec at
> http://www.xmlrpc.com/spec 
> > > for more information on the data types supported
> by
> > > XML-RPC.  In the "Scalar 
> > > <value>s" section, it says that integers are
> "four
> > > byte signed integers" 
> > > and are denoted by <i4> or <int>.  Further down
> in
> > > the 1/21/99 update, 
> > > specific questions about allowable ranges for
> int
> > > and double are 
> > > mentioned.  It says that int is strictly defined
> as
> > > 32 bit, while double 
> > > is "implementation-dependent".
> > > 
> > > It seems to me that your options are to somehow
> pack
> > > your large numbers
> > > into the other data types (string or several
> ints)
> > > or to use a different 
> > > web services protocol like SOAP.
> > > 
> > > If it was my project I might try using the
> packed
> > > int approach, i.e. 4
> > > 32 bit ints are packed to make a single 128 bit
> int.
> > >  You could put them 
> > > in a struct or a vector, the advantage of the
> struct
> > > being that you can 
> > > explicitly name them "int-byte1", "int-byte2",
> etc.
> > > 
> > > --
> > > Ryan Hoegg
> > > ISIS Networks
> > > 
> > > mike marsh wrote:
> > > 
> > > >I learned about XMLRPC only a few days ago, so
> if
> > > it
> > > >sounds like I don't know what I'm talking about
> > > >then...I don't.
> > > >
> > > >MY QUESTION:
> > > >I think I want to know how to make my
> XmlRpcClient understand 
> > > ><value><long int> 1524335 </long
> > > >int></value>.
> > > >
> > > >MY SITUATION:
> > > >I need to connect to a Zope database via
> XmlRpc.  I
> > > >try calling a particular method, but an
> > > >XmlRpcException gets thrown.  The exception
> string
> > > >says "cannot marshal <type 'long int'>.  I
> suppose
> > > I
> > > >need an XmlRpc parser that can interpret <long
> int>
> > > >and create a Long object.  Can someone tell me
> how
> > > to
> > > >modifiy org.apache.xml.XmlRpc.java?
> > > >
> > > >Below is some more info that may help explain
> my
> > > >problem.
> > > >
> > > >Thanks in advance,
> > > >mike
> > > >
> > > >STACK TRACE:
> > > >My code generates the following stack trace.
> > > >org.apache.xmlrpc.XmlRpcException: Unexpected
> Zope
> > > >exception: cannot marshal <type 'long int'>
> objects
> > > >        at
> > >
> >
>
>org.apache.xmlrpc.XmlRpcClient$Worker.execute(XmlRpcClient.java:414)
> > > >        at
> > >
> >
>
>org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:149)
> > > >        at
> > > >ncmi.dbclient.DBClient.query(DBClient.java:42)
> > > >        at
> > > ncmi.dbclient.Browser.main(Browser.java:91)
> > > >
> > > >Client calling procedure 
> > >
> >'EMDB.Groups.Group_1.Project_59.Microscopy.values'
> > > >with parameters []
> > > >Beginning parsing XML input stream
> > > >startElement: methodResponse
> > > >startElement: value
> > > >startElement: struct
> > > >startElement: member
> > > >startElement: name
> > > >endElement: name
> > > >startElement: value
> > > >startElement: int
> > > >endElement: int
> > > >endElement: value
> > > >endElement: member
> > > >startElement: member
> > > >startElement: name
> > > >endElement: name
> > > >startElement: value
> > > >startElement: string
> > > >endElement: string
> > > >endElement: value
> > > >endElement: member
> > > >endElement: struct
> > > >endElement: value
> > > >endElement: fault
> > > >endElement: methodResponse
> > > >DEBUG:
> > > >
> > > 
> > 
> > 
> > __________________________________________________
> > Do you Yahoo!?
> > New DSL Internet Access from SBC & Yahoo!
> > http://sbc.yahoo.com
> > 


__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com

Reply via email to