perl soapumlaut.pl |xml_pp
#!/usr/bin/perl --
use strict;
use warnings;
use SOAP::Lite;
use SOAP::Lite 0.65 +trace => 'debug';
use Encode;
print SOAP::Lite->new->serializer->envelope(
method => 'DreamT',
## xsd:base64Binary
# SOAP::Data->new(City => q!Säffle!),
# SOAP::Data->name( "City" => encode('UTF-8',q!Säffle!)),
## not well-formed (invalid token)
# SOAP::Data->type("xsd:string")->name( "City" => q!Säffle!),
## perfect
SOAP::Data->type("xsd:string")->name( "City" => encode('UTF-8',
+q!Säffle!)),
);
__END__
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/enc
+oding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:
+soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http:/
+/www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSche
+ma-instance">
<soap:Body>
<DreamT>
<City xsi:type="xsd:string">Säffle</City>
</DreamT>
</soap:Body>
</soap:Envelope>