Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#131 SOAP::Lite serializes faults with wrong element order

0.70_beta
closed-fixed
Martin Kutter
7
2007-11-08
2007-11-08
Martin Kutter
No

SOAP::Lite serializes faults with wrong element order - detail is serialized before faultactor.

http://www.w3.org/2000/xp/Group/0/12/xp-f2f-redmond-soap-mapping

Intermediaries can report faults using the faultActor element:

The included diff fixes the issue.

Patch provided & reported by Tom Fischer by E-Mail - thanks !

diff -uw /usr/lib/perl5/vendor_perl/5.8.0/SOAP/Lite.pm /home/fischtom/Lite.pm
--- /usr/lib/perl5/vendor_perl/5.8.0/SOAP/Lite.pm 2007-11-08 14:53:43.000000000 +0100
+++ /home/fischtom/Lite.pm 2007-11-08 14:39:16.000000000 +0100
@@ -1482,8 +1482,8 @@
-> value(\SOAP::Data->set_value(
SOAP::Data->name(faultcode => SOAP::Utils::qualify($self->envprefix => $parameters[0]))->type(""),
SOAP::Data->name(faultstring => SOAP::Utils::encode_data($parameters[1]))->type(""),
- defined($parameters[3]) ? SOAP::Data->name(faultactor => $parameters[3])->type("") : (),
defined($parameters[2]) ? SOAP::Data->name(detail => do{my $detail = $parameters[2]; ref $detail ? \$detail : $ detail}) : (),
+ defined($parameters[3]) ? SOAP::Data->name(faultactor => $parameters[3])->type("") : (),
));
} elsif ($type eq 'freeform') {
SOAP::Trace::freeform(@parameters);

Discussion

  • Martin Kutter
    Martin Kutter
    2007-11-08

    Logged In: YES
    user_id=884175
    Originator: YES

    - fixed in CVS. Thanks !

     
  • Martin Kutter
    Martin Kutter
    2007-11-08

    • status: open --> closed-fixed