Запрос на мыло не работает - PullRequest
0 голосов
/ 06 июля 2011
//PHP CODE
<?php
$xmlData='<OTA_HotelDestinationsRQ Version="1.0">
           <POS>
             <Source>
                  <UniqueId Id="user:password" />
             </Source>
           </POS>
           <DestinationInformation LanguageCode="EN" />
         </OTA_HotelDestinationsRQ>';

$wsdl="http://acceptance.travelstreet.com/hotelsv3/components/Hotels_DestinationsWS.cfc?wsdl";
$client=new SoapClient($wsdl,array('trace' => 1));
try
{

     $res=$client->__call("OTA_HotelDestinationsRQ",array($xmlData));
}
catch (SoapFault $Exception)
{
     echo 'SoapFault Exception';
}
echo $res;
?>

Это показывает внутреннюю ошибку сервера

Позже я изменил выше xml в массив, используя класс xml2array, и я сохранил результат в одной переменной, такой как

$iArray=xml2array($xmlData); Используя этоя закодировал как:

<?php
$xmlData='<OTA_HotelDestinationsRQ Version="1.0">
           <POS>
             <Source>
                  <UniqueId Id="user:password" />
             </Source>
           </POS>
           <DestinationInformation LanguageCode="EN" />
         </OTA_HotelDestinationsRQ>';

$wsdl="http://acceptance.travelstreet.com/hotelsv3/components/Hotels_DestinationsWS.cfc?wsdl";
$client=new SoapClient($wsdl,array('trace' => 1));
try
{

     $res=$client->__call("OTA_HotelDestinationsRQ",$iArray); 
     // (or) also check with bellow statement
     $res=$client->OTA_HotelDestinationsRQ($iArray);
}
catch (SoapFault $Exception)
{
     echo 'SoapFault Exception';
}
echo $res;
?>

Это показывает Invalid Xml error

1 Ответ

0 голосов
/ 07 июля 2011

Привет, я получаю такую ​​же ошибку, но затем @Pete здесь , помог мне с этим фрагментом кода, пожалуйста, попробуйте использовать этот фрагмент кода, возможно, он также может работать для вас ..

<?php
$xmlData='<OTA_HotelDestinationsRQ Version="1.0">
           <POS>
             <Source>
                  <UniqueId Id="user:password" />
             </Source>
           </POS>
           <DestinationInformation LanguageCode="EN" />
         </OTA_HotelDestinationsRQ>';


$client = new SOAPClient(
    'http://acceptance.travelstreet.com/hotelsv3/components/Hotels_DestinationsWS.cfc?wsdl',
    array(
        'location' => 'http://acceptance.travelstreet.com/hotelsv3/components/Hotels_DestinationsWS.cfc',
        'trace' => 1,
        'style' => SOAP_RPC,
        'use' => SOAP_ENCODED,
    )
);

$result = array();

$params = array("YourXMLParameterName" => $request);


try
{
     $result = $client->__soapCall('getAllDepartments', array("parameters"=>$params));
}
catch (SoapFault $Exception)
{
     echo "SOAP Fault: ".$e->getMessage()."<br />\n";
}
echo $res;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...