Re: Nestled type
| From: | Knut Urdalen | Date: | Sun, 25 Sep 2005 17:12:20 +0000 |
| Subject: | Re: Nestled type | ||
| References: | 1 2 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-2011@lists.php.net to get a copy of this message | ||
Hi Moritz,
I'm not sure how you defined your classes, but from the complexType's
definition you provided I basically would be doing the following:
class GetModifiedOrdersInput {
public $QueryRequestHeader; // que:queryRequestHeader
public $FromDate; // xs:dateTime
public $ToDate; // xs:dateTime
public $OrderQueryOptions; // que:orderQueryOptions
}
class queryRequestHeader {
public $PartnerCode; // xs:string
public $AuthToken; // que:authToken
public $ReplayToken; // xs:string
public $UseReplayToken; // xs:boolean
}
class orderQueryOptions {
public $ReturnProductDetail; // xs:boolean
public $ReturnContacts; // xs:boolean
public $ReturnCertificateInfo; // xs:boolean
public $ReturnFulfillment; // xs:boolean
public $ReturnCACerts; // xs:boolean
public $ReturnOrderAttributes; // xs:boolean
}
$query_opts = new orderQueryOptions();
$query_opts->ReturnContacts = true;
$header = new queryRequestHeader();
$header->PartnerCode = 'topsecret';
$request = new GetModifiedOrdersInput();
$request->QueryRequestHeader = $header;
$request->OrderQueryOptions = $query_opts;
$client = new SoapClient($wsdl, array('trace' => 1, 'exceptions' => 0,
'classmap' => array('GetModifiedOrdersInput' =>
'GetModifiedOrdersInput', 'queryRequestHeader' =>
'queryRequestHeader',
'orderQueryOptions' => 'orderQueryOptions')));
$result = $client->someFunction($request);
print 'Request: '.$client->__getLastRequest();
print 'Response: '.$client->__getLastResponse();
var_dump($result);
ext/soap handles nested classes, use classmap to explicit say what PHP
class you want as response, else ext/soap will return stdClass.
Manually typing all the PHP class code from WSDL types is what I try to
avoid in wsdl2php.
Regards,
Knut Urdalen
Software Developer
Telio AS