好吧,我正在尝试连接到使用OTA
XML架构的Web服务
( “
http://www.opentravel.org/OTA/2003/05/GetVehAvailRate”)
这个网络服务托管在rentcentric.com,这是一个在线预订和预订的托管解决方案,系统需要用户名和密码来连接和到目前为止,每次连接尝试都会产生一个空白的白页.
没有错误消息没有PHP输出,
我仍然是使用SOAP的新手,(虽然我在房地产代理网站上使用它时确实取得了很大的成功 – 它不需要任何身份验证只是一个简单的值来识别该服务上的公司)
我已阅读并尝试了本网站上发现的几乎所有示例.别人没有快乐!
对服务的请求概述如下,
每个请求都有一组核心参数,它们是:
PickUpDateTime //date
ReturnDateTime //date
PickUpLocation.locationCode //string
ReturnLocation.locationCode //string
PromotionCod //string
服务网址http://www2.rentcentric.com/Ota2007a/OTASrvc.asmx拥有我们可用的所有方法.
# GetVehAvailRate
# VehCancel
# VehLocSearch
# VehModify
# VehRes
请求 – :GetVehAvailRate
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<SRVCredentials xmlns="http://www.opentravel.org/OTA/2003/05">
<Username>*USERNAME*</Username>
<Password>*PASSWORD*</Password>
</SRVCredentials>
</soap:Header>
<soap:Body>
<OTA_VehAvailRateRQ EchoToken="string" TimeStamp="dateTime" Target="Test or Production" Version="decimal" TransactionIdentifier="string" SequenceNmbr="nonNegativeInteger" TransactionStatusCode="Start or End or Rollback or InSeries or Continuation or Subsequent" PrimaryLangID="language" AltLangID="language" RetransmissionIndicator="boolean" ReqRespVersion="string" MaxResponses="positiveInteger" MaxPerVendorInd="boolean" xmlns="http://www.opentravel.org/OTA/2003/05">
<POS>............
代码示例:
$soapClient = new SoapClient("http://www2.rentcentric.com/Ota2007a/OTASrvc.asmx?wsdl");
// Prepare SoapHeader parameters
$sh_param = array(
'Username'=>'username',
'Password'=>'password');
$headers = new SoapHeader('http://www2.rentcentric.com/Ota2007a/', 'UserCredentials', $sh_param);
// Prepare Soap Client
$soapClient->__setSoapHeaders(array($headers));
我只是把头靠在墙上试图找回东西,
我所需要的只是指向正确的方向……
最佳答案 看看这里的文档:
http://www.php.net/manual/en/soapclient.soapclient.php
了解如何将跟踪变量添加到SoapClient构造函数中.一旦你完成了,你可以使用
> SoapClient :: __ getLastRequestHeaders
> SoapClient :: __ getLastRequest
> SoapClient :: __ getLastResponse
> SoapClient :: __ getLastResponseHeaders
作为一种手段,至少可以获得一些反馈,说明您的呼叫失败的原因.