Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php I';我在发送SOAP请求时得到了错误的版本_Php_Xml_Soap_Wsdl - Fatal编程技术网

Php I';我在发送SOAP请求时得到了错误的版本

Php I';我在发送SOAP请求时得到了错误的版本,php,xml,soap,wsdl,Php,Xml,Soap,Wsdl,我正在制作一个航班预订API。我以以下方式将数据发送到服务器: $location_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightBooking?wsdl"; $action_URL ="http://booking.flight.arzoo.com"; $client = new SoapClient('http://59.162.33.102/ArzooWS/services/DO

我正在制作一个航班预订API。我以以下方式将数据发送到服务器:

        $location_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightBooking?wsdl";
        $action_URL ="http://booking.flight.arzoo.com";

        $client = new SoapClient('http://59.162.33.102/ArzooWS/services/DOMFlightBooking?wsdl', array(
        'soap_version' => SOAP_1_1,
        'location' => $location_URL,
        'uri'      => $action_URL,
        'style'    => SOAP_RPC,
        'use'      => SOAP_ENCODED,
        'trace'    => 1,
        ));
我在下面还提到了XML SOAP主体,即经过编辑的解析XML格式请求:

<?xml version="1.0" encoding="utf-8"?>
<Bookingrequest>
<onwardFlights>
<OriginDestinationOption>
<FareDetails>
<ChargeableFares>
<ActualBaseFare>5060</ActualBaseFare>
<Tax>4380</Tax>
<STax>32</STax>
<SCharge>0</SCharge>
<TDiscount>0</TDiscount>
<TPartnerCommission>0</TPartnerCommission>
</ChargeableFares>
<NonchargeableFares>
<TCharge>0</TCharge>
<TMarkup>300</TMarkup>
<TSdiscount>0</TSdiscount>
</NonchargeableFares>
</FareDetails>
<FlightSegments>
<FlightSegment>
<AirEquipType>321</AirEquipType>
<ArrivalAirportCode>DEL</ArrivalAirportCode>
<ArrivalDateTime>2013-10-20T08:00:00</ArrivalDateTime>
<DepartureAirportCode>BOM</DepartureAirportCode>
<DepartureDateTime>2013-10-20T06:00:00</DepartureDateTime>
<FlightNumber>6019</FlightNumber>
<OperatingAirlineCode>AI</OperatingAirlineCode>
<OperatingAirlineFlightNumber>6019</OperatingAirlineFlightNumber>
<RPH>
</RPH>
<StopQuantity>0</StopQuantity>
<airLineName>Air India</airLineName>
<airportTax>4380</airportTax>
<imageFileName>http://live.arzoo.com/FlightWS/image/AirIndia.gif</imageFileName>
<viaFlight>
</viaFlight>
<BookingClass>
<Availability>4</Availability>
<ResBookDesigCode>U</ResBookDesigCode>
</BookingClass>
<BookingClassFare>
<adultFare>5060</adultFare>
<bookingclass>U</bookingclass>
<classType>Economy</classType>
<farebasiscode>fjyS3YyUlEusLfJ4bwgPvQ==</farebasiscode>
<Rule>This fare is Refundable &lt;br&gt; Baggage : 25K&lt;br&gt;Booking Class : U|Re-Schedule Charges: Rs. 750 per sector + Fare difference (If any) +admin fee 500 + Service Fee of Rs. 250 &#13;
Sector .|Cancellation Charges : Basic fare +Airline administration fee 500  + Service Charges 250 Per Passenger Per Sector .&#13;
                        |</Rule>
