I would not think that the error is related to the size.
The error points more into an issue with the building of the XML of the hash. Could it be the case that the directory contains a file with the same name and thus the building of the XML file fails?
I would suggest that you serialize the hash before using SOAP::Lite.
Have a look at this link for some further guideance
http://tardate.blogspot.com/2007/02/complex-soaplite-requests-my-rules-for.html | [reply] |
Ive tried 3 distinct directories now. All fail when the size of the return reaches ~0x3FFF. I even tried building a hash with numbers from 0-50K. Same result.
To be clear: Im not doing any special work with the Soap return values. Im letting the package do all the marshaling for me. It has worked great as long as Ive stayed below the apparent max values.
Chances are good that Im doing something ignorant here. I'd be more than happy to eat the proverbial crow and have the error be mine. If someone wants to point it out and rub my nose in it Im ok with that. I need Soap::Lite to work. I *really* don't want to have to go back and re-write tons of code in C++.
| [reply] |
Chances are good that Im doing something ignorant here.
Unfortunately, I think chances are better that there's some serialisation bug in SOAP::Lite ;)
Obviously the size of the data-structure should have no impact on serialisation. If you've tested at just below and just above 0x3FFF and can repeat the result, then report a bug. There are many 1+ year old bugs there so I don't know whether that will help, but documenting the bug can't hurt.
The serialisation classes don't look too complicated... you may wish to have a go at debugging this yourself.
Martin Kutter would seem to be the active maintainer (someone please correct me if necessary), so you could probably direct any questions (which get raised in tracking it down yourself) to him. Martin wrote SOAP::WSDL (one of my favourite modules) which takes the hassle out of the client-side... I'm pretty sure he understands the SOAP::Lite codebase well ;)
-David
| [reply] |