2012-10-23 15 views
5

Jestem nowicjuszem w usługach sieciowych i staram się uzyskać dostęp/odczyt danych XML za pomocą PHP (moja strona internetowa, która będzie używała danych w PHP).Czytanie usługi sieci Web przy użyciu PHP z GUID i przestrzenią nazw

adres URL WSDL: http://services.mywheels.co.za/BWAVehicleStockService.svc?wsdl

muszę uzyskać dostęp i przeczytać informację pojazdu stock ale mogę zobaczyć, aby uzyskać dostęp do czegokolwiek. Pojazd Array jest przechowywany pod: http://services.mywheels.co.za/BWAVehicleStockService.svc?xsd=xsd2.

Używam tego kodu, ale to nie daje moich danych. Mam również identyfikator GUID, który muszę przekazać, ale nie mam pojęcia, jak dodać go do nagłówka.

  <?PHP 
      define('NEWLINE', "<br />\n"); 

      // SOAP client 

      $wsdl = 'http://services.mywheels.co.za/BWAVehicleStockService.svc?wsdl'; 
      $soapClient = new SoapClient($wsdl, array('cache_wsdl' => 0)); 

      // SOAP call 


      $parameters->ArrayOfVehicle->Vehicle; 

      try 
      { 
       $result = $soapClient->GetVehicleStock($parameters); 
      } 
      catch (SoapFault $fault) 
      { 
       echo "Fault code: {$fault->faultcode}" . NEWLINE; 
       echo "Fault string: {$fault->faultstring}" . NEWLINE; 
       if ($soapClient != null) 
       { 
        $soapClient = null; 
       } 
       exit(); 
      } 
      $soapClient = null; 

      echo "<pre>\n"; 
      print_r($result); 
      echo "</pre>\n"; 

      echo "Return value: {$result->GetDataResult}" . NEWLINE; 

      ?> 

jeśli ktoś może mi pomóc lub wskazać mi właściwy kierunek, to byłoby wspaniale.

Dzięki

Odpowiedz

1

Możesz dodać nagłówki wykorzystujące __setSoapHeaders():

$h = new SoapHeader('http://tempuri.org/', 'Guid', '123'); 
$soapClient->__setSoapHeaders($h); 

musiałem czytać sam WSDL, aby dowiedzieć się, co powinno się używać nazw; w tym przypadku odnoszą się one do Guid jako tns:Guid i od góry można przeczytać, jaki URI jest używany do wyrażenia tego, stąd http://tempuri.org.

Powiązane problemy