<adultCommission>0</adultCommission>
<childCommission>0</childCommission>
<commissionOnTCharge>0</commissionOnTCharge>
</BookingClassFare>
<Discount>0</Discount>
<airportTaxChild>0</airportTaxChild>
<airportTaxInfant>0</airportTaxInfant>
<adultTaxBreakup>2950,147,1283</adultTaxBreakup>
<childTaxBreakup>0,0,0</childTaxBreakup>
<infantTaxBreakup>0,0,0</infantTaxBreakup>
<octax>0</octax>
</FlightSegment>
</FlightSegments>
<id>arzoo11</id>
<key>wtZcSVMY/gphWFSOTFWg8nkII1434EZIGjnpJNQzayEK8sDjVS91GicTJzH+TWN+pNURIyTJYKOW&#13;
O8yH8+0tzpA4t8aEEvzaOE6ZnTtBotFDwLtSiN0xXiTOGgS0siJI1l7d9ata/3rxTgfh9d8ZSmFY&#13;
VI5MVaDyd5WrIWHlQL5zqWDbQb1E1IoDSY1wep73c6lg20G9RNQQnpVlWM7U0ZY7zIfz7S3O4J6m&#13;
G25LJItzqWDbQb1E1IoDSY1wep73c6lg20G9RNSKA0mNcHqe93OpYNtBvUTUpvdITjbFOR52+H1V&#13;
tJqs5kJfo6Sh44vDThgZv6ARhgviIKxphH+kbb9fDhZYRaCPm3lupCgitSmWO8yH8+0tzolfF9kG&#13;
WM+AaZ58PxEZgqCbbbGbXj1Z0D7dHS59eVX1JxMnMf5NY37ZbJ5llqmBpycTJzH+TWN+2WyeZZap&#13;
gacnEycx/k1jftlsnmWWqYGnJxMnMf5NY37ZbJ5llqmBpycTJzH+TWN+2WyeZZapgacnEycx/k1j&#13;
ftlsnmWWqYGnJxMnMf5NY36po4tljIBmEJgePqv2qP9fd/Usd8Uuz7FDwLtSiN0xXvtUK9az69O/&#13;
JxMnMf5NY37yK2PFSCI6AM2hLlYrFkYJQ8C7UojdMV7NoS5WKxZGCcr5VjCR04wgRviI6n9DzL3N&#13;
oS5WKxZGCUPAu1KI3TFezaEuVisWRglDwLtSiN0xXv4Xbn4sigRMv18OFlhFoI/cKcKe7FftvScT&#13;
JzH+TWN+2WyeZZapgacnEycx/k1jftlsnmWWqYGnJxMnMf5NY377Oxb/b44TR5Y7zIfz7S3O16CE&#13;
sDaAROm13h/OHWeGHw==</key>
</OriginDestinationOption>
</onwardFlights>
<returnFlights>
</returnFlights>
<personName>
<CustomerInfo>
<givenName>Rajnish</givenName>
<surName>Dubey</surName>
<nameReference>Mr.</nameReference>
<psgrtype>adt</psgrtype>
</CustomerInfo>
</personName>
<telePhone>
<phoneNumber>9595959595</phoneNumber>
</telePhone>
<email>
<emailAddress>rajnishdubey1988@gmail.com</emailAddress>
</email>
<creditcardno>5266474530046446</creditcardno>
<Clientid>7232326</Clientid>
<Clientpassword>*AB424E52FBBHDSFS74DFFSA7B747A9BAF61F8E</Clientpassword>
<partnerRefId>100200</partnerRefId>
<Clienttype>ArzooFWS1.1</Clienttype>
<AdultPax>1</AdultPax>
<ChildPax>0</ChildPax>
<InfantPax>0</InfantPax>
</Bookingrequest>

        try
    {
        //$result = $client->getAvailability($dom->saveXML($request));
        $result = $client->getBookingDetails($dom->saveXML($request));
        $response= htmlentities($result);
        echo "<h1> Client Response: </h1><pre>".htmlspecialchars($result, ENT_QUOTES)."</pre>";

    }
    catch(Exception $e){
        echo "<h2>Exception Error!</h2>";
        echo $e->getMessage();
    }

5060
4380
32
0
0
0
0
300
0
321
德尔
2013-10-20T08:00:00
物料清单
2013-10-20T06:00:00
6019
人工智能
6019
0
印度航空
4380
http://live.arzoo.com/FlightWS/image/AirIndia.gif
4.
U
5060
U
节约
fjyS3YyUlEusLfJ4bwgPvQ==
此费用可退还br行李:25K行李等级:U |重新安排费用:每个区段750卢比+票价差异(如有)+管理费500+服务费250卢比和13卢比;
部门。|取消费用:基本票价+航空公司管理费500+服务费250每位乘客/部门。| 13;
|
0
0
0
0
0
0
2950,147,1283
0,0,0
0,0,0
0
arzoo11
WTZCSVM/gphWFSOTFWg8nkII1434EZIGjnpJNQzayEK8sDjVS91GicTJzH+TWN+pNURIyTJYKOW
;
O8yH8+0TZPa4T8AEEVZAOE6ZNTTt两者均为Xitoggs0Siji1l7D9ata/3rxTgfh9d8ZSmFY和#13;
VI5MVADY5WRIWHLQL5ZQWDBQB11碘合1 WEP73C6LG20G9RNQNPVLWM7U0ZY7ZIFZ7S3O4J6M和#13;
G25LJITZQWDBQB1E1IODSY1WEP73C6LG20G9RNSKA0MNCHQE93OPYNTBVUTPVDITJB52+H1V和13;
tJqs5kJfo6Sh44vDThgZv6ARhgviIKxphH+kbb9fDhZYRaCPm3lupCgitSmWO8yH8+0tzolfF9kG
;
WM+AaZ58PxEZgqCbbbGbXj1Z0D7dHS59eVX1JxMnMf5NY37ZbJ5llqmBpycTJzH+TWN+2WyeZZap
;
gacnEycx/k1jftlsnmWWqYGnJxMnMf5NY37ZbJ5llqmBpycTJzH+TWN+2WyeZZapgacnEycx/k1j
;
ftlsnmWWqYGnJxMnMf5NY36po4tljIBmEJgePqv2qP9fd/USD8uuuz7fdwltsin0xxvtuk9az69o/&13;
JXMNMF5NY37YK2PFSCI6AM2HLLYRFKYJQ8C7UOJDMV7NOS5 WKXZGCR5VJCR04WGRVII6N9DZL3N和#13;
OS5WKxZGcuPau1KI3FEZAEUVISWRLDWLTSIN0xV4xBN4SIGRMV18OFLHFOI/CKCKKE7FFTVSCT&13;
JzH+TWN+2WyeZZapgacnEycx/k1jftlsnmWWqYGnJxMnMf5NY377Oxb/b44TR5Y7zIfz7S3O16CE和#13;
SDAANO13H/OHWeGHw==
拉尼什
杜比
先生
adt
9595959595
rajnishdubey1988@gmail.com
5266474530046446
7232326
*AB424E52FBBHDS74DFFSA7B747A9BAF61F8E
100200
ArzooFWS1.1
1.
0
0
尝试
{
//$result=$client->getAvailability($dom->saveXML($request));
$result=$client->getBookingDetails($dom->saveXML($request));
$response=htmlentities($result);
echo“客户端响应:.htmlspecialchars($result,entu引号)。”;
}
捕获(例外$e){
回显“异常错误!”;
echo$e->getMessage();
}
现在,当数据被发送到服务器时,我得到一个异常“错误版本”。我在服务器端检查了,这个特定客户端的日志根本没有被击中。表示服务器没有收到请求。航班的可用性API创建了相同的WSDL请求格式。我正在通过可用性API获取可用航班列表。我将上述代码转换为XML,API文档的格式与我发送请求的格式相同。我在网上查了一下,但没有找到同样的解决办法。有人说我使用的SOAP版本不同,但事实并非如此。因为航班和酒店可用性API具有相同的请求方法和从服务器接收数据的方法。
请帮帮我。我被困在这上面了。谢谢你的帮助

