2016-09-20 4 views
1
gesetzt

ich von diesem WebService zu verwenden versuchephp Seife Fehler: Objektverweis nicht auf eine Instanz eines

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <ABRSearchByName xmlns="http://abr.business.gov.au/ABRXMLSearch/"> 
     <externalNameSearch> 
     <authenticationGUID>string</authenticationGUID> 
     <name>string</name> 
     <filters> 
      <nameType> 
      <tradingName>string</tradingName> 
      <legalName>string</legalName> 
      </nameType> 
      <postcode>string</postcode> 
      <stateCode> 
      <QLD>string</QLD> 
      <NT>string</NT> 
      <SA>string</SA> 
      <WA>string</WA> 
      <VIC>string</VIC> 
      <ACT>string</ACT> 
      <TAS>string</TAS> 
      <NSW>string</NSW> 
      </stateCode> 
     </filters> 
     </externalNameSearch> 
     <authenticationGuid>string</authenticationGuid> 
    </ABRSearchByName> 
    </soap:Body> 
</soap:Envelope> 

unten ist meine Klassendefinition

class abnlookup extends SoapClient{ 

    private $guid = "00000000"; 

    public function __construct($guid) 
    { 
     $this->guid = $guid; 
     $params = array(
      'soap_version' => SOAP_1_1, 
      'exceptions' => true, 
      'trace' => 1, 
      'cache_wsdl' => WSDL_CACHE_NONE 
     ); 

     parent::__construct('http://abr.business.gov.au/abrxmlsearch/ABRXMLSearch.asmx?WSDL', $params); 
    } 

     public function searchByName($name){ 
      $params = new stdClass(); 
      $params->name= $name; 
      $params->nameType= 'Y' ; 
      $params->postcode= 'Y'; 
      $params->stateCode= 'N' ;   
    $params->authenticationGuid   = $this->guid; 
       return $this->ABRSearchByName($params); 
} 

Anruf und erstellen Objektklasse $ abnlookup = neues abnlookup ($ abn_guid); $ result = $ abnlookup-> searchByName ($ name);

und erhalten diese Nachricht Server konnte Anfrage nicht verarbeiten. ---> Objektverweis nicht auf eine Instanz eines Objekts gesetzt.Sekundär

Antwort

0

Die $ params-Struktur, die Sie an ABRSearchByName übergeben, ist nicht korrekt. Nach WSDL hat diese Struktur zwei Felder (wie durch __getTypes() dargestellt):

struct ABRSearchByName { 
ExternalRequestNameSearch externalNameSearch; 
string authenticationGuid; 
} 

Ihre $ params mit diesen beiden Bereichen und das Problem sollte gelöst werden, erstellen.

Verwandte Themen