Perl SOAP服务器不再返回base64

时间:2017-12-06 18:53:27

标签: perl web-services soap

多年前,我在Windows Server 2000上运行了一些Perl SOAP :: Transport :: HTML服务器。在该机器上,当服务的返回字符串包含可能破坏soap信封的字符时,perl会自动将字符串编码为base64,然后客户处理。

最近,脚本已移至运行Server 2008和Perl 5.22.1的计算机上。该服务工作正常,除非返回字符串具有这样的字符:字符串未编码,SOAP信封返回客户端为空。

如何强制返回字符串为base64?当然我可以使用MIME :: base64来编码字符串,但SOAP信封仍然指示类型文本,并且在客户端没有正确转换。

use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI   
-> dispatch_to('MyMod')
-> handle;

1 个答案:

答案 0 :(得分:0)

我最终使用MIME :: base64对字符串进行编码并对响应进行了重复处理,以便客户端将响应字符串解码为base64,即使soap响应继续指示类型字符串。适合我 - 对于这个非常具体的应用来说已经足够了。

仍然无法找到如何强制perl编码响应。