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
