首页  >  文章  >  后端开发  >  soap调用无返回值值

soap调用无返回值值

WBOY
WBOY原创
2016-06-23 13:57:241571浏览

我使用$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 = '

'.CARSOLIZE_PASSWORD.' '.CARSOLIZE_USERNAME.'
'.$this->INPUT_VALIDATION['VALID']['date_from'].'T00:00:00 0 '.$this->INPUT_VALIDATION['VALID']['date_to'].'T00:00:00

';
$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没有值呢


回复讨论(解决方案)

缺少用户名和口令,无法进行测试

缺少用户名和口令,无法进行测试


用户名和密码是公司的,你想怎么测试,我可以把返回值贴出来,谢谢

你不是说  无返回值 吗?
既然能  可以把返回值贴出来
那还问什么?

1.__getlastresponse的返回值:
true1467API Dev\APi LiveAPI Dev\APi Live14672013-04-08T06:44:07.46Hotelbeds live2013-03-21T14:32:11.8236565SGD2063.866581HotelsCX13Hotelbeds28433336SGD327.06202.54000000000002EUR2013-05-09T00:00:002013-05-16T00:00:00SGD2063.861278.08EUR2013-05-15T00:00:002013-05-17T00:00:00SGD2063.861278.08EUR2013-05-18T00:00:00No show2013-05-18T00:00:002013-05-25T00:00:00633 Toyo, Kotoku, Tokyo, 1350016 Japan TokyoJP81-3-568357754032332East 21 +81 3 5683 56834135001626081AvailableRoom only ROStandard26081UserMr.TestAdult26083UserMrs.DummyAdultROOM ONLYDOUBLE SEMIDOUBLEDOUBLE SEMIDOUBLEDoubleAvailableRoom only ROStandard26082StigSirTheAdultROOM ONLYSINGLE STANDARDSINGLE STANDARDSingle1467API Dev\APi LiveAPI Dev\APi Live14672013-04-08T06:43:40.637GTA live b2b2013-03-28T09:35:56.3076990SGD3027006HotelsCX12GTAIiVpcP5twk+dJP+ts3G+aQ==993592SGD151151SGD2013-06-02T00:00:002013-06-07T00:00:00cancellationSGD302302SGD2013-06-08T00:00:00No show2013-06-08T00:00:002013-06-10T00:00:00730 Yellowst Rd, Cody, 824141123, Wy, Us CODY  YELLOWSTONE NATIONAL PARK AREAUS1-307-52762144088151Super 8 Cody 1-307-5276214227793AvailableRoom only ROStandard27793roseteMrvincentAdult27794condeMrjrAdultRoom onlyStandard Queen Non SmokingStandard Queen Non SmokingQueen
2.getorder无返回值
3.__getFunctions的返回值:
array(4) {
  [0]=>
  string(38) "UNKNOWN GetOrders(UNKNOWN $parameters)"
  [1]=>
  string(41) "UNKNOWN GetFinReport(UNKNOWN $parameters)"
  [2]=>
  string(38) "UNKNOWN GetOrders(UNKNOWN $parameters)"
  [3]=>
  string(41) "UNKNOWN GetFinReport(UNKNOWN $parameters)"
}
4.__getlastrequest的返回值:

**** **** 2013-01-12T00:00:00 0 2013-05-12T00:00:00

你不是说  无返回值 吗?
既然能  可以把返回值贴出来
那还问什么?


我用soapui测试,可以正常返回。难道soapui的返回值是通过soapclient的__getLastResponse返回的而不是通过getorders返回的

不经测试,我如何知道你写的是否正确?

不经测试,我如何知道你写的是否正确?


谢谢你,我好像知道问题了,我测试了一下,他们每个函数有两套,有一套有问题,没有返回值

我以为找到问题了,结果没找到问题,是有两个server,但是https://rd00155d3a2faa/BookingServices/OrdersService.svc所有的request都是没有响应的,不只是getOrder没有响应。

这个问题目前解决了吗?我也遇到了这样的问题

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn