X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fsoap.cgi;h=53f7368536f4327b4a71b60acd59a9ce811250d8;hb=3d04937fc0044e30b00196c48a5f258c08b00016;hp=2b68ddd2f89850698edfdff45de6fffe0770ad74;hpb=135a904f3e1f19a910753de819102111a9d65a70;p=debbugs.git diff --git a/cgi/soap.cgi b/cgi/soap.cgi index 2b68ddd..53f7368 100755 --- a/cgi/soap.cgi +++ b/cgi/soap.cgi @@ -19,13 +19,16 @@ my $soap = Debbugs::SOAP::Server # soapy is stupid, and is using the 1999 schema; override it. *SOAP::XMLSchema1999::Serializer::as_base64Binary = \&SOAP::XMLSchema2001::Serializer::as_base64Binary; *SOAP::Serializer::as_anyURI = \&SOAP::XMLSchema2001::Serializer::as_string; +# do this twice to avoid the warning if the serializer doesn't get +# used +*SOAP::XMLSchema1999::Serializer::as_base64Binary = \&SOAP::XMLSchema2001::Serializer::as_base64Binary; +*SOAP::Serializer::as_anyURI = \&SOAP::XMLSchema2001::Serializer::as_string; # to work around the serializer improperly using date/time stuff # (Nothing in Debbugs should be looked at as if it were date/time) we # kill off all of the date/time related bits in the serializer. my $typelookup = $soap->serializer()->{_typelookup}; for my $key (keys %{$typelookup}) { - next unless defined $_ and /Month|Day|Year|date|time|duration/i; - delete $typelookup->{$key}; + delete $typelookup->{$key} if defined $key and $key =~ /Month|Day|Year|date|time|duration/i; } our $warnings = '';