2010-06-14 15 views
5

Cuando i enviar debajo de la petición, que estoy recibiendo 'incorrecto excepción versión".SoapClient lanza versión incorrecto

<OTA_HotelGetMsgRQ xmlns="http://www.opentravel.org/OTA/2003/05" 
    TimeStamp="2001-12-17T09:30:47.0Z" Version="4" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Messages> 
     <Message HotelCode="123" HotelName="Test Hotel" ChainCode="321" 
      ReasonForRequest="Reservation Retrieval" RequestCode="Optional" 
      ChainName="Test Chain" MessageType="All" StartSeqNmbr="1" 
      EndSeqNmbr="10" /> 
    </Messages> 
</OTA_HotelGetMsgRQ> 

anterior petición se convierte en código de Zend

$client = new zend_soap_client(null, 
     array(
       'location' => 'http://url...', 
       'Uri' =>"http://www.opentravel.org/OTA/2003/05" 
     ) 
); 

$request = array(
     array('Messages'=> 
       array ('Message' => 
         array (
           'HotelCode' => '123', 
           'HotelName' => 'Test Hotel', 
           'ChainCode' => '321', 
           'ReasonForRequest' => 'Reservation Retrieval', 
           'RequestCode' => 'Optional', 
           'ChainName' => 'Test Chain', 
           'MessageType' => 'All', 
           'StartSeqNmbr' => '1', 
           'EndSeqNmbr' => '10' 
         ) 
       ) 
     ) 
); 

$result = $client->OTA_HotelGetMsgRQ ($request); 

Por encima de línea de tiros excepción 'versión incorrecta '. Alguien me ayude a resolver esto

Respuesta

1

suena como que está utilizando la versión incorrecta;) - ha intentado agregar 'soap_version'=>'1.2' (o 1.1, dependiendo de la versión que se necesita) a las opciones de su soap_client?

+0

He intentado con ambas versiones. Pero aún no tengo éxito – sivansethu

1
$autodiscover = new Zend_Soap_AutoDiscover(); 
$autodiscover->setClass('Core_Soap_Test'); 
$autodiscover->setUri(sprintf($this->_WSDL_URI,0)); 
$autodiscover->handle(); 

$this->_WSDL_URI = '"http://WWW.EXAMPLE.COM/soap/index/wsdl/%s/?wsdl' 

prueba el código de arriba. esto me ayudó

0

Tuve este problema también. El problema en mi caso era que no estaba pasando un parámetro esperado (y por lo tanto requerido) sin lanzar una excepción SoapFault. Tal vez sea útil para alguien.

Cuestiones relacionadas