[Xml-compile] XML::Compile::SOAP 2.02 woes (2)
    Gert Doering 
    gert at space.net
       
    Wed Mar 18 15:43:26 GMT 2009
    
    
  
Hi,
update - the test case displayed the problem, but hid the cause.
 - if the string is "native ISO 8859-1", it will be sent as ISO 8859-1
 - if the string is promoted to UTF8 before sending (utf8::upgrade),
   the resulting message will be sent as UTF8
 - if some *other* part of the request hash has been promoted to UTF8, that 
   other part will be sent as UTF8, but any not-yet-prompted bits of the 
   hash will keep being "native", so the following code fragment will
   create a weird-encoded message:
my $string = 'C0815-4711-äöü';
my $id = '200711250087ä';
utf8::upgrade($id);
my %request =
    ( parameters => {userName => 'user',
                     password => 'pass'},
      WEBINT_TICKETID     => $string,
      WEBINT_CUSTTICKETID => $id,
    );
on the wire:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header><s:AuthenticationInfo xmlns:s="urn:TDeModify"><s:userName>user</s:userName><s:password>pass</s:password></s:AuthenticationInfo></SOAP-ENV:Header><SOAP-ENV:Body><s:OpSelfTest xmlns:s="urn:TDeModify"><s:WEBINT_CUSTTICKETID>200711250087..</s:WEBINT_CUSTTICKETID><s:WEBINT_TICKETID>C0815-4711-...</s:WEBINT_TICKETID></s:OpSelfTest></SOAP-ENV:Body></SOAP-ENV:Envelope>
(two "." for the single umlaut in $id, 3 "." for the *three* umlauts in
$string)
- so the problem seems to be that automagic promotion to UTF-8 when
building the XML is not happening.
Nicely enough - *if* I call utf8::upgrade() before passing the hash
to XML::Compile::SOAP, it will now work with HTTP and with HTTPS (long-
standing source of pain).
So, for my usage cases, I can work around this problem (if needed).
Gert Doering
        -- NetMaster
-- 
Total number of prefixes smaller than registry allocations:  128645
SpaceNet AG                        Vorstand: Sebastian v. Bomhard
Joseph-Dollinger-Bogen 14          Aufsichtsratsvors.: A. Grundner-Culemann
D-80807 Muenchen                   HRB: 136055 (AG Muenchen)
Tel: +49 (89) 32356-444            USt-IdNr.: DE813185279
    
    
More information about the Xml-compile
mailing list