日期:2014-05-16  浏览次数:20395 次

soap调用无返回值值
本帖最后由 rosecshly0928 于 2013-05-08 12:36:30 编辑
我使用$result = $this->CLIENT->GetOrders(new SoapVar($XMLSearch,XSD_ANYXML));调用soap的GetOrders函数,无返回值,但是我使用$this->CLIENT->__getLastRequest();可以得到我想要的结果的xml格式。

1.我new了一个soapclient,
$this->CLIENT = new SoapClient('http://services.carsolize.com/BookingServices/OrdersService.svc?wsdl',
array(
/*"SoapAction" => "urn:IOrdersService/GetOrders",*/
'exceptions' => true,
"trace" => 1,
)
);
2.发送请求:
try{
$XMLSearch = '<GetOrders>
<request xmlns:a="http://schemas.datacontract.org/2004/07/IsuBe.Public.Enteties.Orders" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ClientIP i:nil="true"/> <a:Credentials> <Password>'.CARSOLIZE_PASSWORD.'</Password> <UserName>'.CARSOLIZE_USERNAME.'</UserName>
</a:Credentials> <a:FromDate>'.$this->INPUT_VALIDATION['VALID']['date_from'].'T00:00:00</a:FromDate> <a:OrdersToSkip>0</a:OrdersToSkip> <a:ToDate>'.$this->INPUT_VALIDATION['VALID']['date_to'].'T00:00:00</a:ToDate>
</request>
</GetOrders>';
$result = $this->CLIENT->GetOrders(
new SoapVar($XMLSearch,XSD_ANYXML)
);
var_dump($this->CLIENT->__getFunctions());
echo $this->CLIENT->__getLastResponse());
var_dump($this->CLIENT->__getTypes());

echo $result ;
}catch(Exception $e){
echo $e->getMessage();
}
3.$result是空的,什么也没打印出来,也没有报错,但是$this->CLIENT->__getLastResponse()有值
我不知道问题出在什么地方,为什么getlastresponse又值而getorder没有值呢

------解决方案--------------------
缺少用户名和口令,无法进行测试