Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^4: checkVat - SOAP::Lite

by Anonymous Monk
on May 04, 2011 at 15:15 UTC ( #902906=note: print w/replies, xml ) Need Help??

in reply to Re^3: checkVat - SOAP::Lite
in thread checkVat - SOAP::Lite

FWIW, I would have never gone digging that up, I just supplied 0 0

Anyway, it doesn't look like you should bother the nice admin, though he should have supplied example session if you ask me
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope soap:encodingStyle=" +oding/" xmlns:apachesoap="" xmlns:impl= +"" xmlns:soap="http://sc" xmlns:soapenc="http://schemas.xmlso" xmlns:tns1=" +es:checkVat:types" xmlns:wsdl="" xmln +s:wsdlsoap="" xmlns:xsd="http://" xmlns:xsi=" +a-instance"> <soap:Body> <impl:checkVat> <countryCode xsi:type="xsd:string">IE</countryCode> <vatNumber xsi:type="xsd:string">1234567890</vatNumber> </impl:checkVat> </soap:Body> </soap:Envelope>
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=" +elope/"> <SOAP-ENV:Body> <tns1:checkVat xmlns:tns1=" +eckVat:types"> <tns1:countryCode>IE</tns1:countryCode> <tns1:vatNumber>1234567890</tns1:vatNumber> </tns1:checkVat> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Could you get SOAP::Lite to generate that kind of SOAP? Probably, but having done it before, I wouldn't bother , too much typing :)

Replies are listed 'Best First'.
Re^5: checkVat - SOAP::Lite
by Anonymous Monk on May 04, 2011 at 15:19 UTC
    I forgot to say, the SOAP::Simple generated soap request returns 200 OK and data
    $VAR1 = { 'parameters' => { 'requestDate' => '2011-05-04+02:00', 'vatNumber' => '1234567890', 'valid' => 0, 'countryCode' => 'IE' } };
      Unfortunately, we're not in control of the server that we're installing it to, so installing SOAP::Simple isn't an alternative. So I copied your xml output and did it the ugly way:
      #!/usr/bin/perl -w use strict; use LWP::UserAgent; use HTTP::Request::Common; my $userAgent = LWP::UserAgent->new(agent => 'perl post'); my $message = qq^<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=" +elope/"> <SOAP-ENV:Body> <tns1:checkVat xmlns:tns1=" +eckVat:types"> <tns1:countryCode>IE</tns1:countryCode> <tns1:vatNumber>1234567890</tns1:vatNumber> </tns1:checkVat> </SOAP-ENV:Body> </SOAP-ENV:Envelope>^; my $response = $userAgent->request(POST ' +customs/vies/services/checkVatService', Content_Type => 'text/xml', Content => $message); print $response->error_as_HTML unless $response->is_success; print $response->as_string;
      However, I will of course push for getting the SOAP::Simple installed on the target server, but this solved the immediate problem. Thanks!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://902906]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2018-02-22 11:16 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (291 votes). Check out past polls.