Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

NuSOAP, WSDL - kako do liste metoda sa argumentima

[es] :: Advanced PHP :: NuSOAP, WSDL - kako do liste metoda sa argumentima

[ Pregleda: 1391 | Odgovora: 0 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.boox.co.yu

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon NuSOAP, WSDL - kako do liste metoda sa argumentima27.08.2004. u 14:09

Nedavno sam pod uticajem jednog članka u phparchu počeo da se igram sa SOAP-om koristeći nusoap. Da bih malo probao kako to u praksi radi, želeo sam da probam Amazonove Web servise. Ono što me trenutno interesuje (a što nisam nikako uspeo da provalim) je na koji način mogu doći do liste metoda sa sve input i output argumentima iz wsdl fajla, ali koristeći nusoap.

Da budem precizniji, napisao sam sledeći test script da bih uradio isto:

Code:

<?php

require("nusoap.php");

$wsdl_client = new wsdl("http://soap.amazon.com/schemas2/AmazonWebServices.wsdl");
$operations = $wsdl_client->getOperations();

foreach ($operations as $key => $value)
{
    echo "$key<br>";    
    $operations_data_array = $wsdl_client->getOperationData($key);    
    echo "INPUT:<br>";
    echo "<pre>";
    var_dump($operations_data_array['input']);
    echo "</pre>";
    echo "OUTPUT<br>";
    echo "<pre>";
    var_dump($operations_data_array['output']);
    echo "</pre>";
}
?>


Na ovaj način dobijem recimo za KeywordSearchRequest sledeće:
Code:
KeywordSearchRequest
INPUT:

array(5) {
  ["use"]=>
  string(7) "encoded"
  ["encodingStyle"]=>
  string(41) "http://schemas.xmlsoap.org/soap/encoding/"
  ["namespace"]=>
  string(22) "http://soap.amazon.com"
  ["message"]=>
  string(20) "KeywordSearchRequest"
  ["parts"]=>
  array(1) {
    ["KeywordSearchRequest"]=>
    string(37) "http://soap.amazon.com:KeywordRequest"
  }
}

OUTPUT

array(5) {
  ["use"]=>
  string(7) "encoded"
  ["encodingStyle"]=>
  string(41) "http://schemas.xmlsoap.org/soap/encoding/"
  ["namespace"]=>
  string(22) "http://soap.amazon.com"
  ["message"]=>
  string(21) "KeywordSearchResponse"
  ["parts"]=>
  array(1) {
    ["return"]=>
    string(34) "http://soap.amazon.com:ProductInfo"
  }
}


Ali u AWS dokumentaciji lista argumenata za metod je potpuno drugačija, što mogu i videti ako ručno pogledam u wsdl fajl. Dakle za pomenuti metod:
Code:

<xsd:all>
<xsd:element name="keyword" type="xsd:string"/>
<xsd:element name="page" type="xsd:string"/>
<xsd:element name="mode" type="xsd:string"/>
<xsd:element name="tag" type="xsd:string"/>
<xsd:element name="type" type="xsd:string"/>
<xsd:element name="devtag" type="xsd:string"/>
<xsd:element name="sort" type="xsd:string" minOccurs="0"/>
<xsd:element name="variations" type="xsd:string" minOccurs="0"/>
<xsd:element name="locale" type="xsd:string" minOccurs="0"/>
</xsd:all>


Da li neko zna kako mogu izvući pravu listu argumenata za određeni metod pomoću nosap-a ?

Hvala na pomoći :)
27.08.2004. u 14:09 

[es] :: Advanced PHP :: NuSOAP, WSDL - kako do liste metoda sa argumentima

[ Pregleda: 1391 | Odgovora: 0 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.