这是arzoo的航班可用性工作代码。。 使用SOAP客户端时,我也会遇到错误,但当我使用nusoap时,他们会给出结果。使用此代码,如果出现ip/密码不匹配之类的错误,那么您将调用arzoo来验证您的clientid和clientpassword



那么,如果您有一个WSDL和一个Soap客户端,为什么要手工创建XML?只是为了好玩?哈哈哈。。不不完全是。在发送带有操作名声明的SOAP请求时,在用于创建问题的XML标记中传递字符串。事实上这就是原因。如果你有更好的解决方案,请建议我。感谢您使用哪种操作名称声明?请提供SOAP标准规范文档的参考资料,以便我可以向您提出建议。谢谢您的回复。我在代码中添加了要发送到服务器的实际XML格式的请求。请看一看。预订详细信息的操作名称为“getBookingDetails”。上述XML请求的格式与API文档中给出的格式相同。我问了API提供者,但是他们说API文档中没有错误,因为其他人得到的响应与相同的文档引用一样。有什么建议吗?你让我重复一遍。见我的第一条评论。你只是为了好玩,对吧?尽管有WSDL,但还是手工创建XML?然后在事后推敲“有什么建议吗?”这句话,因为你没有说你在胡说八道,你的脚下没有土地?先在路上踩橡胶,然后学习你使用的工具。并检查您发布的代码示例,它看起来格式错误、不完整,而且还不完整。请张贴一些例子,这些例子可以很容易地重现你在问题中描述的问题——任何人都可以。
    <?php
  ini_set('max_execution_time','180');
    include 'lib/nusoap.php';
   $location_URL ='http://avail.flight.arzoo.com';
   $action_URL ='http://demo.arzoo.com/ArzooWS/services/DOMFlightAvailability?wsdl';
$Request = '<Request>
<Origin>BOM</Origin>
<Destination>DEL</Destination>
<DepartDate>2017-02-02</DepartDate>
<ReturnDate>2017-02-02</ReturnDate>
<AdultPax>1</AdultPax>
<ChildPax>0</ChildPax>
<InfantPax>0</InfantPax>
<Currency>INR</Currency>
<Clientid>Given by Arzoo.com</Clientid>
<Clientpassword>Given by Arzoo.com</Clientpassword>
<Clienttype>ArzooFWS1.1</Clienttype>
<Preferredclass>E</Preferredclass>
<mode>ONE</mode>
<PreferredAirline>AI</PreferredAirline>
</Request>';

$clientinfo = array('soap_version'=>SOAP_1_1,
'location' =>$location_URL,
'uri' =>$action_URL,
 'style' => SOAP_RPC,
 'use' => SOAP_ENCODED,
 'trace' => 1,
 );

 $client = new nusoap_client('http://demo.arzoo.com/ArzooWS/services/DOMFlightAvailability?wsdl', $clientinfo);
//print_r($client);
$result = $client->call('getAvailability', array($Request));
echo"<pre>";
print_r($result);
$clientInfo =simplexml_load_string(utf8_encode($result));
$flight = $clientInfo->Response__Depart->OriginDestinationOptions->OriginDestinationOption;
$error =$clientInfo->error__tag;
//echo $error;
var_dump($flight);
//exit;
//echo"<pre>";
//print_r($result);
//ECHO $error;
?>