Running get_bug_log against this report returns bad response: https://bugs.debian.org/557671 message #45 will yield: <item> <body xsi:type="xsd:long">4327390041297022</body> I get that that bug report has a lot of spam, but debbugs prob shouldn't ever return a <body> with xsi:type other than xsd:long.
err, obviously I meant <body> should always have xsi:type of *xsd:string*
The type of the transmitted data is determined automatically by Perl; how it does that is described here: https://manpages.debian.org/bullseye/libsoap-lite-perl/SOAP::Serializer.3pm.en.html#AUTOTYPING https://manpages.debian.org/bullseye/libsoap-lite-perl/SOAP::Lite.3pm.en.html#TROUBLESHOOTING Debbugs already disables some of the possible types around here: https://salsa.debian.org/debbugs-team/debbugs/-/blob/master/cgi/soap.cgi#L49 I suspect it should not disable the auto-detection completely because at least some of the remaining types are actually needed. This means there will always remain corner cases where it guesses wrong. Being prepared for this on the client side is a good idea. Python-debianbts solves the problem in get_bug_log() by (mostly) ignoring the xsi:type for message bodies and always converting them to string.
it seems like the use of auto-detection was more for quick prototyping convenience than it should be relied upon long term. the schema should be a fixed thing at this point: every response down to the field and its type should be written in stone. making every client copy & paste the same set of workarounds for bad server responses sounds like the wrong trade-off. at that point, why bother sending type information in the responses if clients can't rely on them ? i get that the server is misbehaving now so clients don't have much choice but to workaround them, but the server response should be fixed nevertheless.
Happy to accept patches to fix the XML serialization in SOAP. The way that Debbugs is doing it is clearly not correct, but fixing it isn't high on my priority list. [Really, it's past time for us to support a REST interface and abandon the SOAP interface.]
i've dug around the source a bit. tbh, the exclusive use of perl makes it a pretty big barrier for contribution, and so it's unlikely i'll be able to offer anything substantial. i was barely able to get it running using the incomplete/buggy README instructions. i'm not asking/suggesting it be rewritten in a diff language of course as i grok the long history and such. just explaining why it's unlikely i'll be sending any useful code patches.