Написал серверок SOAP (на базе транспорта CGI), который предоставляет несколько функций.
Клиент может их вызывать, все вроде красиво.
но если в сервере функция вида
use utf8;
package Foo;
sub foo { return 'Вася Пупкин'; }
1;
то клиент вида
use utf8;
my $client = SOAP::Lite->new(proxy => $url, ns => 'Foo');
my $result = $client->call('foo')->result;
получает не utf8 строку.
приходится делать так:
use Encode qw(decode);
my $result = decode utf8 => $client->call('foo')->result;
Но, поскольку сервер возвращает сложные объекты (составные хеши с
массивами), то использовать Encode::decode крайне неудобно и не
хочется.
На сервере выключить использование utf8 не могу, поскольку сервер там
- набор модулей о ~60 мегабайтах суммарно и все они написаны с
use utf8.
в документации на SOAP::Lite что-то я не нашел как можно решать
указанную проблему.
А кто что посоветует?
--
... mpd playing: Accept - Neon Nights
. ''`. Dmitry E. Oboukhov
: :’ : email: [email protected] jabber://[email protected]
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
signature.asc
Description: Digital signature
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
