Chiamata IDX MLS API SOAP di ihomefinder da Java Spring MVC


Voglio usare le API di test di ihomefinder per ottenere i dati e inserirli nel mio database. Sto usando Spring MVC e il collegamento fornito da loro che ho configurato nel mio pom.xml per ottenere i dati è http://axisws.idxre.com:8080/axis2/services/IHFPartnerServices?wsdl. Da varie ricerche ho scoperto che tutte le API fornite sono nel pacchetto com.ihomefinder.api, quindi l'ho incluso anche nel pom.xml

Ecco il pom.codice xml:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-ws</artifactId>
        <version>1.3.1.RELEASE</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.13.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaLanguage>WSDL</schemaLanguage>
                <generatePackage>com.ihomefinder.api</generatePackage>
                <schemas>
                    <schema>
                        <url>http://axisws.idxre.com:8080/axis2/services/IHFPartnerServices?wsdl</url>
                    </schema>
                </schemas>
            </configuration>
        </plugin>
    </plugins>
</build>

Ora sto cercando di accedere con il test nome utente e password forniti da loro, ma per colpire il servizio di accesso ho bisogno di creare l'oggetto della classe Request che non si trova nel pacchetto com.ihomefinder.api.

Ecco il codice java che sto usando per fare la richiesta:

import javax.xml.bind.JAXBElement;    
import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
import org.springframework.ws.soap.client.core.SoapActionCallback;
import com.ihomefinder.api.Login;
import com.ihomefinder.api.ObjectFactory;

public class IdxMls extends WebServiceGatewaySupport {

    public void main() {
        // TODO Auto-generated method stub
        ObjectFactory objectFactory = new ObjectFactory();
        JAXBElement<String> user = objectFactory.createLoginUsername("username");
        JAXBElement<String> pass = objectFactory.createLoginPassword("password");
        Login login = new Login();
        login.setUsername(user);
        login.setPassword(pass);        
        Integer int1 = (Integer) getWebServiceTemplate().marshalSendAndReceive(login, new SoapActionCallback("http://axisws.idxre.com:8080/axis2/services/Login"));
        System.out.println(int1);
    }

    public static void main(String[] args) {
        IdxMls idxMls = new IdxMls();
        idxMls.main();
    }

}

Penso che il codice sopra non sia perfetto alcune cose mancano davvero. Quindi qualcuno può aiutarmi a correggere il codice con cui posso ottenere la risposta dall'API?

Author: Shivam, 2016-09-07

1 answers

Sembra che tu stia utilizzando il nostro client soap API partner. La nostra API rivenditore più recente è un'API REST e l'URL del punto di ingresso è:

Https://www.idxhome.com/restServices/reseller/login

La documentazione per l'API rivenditore non viene pubblicata pubblicamente al momento. Si prega di contattarci via email a [email protected], e saremmo felici di fornirgli la documentazione.

 0
Author: iHomefinder Support, 2016-09-13 16:32:28