Appel des API SOAP IDX MLS de ihomefinder à partir de Java Spring MVC


Je veux utiliser les API de test d'ihomefinder pour obtenir les données et les insérer dans ma propre base de données. J'utilise Spring MVC et le lien fourni par eux que j'ai configuré dans mon pom.xml pour obtenir les données est http://axisws.idxre.com:8080/axis2/services/IHFPartnerServices?wsdl . À partir de diverses recherches, j'ai trouvé que toutes les API fournies sont dans le package com.ihomefinder.api, donc je l'ai également inclus dans le pom.xml

Voici le pom.code 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>

Maintenant, j'essaie de me connecter avec le test nom d'utilisateur et mot de passe fournis par eux, mais pour accéder au service de connexion, je dois créer l'objet de la classe Request qui ne se trouve pas dans le package com.ihomefinder.api.

Voici le code java j'utilise pour faire la demande:

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();
    }

}

Je pense que le code ci-dessus n'est pas parfait certaines choses manquent vraiment. Alors quelqu'un peut-il m'aider à corriger le code par lequel je peux obtenir la réponse de l'API?

Author: Shivam, 2016-09-07

1 answers

Il semble que vous utilisiez notre client soap API partenaire. Notre API revendeur la plus récente est une API REST, et l'URL du point d'entrée est:

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

La documentation de l'API revendeur n'est pas publiée publiquement pour le moment. Veuillez nous envoyer un courriel à [email protected], et nous serions heureux de vous fournir la documentation.

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