Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Help with SOAP::Lite error

by Anonymous Monk
on Dec 11, 2012 at 04:59 UTC ( #1008212=note: print w/ replies, xml ) Need Help??


in reply to Help with SOAP::Lite error

Martin Kutter (the author of this module) conveyed that I could be missing an API, which I am still not sure of as I went through all the documentation. Can you please help review this and point out the error? Thanks

He said what?

If you change that line in SOAP.pm to  ? (%{$_[$param]} = eval{%$$value}||%$value)

Then you won't get the error, but whether that is the correct thing, I have no idea (if it is , then surely other parts need patching)


Comment on Re: Help with SOAP::Lite error
Download Code
Re^2: Help with SOAP::Lite error
by Anonymous Monk on Dec 11, 2012 at 16:15 UTC

    He suggested that I might not be using an API correctly but I don't know what it is. I looked at the 0.60a version and created a patch and sent it to the author to get it reviewed and I wasn't sure if I am breaking something else. Here are the changes, please help review and bless them :)

    diff C:/Perl/site/lib/SOAP/Lite_0.715.pm C:/Perl/site/lib/SOAP/Lite.p +m 1964,1973c1964 < if ( defined o_child($node) ) { < my @children; < foreach my $child ( @{ o_child($node) } ) { < push( @children, $self->_as_data($child) ); < } < $data->set_value( \SOAP::Data->value(@children) ); < } < else { < $data->set_value( o_value($node) ); < } --- > $data->set_value( o_value($node) ); 1993c1984 < die "Incorrect parameter" unless $itself =~/^\d$/; --- > die "Incorrect parameter" unless $itself =~ /^\d*$/;

      He suggested that I might not be using an API correctly but I don't know what it is

      He suggested what?

      See, I can repeat myself also :)

      Here are the changes, please help review and bless them :)

      No thanks, I hate SOAP (especially ancient SOAP), autoload and autodispatch, and isolated patches without tests for modules I don't maintain -- I'm not qualified

        Thanks for the hint on tests. I executed all tests that come with the module against my patch and all of them passed :)

        C:\SOAP-Lite-0.715>dmake test C:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/01-core.t t/010-serializer.t t/012-cloneab +le.t t/013 -array-deserialization.t t/014_UNIVERSAL_use.t t/015_UNIVERSAL_can.t t +/02-payloa d.t t/03-server.t t/04-attach.t t/05-customxml.t t/06-modules.t t/07-x +mlrpc_payl oad.t t/08-schema.t t/096_characters.t t/097_kwalitee.t t/098_pod.t t/ +099_pod_co verage.t t/SOAP/Data.t t/SOAP/Serializer.t t/SOAP/Lite/Packager.t t/SO +AP/Lite/De serializer/XMLSchema1999.t t/SOAP/Lite/Deserializer/XMLSchema2001.t t/ +SOAP/Lite/ Deserializer/XMLSchemaSOAP1_1.t t/SOAP/Lite/Deserializer/XMLSchemaSOAP +1_2.t t/SO AP/Schema/WSDL.t t/SOAP/Transport/HTTP.t t/SOAP/Transport/IO.t t/SOAP/ +Transport/ LOCAL.t t/SOAP/Transport/MAILTO.t t/SOAP/Transport/POP3.t t/SOAP/Trans +port/HTTP/ CGI.t t/XML/Parser/Lite.t t/XMLRPC/Lite.t t/01-core.t .................................. ok t/010-serializer.t ........................... ok t/012-cloneable.t ............................ ok t/013-array-deserialization.t ................ ok t/014_UNIVERSAL_use.t ........................ ok t/015_UNIVERSAL_can.t ........................ ok t/02-payload.t ............................... ok t/03-server.t ................................ ok t/04-attach.t ................................ ok t/05-customxml.t ............................. ok t/06-modules.t ............................... ok t/07-xmlrpc_payload.t ........................ ok t/08-schema.t ................................ ok t/096_characters.t ........................... skipped: (no reason giv +en) t/097_kwalitee.t ............................. skipped: (no reason giv +en) t/098_pod.t .................................. skipped: (no reason giv +en) t/099_pod_coverage.t ......................... skipped: (no reason giv +en) t/SOAP/Data.t ................................ ok t/SOAP/Lite/Deserializer/XMLSchema1999.t ..... ok t/SOAP/Lite/Deserializer/XMLSchema2001.t ..... ok t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.t .. ok t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.t .. ok t/SOAP/Lite/Packager.t ....................... ok t/SOAP/Schema/WSDL.t ......................... ok t/SOAP/Serializer.t .......................... ok t/SOAP/Transport/HTTP.t ...................... ok t/SOAP/Transport/HTTP/CGI.t .................. ok t/SOAP/Transport/IO.t ........................ ok t/SOAP/Transport/LOCAL.t ..................... ok t/SOAP/Transport/MAILTO.t .................... skipped: Cannot test wi +thout Test ::MockObject t/SOAP/Transport/POP3.t ...................... ok t/XML/Parser/Lite.t .......................... ok t/XMLRPC/Lite.t .............................. ok All tests successful. Files=33, Tests=870, 8 wallclock secs ( 0.36 usr + 0.16 sys = 0.51 +CPU) Result: PASS

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1008212]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2015-07-04 09:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (59 votes), past polls