use checkVatService;
use SOAP::Lite +trace => qw( debug );
my $validity = new checkVatService;
$validity->readable(1);
$validity->want_som(1);
$response = $validity->checkVat("IE" , "1234567890");
Throws the namespace error for me also. At this point I'd be inclined to contact their admin and mention that the wsdl file for the service is incorrect and supply the exception thrown. However in the spirit of enquiry I changed the xmlns and added the parameters
SOAP::Data->new(name => 'requesterCountryCode', type => 'xsd:string',
+ attr => {}),
SOAP::Data->new(name => 'requesterVatNumber', type => 'xsd:string', a
+ttr => {}),
just to see if they had become required in order to prevent abuse (see their demonstration app
http://ec.europa.eu/taxation_customs/vies/ ) however no joy, so we now have an unknown uncaught NullPointer with no hints in the message string, rather than second guess their entire application contact their admin.
Not only does it help you it helps everyone else who uses the service and guessing what is wrong in their app is not going to make your life any easier,
print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."