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