Java tutorial
package siddur.solidtrust.azure; import java.io.StringReader; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.lang3.StringUtils; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import siddur.solidtrust.entity.AzureCar; import com.interdata.InterData; import com.interdata.InterDataLocator; import com.interdata.InterDataSoap_BindingStub; public class InterDataConnector { //https://interdata.vwe.nl/DataAanvraag.asmx?WSDL private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); public static AzureCar findByLicensePlate(String lp) throws Exception { InterData g = new InterDataLocator(); InterDataSoap_BindingStub stub = (InterDataSoap_BindingStub) g.getInterDataSoap(); String result = stub.standaardDataRequest(buildXML(lp)); return convert(result); } private static String buildXML(String lp) { StringBuffer sb = new StringBuffer(); sb.append("<bericht>"); sb.append("<authenticatie>"); sb.append("<naam>VBGA01</naam>"); sb.append("<wachtwoord>V#B9G2</wachtwoord>"); sb.append("<berichtsoort>SB-RDW-ADVANCED</berichtsoort>"); sb.append("</authenticatie>"); sb.append("<parameters>"); sb.append("<kenteken>"); sb.append(lp); sb.append("</kenteken>"); sb.append("</parameters>"); sb.append("</bericht>"); return sb.toString(); } private static AzureCar convert(String xml) throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(xml)); Element root = document.getRootElement(); Element rubrieken = (Element) root.elements("rubrieken").get(0); if (rubrieken != null) { Element rdwInfoAdvanced = (Element) rubrieken.elements("rdwInfoAdvanced").get(0); return convert(rdwInfoAdvanced); } return null; } private static AzureCar convert(Element ele) { AzureCar car = new AzureCar(); car.setLicensePlate(getEleString(ele, "kenteken")); car.setBpm(getEleInt(ele, "bpm")); car.setNewPrice(getEleInt(ele, "catalogusPrijs ")); // car.setCo2(getEleShort(ele, "")); // car.setDateRegistedOnName(getEleDate(ele, "")); // car.setDateRegistedOnHolland(getEleDate(ele, "")); car.setDateOfBuild(getEleDate(ele, "datumEersteToelatingInternationaal")); car.setType(getEleString(ele, "Handelsbenaming")); car.setFirstColor(getEleString(ele, "kleur1")); car.setFuelType(getEleString(ele, "brandstof1")); car.setArrangement(getEleString(ele, "inrichting")); car.setBrand(getEleString(ele, "merk")); // car.setEnviromentClassification(getEleString(ele, "")); car.setSecondFuel(getEleString(ele, "brandstof2")); // car.setDieselFilter(getEleString(ele, "")); car.setSecondColor(getEleString(ele, "kleur2")); car.setDateOfNextInspection(getEleDate(ele, "datumVervalApk")); car.setVehicleType(getEleString(ele, "Voertuigsoort")); // car.setEconomicalLabel(getEleString(ele, "")); car.setNumOfCylinders(getEleShort(ele, "aantalcilinders")); car.setNumOfStandingPlace(getEleShort(ele, "aantalStaanplaatsen")); car.setNumOfSittingPlace(getEleShort(ele, "aantalZitplaatsen")); // car.setFuelUseOfHignway(getEleFloat(ele, "")); // car.setFuelUseOfCity(fuelUseOfCity); // car.setFuelUseOfCombined(fuelUseOfCombined); car.setVolumeOfCylinder(getEleInt(ele, "cilinderinhoud")); car.setG3GassInstallation(getEleString(ele, "g3Installatie")); car.setLoadCapacity(getEleInt(ele, "laadvermogen")); car.setMassOfEmptyVehicle(getEleInt(ele, "massaLeegVoertuig")); car.setMassOfDriveReady(getEleInt(ele, "massaRijklaar")); car.setMaximumConstructionSpeed(getEleShort(ele, "maximaleConstructiesnelheid")); car.setMaximumMassOfPullingAutoBrake(getEleInt(ele, "maximumMassaAutonoomGeremd")); car.setMaximumMassOfPullingBrake(getEleInt(ele, "maximumMassaGeremd")); car.setMaximumMassOfPullingMidaxelBrake(getEleInt(ele, "maximumMassaMiddenasGeremd")); car.setMaximumMassOfPullingNotBrake(getEleInt(ele, "maximumMassaOngeremd")); car.setMaximumMassOfPullingTrailer(getEleInt(ele, "maximumMassaOpleggerGeremd")); car.setMaximumMassOfPullingAllowed(getEleInt(ele, "maximumMassa")); car.setPower(getEleShort(ele, "vermogenKw")); // car.setWaitingForMot(getEleString(ele, "")); // car.setRegisteredInsurance(registeredInsurance); return car; } private static String getEleString(Element ele, String eleName) { return ele.elementTextTrim(eleName); } private static int getEleInt(Element ele, String eleName) { String v = getEleString(ele, eleName); if (StringUtils.isEmpty(v)) { return 0; } return Integer.parseInt(v); } private static short getEleShort(Element ele, String eleName) { String v = getEleString(ele, eleName); if (StringUtils.isEmpty(v)) { return 0; } return Short.parseShort(v); } private static Date getEleDate(Element ele, String eleName) { String v = getEleString(ele, eleName); if (StringUtils.isEmpty(v)) { return null; } try { return df.parse(v); } catch (ParseException e) { return null; } } public static void main(String[] args) throws Exception { String xml = "<antwoordbericht xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><aanvraag><bericht><authenticatie><naam>VBGA01</naam><wachtwoord>V#B9G2</wachtwoord><berichtsoort>SB-RDW-ADVANCED</berichtsoort></authenticatie><parameters><kenteken>26nffv</kenteken></parameters></bericht></aanvraag><resultaat><code>00</code><omschrijving>Ok</omschrijving><interdataReferentie>1716736</interdataReferentie></resultaat><rubrieken><rdwInfoAdvanced xsi:type=\"rdw:rdwInfoAdvancedTypeV4\" xmlns:rdw=\"http://www.xmlmode.nl/interdata/rdw\"><rdw:kenteken>26NFFV</rdw:kenteken><rdw:isMeldCodeCorrect>false</rdw:isMeldCodeCorrect><rdw:kentekenSignaal xsi:nil=\"true\" /><rdw:merk code=\"RENA\">renault</rdw:merk><rdw:handelsbenaming>LAGUNA; GRAND TOUR 1.8 16V 89KW E4</rdw:handelsbenaming><rdw:voertuigsoort>P</rdw:voertuigsoort><rdw:brandstof1 code=\"B\">benzine</rdw:brandstof1><rdw:brandstof2 xsi:nil=\"true\" /><rdw:kleur1 code=\"05\">groen</rdw:kleur1><rdw:kleur2 code=\"99\">niet van toepassing</rdw:kleur2><rdw:aantalZitplaatsen>5</rdw:aantalZitplaatsen><rdw:aantalStaanplaatsen>0</rdw:aantalStaanplaatsen><rdw:datumEersteToelatingInternationaal>2003-08-20</rdw:datumEersteToelatingInternationaal><rdw:datumEersteToelatingNationaal>2003-08-20</rdw:datumEersteToelatingNationaal><rdw:datumAansprakelijkheid>2012-08-08</rdw:datumAansprakelijkheid><rdw:datumVervalApk>2015-01-20</rdw:datumVervalApk><rdw:aantalCilinders>4</rdw:aantalCilinders><rdw:cilinderinhoud>1783</rdw:cilinderinhoud><rdw:massaLeegVoertuig>1290</rdw:massaLeegVoertuig><rdw:laadvermogen>0</rdw:laadvermogen><rdw:maximumMassa>1900</rdw:maximumMassa><rdw:massaRijklaar>1390</rdw:massaRijklaar><rdw:maximumMassaOngeremd>650</rdw:maximumMassaOngeremd><rdw:maximumMassaGeremd>1300</rdw:maximumMassaGeremd><rdw:maximumMassaOpleggerGeremd>0</rdw:maximumMassaOpleggerGeremd><rdw:maximumMassaAutonoomGeremd>0</rdw:maximumMassaAutonoomGeremd><rdw:maximumMassaMiddenasGeremd>1300</rdw:maximumMassaMiddenasGeremd><rdw:parallelImport>false</rdw:parallelImport><rdw:uitvoeringsVolgnummer>23379</rdw:uitvoeringsVolgnummer><rdw:aantalDeuren>4</rdw:aantalDeuren><rdw:inrichting code=\"44\">stationwagen</rdw:inrichting><rdw:voertuigClassificatie code=\"01\">personenauto</rdw:voertuigClassificatie><rdw:aantalWielen>4</rdw:aantalWielen><rdw:vermogenKw>88</rdw:vermogenKw><rdw:vermogenBromfiets xsi:nil=\"true\" /><rdw:maximaleConstructiesnelheid>0</rdw:maximaleConstructiesnelheid><rdw:emissieCode xsi:nil=\"true\" /><rdw:g3Installatie>false</rdw:g3Installatie><rdw:bpm>6200</rdw:bpm><rdw:verplichtingennemer>false</rdw:verplichtingennemer><rdw:wamVerzekerd>true</rdw:wamVerzekerd><rdw:wielbasis>274</rdw:wielbasis><rdw:motorcode>F4P C7</rdw:motorcode><rdw:catalogusPrijs xsi:nil=\"true\" /><rdw:isTaxi>false</rdw:isTaxi></rdwInfoAdvanced></rubrieken></antwoordbericht>"; AzureCar car = convert(xml); System.out.println(car.getBpm()); } }