php soap throwing specified cast is not valid -
the request xml format need create is:
<?xml version="1.0" encoding="utf-8"?> <soap-env:envelope xmlns:ns1="http://tempuri.org/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:body> <ns1:getpagingdata> <ns1:guid>connection session identifier goes here</ns1:guid> <ns1:datarequest> <ns1:objecttype>hotelservices</ns1:objecttype> <ns1:pagesize>10</ns1:pagesize> <ns1:pageindex>1</ns1:pageindex> <ns1:filters> <ns1:datafilterpair> <ns1:key>accommodation_datechekin</ns1:key> <ns1:values> <ns1:anytype>2015-07-15</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_datechekout</ns1:key> <ns1:values> <ns1:anytype>2015-07-20</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_mrkey</ns1:key> <ns1:values> <ns1:anytype>13</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_rate</ns1:key> <ns1:values> <ns1:anytype>eu</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_pax</ns1:key> <ns1:values> <ns1:anytype>2</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_partnerkey</ns1:key> <ns1:values> <ns1:anytype>3722</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_partnergroupkey</ns1:key> <ns1:values> <ns1:anytype>4391</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_quotetype</ns1:key> <ns1:values> <ns1:anytype>1</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_hotelkey</ns1:key> <ns1:values> <ns1:anytype>2265</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_tariffs</ns1:key> <ns1:values> <ns1:anytype>0</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_accommodationkey</ns1:key> <ns1:values> <ns1:anytype>2233</ns1:anytype> </ns1:values> </ns1:datafilterpair> <ns1:datafilterpair> <ns1:key>accommodation_pansionkey</ns1:key> <ns1:values> <ns1:anytype>41</ns1:anytype> </ns1:values> </ns1:datafilterpair> </ns1:filters> <ns1:columnnames> <ns1:string>hotelname</ns1:string> <ns1:string>hotelkey</ns1:string> <ns1:string>rtcode</ns1:string> <ns1:string>rtkey</ns1:string> <ns1:string>rcname</ns1:string> <ns1:string>rckey</ns1:string> <ns1:string>rdname</ns1:string> <ns1:string>rdkey</ns1:string> <ns1:string>acname</ns1:string> <ns1:string>ackey</ns1:string> <ns1:string>pncode</ns1:string> <ns1:string>pnkey</ns1:string> <ns1:string>cost</ns1:string> <ns1:string>detailbrutto</ns1:string> <ns1:string>quotetype</ns1:string> <ns1:string>countrykey</ns1:string> <ns1:string>citykey</ns1:string> <ns1:string>hotelwebsite</ns1:string> <ns1:string>tariffid</ns1:string> <ns1:string>tariffname</ns1:string> <ns1:string>tariffdescription</ns1:string> </ns1:columnnames> </ns1:datarequest> </ns1:getpagingdata>
when check request make $client->__getlastrequest() same format shown above error well:
"server unable process request. ---> specified cast not valid."
my functions:
public function makecall($methodname, $methodparams) { try { $res = $this->client->__soapcall($methodname, array('parameters'=>$methodparams)); return $res; } catch(soapfault $sf) { $this->printpre("an error occured while calling function ".$methodname."!"); $this->printpre($sf); $this->printpre($this->client->__getlastrequest(), 4); } return null; } public function printpre($string, $type=3) { print "<pre>"; switch($type) { case 1: print $string; break; case 2: print_r($string); break; case 3: var_dump($string); break; case 4: var_dump(htmlspecialchars($string)); break; } print "</pre>"; } public function getpagingdata() { $params = array( 'guid'=>$this->getconnectionstring(), 'datarequest'=>array( 'objecttype'=>'hotelservices', 'pagesize'=>10, 'pageindex'=>1, 'filters'=>array( array('key'=>'accommodation_datechekin', 'values'=>array('2015-07-15')), array('key'=>'accommodation_datechekout', 'values'=>array('2015-07-20')), array('key'=>'accommodation_mrkey', 'values'=>array(13)), array('key'=>'accommodation_rate', 'values'=>array('eu')), array('key'=>'accommodation_pax', 'values'=>array(2)), array('key'=>'accommodation_partnerkey', 'values'=>array(3722)), array('key'=>'accommodation_partnergroupkey', 'values'=>array(4391)), array('key'=>'accommodation_quotetype', 'values'=>array(1)), array('key'=>'accommodation_hotelkey', 'values'=>array(2265)), array('key'=>'accommodation_accommodationkey', 'values'=>array(2233)), array('key'=>'accommodation_pansionkey', 'values'=>array(41)) ), 'columnnames'=>array('hotelname', 'hotelkey', 'rtcode', 'rtkey', 'rcname', 'rckey', 'rdname', 'rdkey', 'acname', 'ackey', 'pncode', 'pnkey', 'cost', 'detailbrutto', 'quotetype', 'countrykey', 'citykey', 'hotelwebsite', 'tariffid', 'tariffname', 'tariffdescription') ) ); $allpagingdata = $this->makecall('getpagingdata', $params); $this->printpre($allpagingdata); } is error related anytype field needs sent? need convert kind of other format? tryed strtotime date no luck. appreciated!
thank !
Comments
Post a Comment