【发布时间】:2012-03-11 01:05:58
【问题描述】:
我正在尝试使用 SOAP::Lite 在复杂的数据结构中传输 UTF-8 字符串。然而,事实证明,SOAP::Lite quietly converts all UTF-8 strings into base-64-encoded octets。问题在于反序列化 does not revert the conversion 并且只对 a straight base64 decode 进行。
这让我对用户应该如何确保他们从 SOAP::Lite 响应中获取 UTF-8 数据感到困惑。在树上行走并在所有字符串上运行decode_utf8 似乎很浪费。
有什么建议吗?
编辑:简而言之,我如何让this test 在没有猴子补丁的情况下通过?
【问题讨论】:
-
你考虑过 XML::Compile 吗?这是一段复杂的代码,但作者一丝不苟,以求正确支持。从我认识的使用过它的人那里,一旦你弄明白它对这些东西的效果会更好。我自己没有这方面的经验。
-
上次我看它时,我一开始不明白如何使用它。我认为我缺乏所需的领域知识(编写 XSD 等)。