2017-04-26 3 views
0

Ich habe versucht, Daten für NWMLS mit Evernet Soap-Service zu holen. Hier muss ich Daten für Multiple Listungsnummern/Listing Ids extrahieren. Aber ich bekomme eine Fehlerreaktion. Unten ist der Code-Snipper, den ich versuche, spezifische Daten zu bekommen.Abfrage mit mehreren Listing-Nummern in Evernet Soap-Service

<!-- language: php --> 
$client=new SoapClient('http://evernet.nwmls.com/evernetqueryservice/evernetquery.asmx?WSDL'); 

$XMLQuery = "<?xml version='1.0' encoding='utf-8' standalone='no' ?>"; 
$XMLQuery .="<EverNetQuerySpecification xmlns='urn:www.nwmls.com/Schemas/General/EverNetQueryXML.xsd'>"; 
    $XMLQuery .="<Message>"; 
    $XMLQuery .="<Head>"; 
    $XMLQuery .="<UserId>******</UserId>"; 
    $XMLQuery .="<Password>******</Password>"; 
    $XMLQuery .="<SchemaName>StandardXML1_1</SchemaName>"; 
    $XMLQuery .="</Head>"; 
    $XMLQuery .="<Body>"; 
    $XMLQuery .="<Query>"; 
    $XMLQuery .="<MLS>NWMLS</MLS>"; 
    $XMLQuery .="<ListingNumber>1045735555</ListingNumber>"; 
    $XMLQuery .="<ListingNumber>10641974354</ListingNumber>"; 
    $XMLQuery .="<PropertyType>RESI</PropertyType>"; 
    $XMLQuery .="</Query>"; 
    $XMLQuery .="<Filter></Filter>"; 
    $XMLQuery .="</Body>"; 
    $XMLQuery .="</Message>"; 
    $XMLQuery .="</EverNetQuerySpecification>"; 
    $params = array ('v_strXmlQuery' => $XMLQuery); 
    $result = $client->RetrieveListingData($params);  
    $access = $result->RetrieveListingDataResult; print_r($access); 
    $xml[] = simplexml_load_string($access); 

Die Antwort, die ich von der Soap-Service bin immer ist

" Element 'urn: www.nwmls.com/Schemas/General/EverNetQueryXML.xsd: ListingNumber' kann nicht mehr als einmal, wenn Inhalt Modelltyp ist "alle". "

Wie die Abfrage bilden, die mehrere Auflistungsnummern enthalten muss, so dass ich das genaue Ergebnis erhalten werde ??

Dank

Antwort

0

Per XSD-Spezifikation kann die „ListingNumber“ erscheinen nicht mehr als einmal in der Abfrage. Deshalb sehen Sie diesen Fehler.

Aber wie für mehrere ListingNumbers abfragen? Die Art, wie ich von meinem Kopf weiß, ist die Verwendung der "BeginDate" und "EndDate" oder "Status", "County", "Area".

Natürlich ist dies nicht so genau wie direkt diese beiden Listennummern abzufragen, so dass Sie eine Reihe von Werten im Gegenzug erhalten.

Haben Sie mit http://evernet.nwmls.com/evernettest/RetrieveListingData.aspx gespielt?