/ / Perl SOAP :: Lite резултат само при отстраняване на грешки? - xml, perl, сапун, сапун-клиент

Perl SOAP :: Lite само в резултат на отстраняване на грешки? - xml, perl, сапун, сапун-клиент

Малко съм заседнал. Използвам SOAP :: Lite и той връща празен резултат.

Използвайки режима за отстраняване на грешки, виждам, че заявката е успешна. Къде е моята грешка?

use Data::Dumper;
use Encode;
use SOAP::Lite;

my $user="username";
my $password="password";
my $ean = "1234567890123"
my $service_url="http://produktdaten.xxx.net/soapschemes/EAN.wsdl";

my $client = SOAP::Lite->service($service_url);
$client->soapversion("1.2");
$client->envprefix("soap12");

my @headers = (
SOAP::Header->name("PID")->value($user),
SOAP::Header->name("password")->value($password) );

# make the call
my $result = $client->getProductsByEAN($user,$password,$ean);

print Dumper($result);

$ резултат отпечатва:

$VAR1 = "0";

Когато включа режима за отстраняване на грешки

use SOAP::Lite +trace => "debug";

, Взимам:

SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: close
Date: Sun, 30 Jun 2013 11:27:26 GMT
Pragma: no-cache
Server: nginx/1.4.0
Content-Length: 4447
Content-Type: application/soap+xml; charset=utf-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Client-Date: Sun, 30 Jun 2013 11:36:15 GMT
Client-Peer: x.x.x.x.x:80
Client-Response-Num: 1
Set-Cookie: xxx_CORE=344gb3h94nlmob7am9bmv3pv40; path=/
X-Powered-By: PHP/5.4.15

<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:xmethodsProductDataService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:getProductsByEANResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">7{......AND SO ON...]

Можете ли да ми кажете къде ми липсва това?

Благодаря предварително

Отговори:

0 за отговор № 1

Препоръчителен начин е да създадете класове по този начин: http://metacpan.org/pod/SOAP::WSDL::Manual

Можете да използвате SOAP :: WSDL да го направя:

 my $soap = SOAP::WSDL->new(
wsdl => "http://produktdaten.xxx.net/soapschemes/EAN.wsdl",
);



my $result = $soap->call("MyMethod", %data);