Skip Menu |

This queue is for tickets about the SOAP-WSDL CPAN distribution.

Report information
The Basics
Id: 52775
Status: open
Priority: 0/
Queue: SOAP-WSDL

People
Owner: Nobody in particular
Requestors: BOLDRA [...] boldra.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 2.00_10
Fixed in: (no value)



Subject: incompatible with Test::MockObject (?!) q{Can't locate object method "new"}
I have class files generated by wsdl2perl, which do not work if 'Test::MockObject' has been loaded. I'm afraid I'm not sure whether SOAP::WSDL is doing naughty things, or whether it's Test::MockObject. I suspect both. The error generated is: Can't locate object method "new" via package "MyTypes::TableOfThingItems" at /usr/lib/perl5/site_perl/5.10/SOAP/WSDL/XSD/Typelib/ComplexType.pm line 225. As long as Test::MockObject is not loaded, the same classes work fine. No calls need to be made to Test::MockObject, and Import does not need to be called. I have reproduced this with cygwin perl 5.10.0 and Activestate perl for linux 5.10.0.
I believe this is related to Class::Std::Fast (a dependency of SOAP::WSDL). C::S::F redefines UNIVERSAL::isa(), and it's really, really hard to do that without breaking other things. You can try to work around this problem with this code: use SOAP::WSDL; # or whatever class files you generated using wsdl2perl.pl # immediately after that 'use': my $replacement_can; BEGIN { no warnings 'redefine'; $replacement_can = *UNIVERSAL::can{CODE}; *Class::Std::Fast::real_can{CODE} or die; *UNIVERSAL::can = *Class::Std::Fast::real_can{CODE}; }; That would likely break some functionality of SOAP::WSDL, but disabling this feature so far hasn't broken anything for more. I guess more testing is needed (remove this code and run unit tests, for example).
Hey all, I propose this ticket to be closed, to clear off the queue. The original ticket is 6 years old and no other usecase requests have been received since then. The response above suggests fixing this would be quite difficult, thus lacking usecase demand, it's not worth doing at this time. -- Cheers, ZZ [ https://metacpan.org/author/ZOFFIX ]