2010-06-14 16 views
5

Quando ho l'invio sotto richiesta, mi sto 'Versione eccezione Wrong".SoapClient getta Versione sbagliata

<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> 

sopra richiesta viene convertito in codice 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); 

Sopra linea tiri eccezione 'Versione sbagliata Qualcuno mi aiuti a risolvere questo

risposta

1

sembra che tu stia usando la versione sbagliata;) - hai provato ad aggiungere 'soap_version'=>'1.2' (o 1.1, a seconda della versione richiesta) alle opzioni del tuo soap_client?

+0

Sono provato con entrambe le versioni. Ma non sono ancora riuscito – 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' 

provare il codice sopra. questo mi ha aiutato

0

Ho avuto questo problema pure. Il problema nel mio caso era che non stavo passando un parametro atteso (e quindi richiesto) senza buttare indietro un'eccezione SoapFault. Forse è utile a qualcuno.

Problemi correlati