+ All Categories
Home > Documents > 20111013 view point interactief - soap calls

20111013 view point interactief - soap calls

Date post: 12-Jul-2015
Category:
Upload: jwlogemann
View: 315 times
Download: 8 times
Share this document with a friend
75
ViewPoint Interactief Specificatie SOAP calls Document: ViewPoint Interactief specificatie SOAP calls Versie: 1.2 Datum: 13 oktober 2011 In opdracht van: Remco van Niekerk Auteur: Jo Seaton Review: Copyright: © 2010 Itris BV Rhijnspoor 243-245 2901 LB Capelle aan den IJssel Tel: +31(0)10 2666111 Fax: +31(0)10 2666112
Transcript
Page 1: 20111013   view point interactief - soap calls

ViewPoint Interactief Specificatie SOAP calls

Document: ViewPoint Interactief specificatie SOAP calls Versie: 1.2 Datum: 13 oktober 2011 In opdracht van: Remco van Niekerk Auteur: Jo Seaton Review: Copyright: © 2010 Itris BV

Rhijnspoor 243-2452901 LB Capelle aan den IJssel

Tel: +31(0)10 2666111Fax: +31(0)10 2666112

Page 2: 20111013   view point interactief - soap calls

Documenthistorie

Versiebeheer

Versie Datum Auteur Samenvatting van de wijzigingen

Goedkeuring

De hieronder genoemde personen hebben kennis genomen van de inhoud van het document en deze goedgekeurd:

Versie Datum Naam Functie HandtekeningR0s1

Distributie

Dit document is aan de onderstaande personen verstuurd:

Versie Datum Naam Functie Bedrijf

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 2 van 75

Page 3: 20111013   view point interactief - soap calls

Inhoudsopgave

1. Technische specificatie Itris SOAP calls..............................................................................4

2. Algemene eigenschappen en details....................................................................................5

3. Specificatie calls ViewPoint SOAP server..........................................................................21

4. Relaties ............................................................................................................................... 24

5. Objecten ............................................................................................................................... 31

6. Werkverzoeken..................................................................................................................... 36

7. Betaalafspraken.................................................................................................................... 40

8. Objectverdeling Interactief..................................................................................................49

9. Technische specificatie SOAP client pushes versie 5......................................................66

10. Bulk data aanlevering ........................................................................................................70

11. Appendix A: Meest voorkomende foutcodes...................................................................71

12. Wijzigingshistorie...............................................................................................................73

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 3 van 75

Page 4: 20111013   view point interactief - soap calls

1. Technische specificatie Itris SOAP calls

1.1. Inleiding

Dit document beschrijft in detail de beschikbare SOAP calls in de Itris ViewPoint koppeling. Calls zijn geordend op basis van hun functionaliteit.

1.2. Gebruikte conventies

TODO/aanpassen

1.3. Gebruikte termen en begrippen

Voor een goed begrip worden de volgende termen en definities gebruikt in de tekst.

ViewPoint, ViewPoint SysteemMet deze termen bedoelen we het gehele ViewPoint systeem. In dit document wordt hier meestal de SOAP receptor voor het systeem bedoeld. Het ViewPoint systeem bestaat echter uit een webserver, database server, Business Objects server en verschillende fysieke machines.

Peer systeemMet deze term bedoelen we de “tegenpartij”, d.w.z. het systeem waarmee ViewPoint communiceert.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 4 van 75

Page 5: 20111013   view point interactief - soap calls

2. Algemene eigenschappen en details

De hier beschreven mogelijkheden zijn een standaard functionaliteit van ViewPoint, en worden dus niet gebouwd voor een enkele, specifieke koppeling. Dit betekent dat dezelfde calls gebruikt worden door alle koppelingen, waar nodig.

2.1. Het low-level koppelvlak

Voor de interactie zijn de volgende onderdelen en begrippen belangrijk:

• Het “peer” systeem: dit is een systeem waar ViewPoint SOAP messages kan afleveren, en wat zelf ook messages kan sturen aan het ViewPoint systeem.

• Het ViewPoint systeem bestaat (op dit moment) uit één of meer web servers en één database server, veelal aanwezig op locatie bij een klant. Dit systeem kan later worden uitgebreid met extra web servers; deze mogelijkheid mag niet tot problemen leiden. De hele combinatie van web server(s) en database server noemen we een ViewPoint cluster.

De koppeling tussen beide systemen is gebaseerd op web services, concreet SOAP 1.1 over HTTP(s). Het heeft onze sterke voorkeur om géén https te gebruiken om de volgende redenen:

• Gebruik over VPN is sneller en veiliger

• Opzetten van de benodigde certificaten (aan beide zijden) is relatief veel werk. Omdat een certificaat ook regelmatig ververst moet worden (het verloopt na enige tijd) is pro-actief beheer nodig – wat erg eenvoudig kan worden vergeten met ernstige gevolgen.

• De SSL implementatie vereist aparte IP adressen voor iedere gebruikte host; dit is veelal een probleem voor op het Internet beschikbare machines.

• Gebruik van SSL vereist nog steeds dat het ViewPoint systeem rechtstreeks bereikbaar is op het Internet. Dit is een onacceptabel beveiligingsrisico. Voor deze configuratie neemt Itris geen verantwoording voor de beveiliging van het systeem.

2.2. Fysieke koppeling tussen de systemen

Een ViewPoint systeem en het peer systeem moeten kunnen communiceren voor het uitwisselen van de SOAP berichten. Dit kan op twee manieren:

• Over een Internet-verbinding.

• Over een privé netwerk (Epacity).

2.2.1. Koppelen via het Internet

Voordeel van deze methode is dat de beschikbare bandbreedte vaak groot is tegen relatief geringe kosten. Belangrijkste nadeel is dat de beschikbaarheid van de totale verbinding (dus niet alleen van een machine naar het Internet, maar de volledige verbinding van machine tot machine) niet gegarandeerd kan worden1.

Verder geldt dat het direct aansluiten van het primaire systeem op het Internet een enorm veiligheidsrisico oplevert. Om deze reden is een directe koppeling via het Internet sterk

1 Let op: Internet providers kunnen wel een beschikbaarheid specificeren maar deze gaat alleen over de verbinding van de locatie tot het Internet over hun netwerk. De volledige (dwz. end-to-end) verbinding loopt over allerlei Internet infrastructuren van vele andere partijen waar de beschikbaarheid niet van gegarandeerd wordt. Dit betekent dat de beschikbaarheid van de totale verbinding niet gedefinieerd kan worden. Concreet betekent het ook dat bij uitval van de verbinding de leverancier niet altijd het probleem op kan lossen.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 5 van 75

Page 6: 20111013   view point interactief - soap calls

ongewenst.

Het advies is om in dit geval gebruik te maken van een VPN verbinding over het Internet. Hierbij wordt alle verkeer door het VPN beveiligd en versleuteld verzonden. De voor deze koppeling benodigde regels voor infrastructuur valt buiten de scope van dit document.

Omdat de juiste werking van het VPN voorwaardelijk is voor een betrouwbare koppeling verdient dit onderdeel wel aandacht en moet vooral het beheer ook goed geregeld zijn.

Als laatste geldt natuurlijk ook dat de Internet verbinding aan beide kanten voldoende capaciteit moet hebben om het berichtenverkeer tussen de verschillende omgevingen met voldoende snelheid uit te wisselen. De benodigde snelheid is sterk afhankelijk van het gebruik en implementatie van een specifieke koppeling, maar zal minimaal 2Mbit/s symmetrisch moeten zijn. Dit laatste betekent dat ADSL-achtige Internet verbindingen (technisch gelimiteerd tot max. 1.3Mbit/s retour) niet voldoen.

2.2.2. Koppelen via Epacity

Het is ook mogelijk om de verbinding tussen beide systemen te maken door ze te verbinden via Epacity. In dit geval moeten beide locaties aangesloten worden op het Epacity netwerk, met een aansluiting met voldoende snelheid voor het verwerken van de berichtenstroom. Gezien de mogelijke latency zal de verbindingssnelheid aan beide zijden niet lager mogen zijn dan 2MBit/s symmetrisch; de snelheid zal veelal hoger moeten zijn voor websites met meer verkeer.

Een Epacity verbinding kost (veel) meer dan een Internet verbinding, maar heeft als voordeel dat beschikbaarheid en gegarandeerde bandbreedte veel beter geregeld zijn, bij een enkele aanbieder. Het betekent dat een end-to-end beschikbaarheid bekend is, en dat er een enkel aanspreekpunt is voor communicatieproblemen.

Voor de aanvullende kosten die gemoeid zijn met een Epacity aansluiting dienen de klant en de aanbieder van het peer systeem zelf afspraken te maken met elkaar en met Itris. De kosten voor de snellere Epacity verbinding aan de zijde van de klant worden niet door Itris gedragen.

2.3. Gebruik van XML binnen de koppeling

De koppeling gebruikt XML als “taal” binnen de koppeling. We gebruiken XML volgens de standaard (XML 1.0), en gebruiken namespaces om varianten (versies) van objecten en calls te specificeren.

De gebruikte XML moet worden gelezen door een conformant parser. Deze parser moet in staat zijn om XML met namespaces op de juiste manier te lezen. Dit betekent concreet dat de aan een namespace gekoppelde prefix2 geen enkele betekenis heeft in het resultaat. Bij het lezen van de XML mag dus nooit een specifieke prefix worden verwacht, noch mag een specifieke indeling qua namespace definitie worden verwacht door de lezer. Anders gezegd: het lezen van ontvangen XML mag niet uitgaan van:

• De vaste prefix “soap” als indicatie van een SOAP tag. De tag “ns1” kan net zo goed verwijzen naar de SOAP namespace. Omdat veel van de ViewPoint SOAP interface automatisch gegenereerd wordt zijn de gebruikte prefixen volledig random en kunnen per versie en zelfs per bericht verschillen.

• Het is mogelijk dat meer dan een prefix verwijst naar dezelfde namespace.

• Het definiëren/gebruiken van namespaces binnen het XML bericht kan expliciet op iedere door de XML standaard ondersteunde wijze. Dit betekent dat bijvoorbeeld een

2 Met prefix wordt bedoeld de “ns1” in een tag als <ns1:Envelope>.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 6 van 75

Page 7: 20111013   view point interactief - soap calls

ontvanger er niet van uit mag gaan dat een bepaalde namespace definitie altijd op een bepaalde plaats staat! Prefixen mogen zelfs ontbreken wanneer de “default namespace” wordt toegepast.

Dit alles betekent dat bij juist gebruik van de interface alleen namespaces plus de namen van elementen en attributen definiëren over welk begrip we praten. De prefix moet volledig onzichtbaar zijn in de code.

Wanneer in het peer systeem een eigen XML parser geïmplementeerd wordt, zonder hulp van de op het platform geboden XML mechanismes, dan dient deze implementatie de volledige XML standaard correct te implementeren. Elke fout die veroorzaakt wordt doordat de ontvanger de XML standaard incorrect implementeert is ter verantwoording van de ontvanger, ook als de Itris software wordt aangepast!

In de voorbeelden van SOAP calls zullen verschillende namespace definities en prefixen aanwezig zijn. Rekening houdende met het bovenstaande, moet het duidelijk zijn dat deze prefixen in de werkelijke calls verschillend zullen zijn.

2.4. Datatypes binnen de gegevensset

De data binnen de gegevensset wordt gecodeerd volgens de W3C schema definities voor data (zie http://www.w3.org/TR/xmlschema-2/#built-in-datatypes).

TODO: Lijst van mogelijke primitieve datatypes.

2.5. De Itris SOAP interfaces

De door Itris aangeboden SOAP interface wordt niet specifiek voor een bepaalde koppeling gebouwd. Er bestaan een aantal standaard “services” die herbruikbaar zijn voor verschillende processen en verschillende klanten. Om een grote mate van interoperabiliteit te kunnen geven is gekozen om alleen een basale vorm van SOAP te implementeren. Deze keuze betekent dat vrijwel ieder platform zonder al te veel problemen kan koppelen met onze implementatie, en dat we geen interoperabiliteitsproblemen krijgen doordat verschillende producten net een andere versie (of interpretatie) van een van de ruim 30 verschillende (combinaties van) WS-I en andere “standaarden” en versies van de standaarden gebruiken.

2.6. Stabiliteit/levensduur van de SOAP interface

De door Itris opgeleverde SOAP interface, met de beschrijvingen van de calls en het resultaat van de calls wordt door Itris als interface gegarandeerd stabiel gehouden (= niet incompatibel aangepast, maar zie verder!) over een periode van drie jaar. Na deze periode kan Itris de interface wijzigen, of bepalen dat een andere versie van de interface gebruikt moet worden. Dit betekent dan ook een aanpassing in de gekoppelde applicaties gedaan moet worden. De kosten van deze aanpassingen zijn voor rekening van de klant, omdat de “levensduur” van de interface is beëindigd.

De reden dat een interface end-of-life kan raken heeft voornamelijk te maken met de technische ontwikkeling van ViewPoint als product. Het product kan beter en stabieler worden gebouwd als niet alle historie met alle compatibiliteitslagen continu moeten worden onderhouden.

Als Itris tussentijds een interface (gevormd door een bepaalde specificatie qua invoer en uitvoer) moet aanpassen op een niet-compatibele wijze, bijvoorbeeld doordat de functionaliteit van ViewPoint rond de interface is veranderd, dan zal dat gebeuren door een nieuwe versie van de interface te definiëren. Deze nieuwe versie bestaat dan gewoon naast de oude, bestaande versie (mits de oude versie nog wordt ondersteund). De oude versie beschikt natuurlijk niet over

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 7 van 75

Page 8: 20111013   view point interactief - soap calls

de nieuwe functionaliteit; het gedrag van de oude interface wordt in de nieuwe versie van ViewPoint “geëmuleerd”. De nieuwe versie van de call wordt aangeroepen doordat deze call een andere namespace gebruikt dan de oude call.

Versies van interfaces worden binnen de SOAP call omgeving gespecificeerd door de gebruikte namespace van de calls binnen de interface. De namespaces bepalen zowel de mogelijke invoer als de mogelijke uitvoer van calls.

2.7. Wat betekent het stabiel houden van de interfaces?

Itris maakt één belangrijke uitzondering op het “stabiel” houden van interfaces: voor elke mogelijke call kan op elk moment extra informatie aan zowel invoer als uitvoer van een call worden toegevoegd. Itris garandeert wél dat de oude definitie van de call niet wijzigt door deze toevoegingen. Dit betekent concreet dat:

• Er nooit velden verdwijnen in een bestaande interface. Als ooit is gespecificeerd dat veld X in het resultaat zit dan blijft dat te allen tijde het geval.

• Velden zullen nooit van niveau in de antwoordstructuur veranderen.

• De semantische betekenis van het opgeleverde resultaat zal nooit veranderen zolang de call wordt aangeroepen met de ook eerder gedefinieerde parameters(!).

• Als een call wordt uitgebreid met extra “invoerparameters” dan is dit altijd transparant, en de parameters zijn altijd optioneel. Verder geldt dat bij afwezigheid van de “nieuwe” parameters de hele call exact hetzelfde functioneert als de eerdere versie waar de parameters nog niet bestonden. Pas als de nieuwe parameters zouden worden gebruikt mag het resultaat van de call verschillend zijn. Omdat eerder gebouwde koppelingen natuurlijk nooit vanzelf extra parameters toevoegen brengt dit op geen enkele manier de betekenis van eerder gebouwde koppelingen in gevaar.

• De volgorde van elementen is altijd onbepaald. Dit geldt zowel voor de volgorde van elementen in een resultaat als de volgorde van parameters. Dit betekent dat alle complexe types de indicator <xs:all> gebruiken in plaats van <xs:sequence>. De volgorde van elementen in een call kan in verschillende versies van ViewPoint veranderen. Je mag dus niet afhankelijk zijn van deze volgorde. Door de uitzonderlijk slechte definitie van de XML Schema 1.0 standaard betekent dit uitgangspunt dat XML schema's gemaakt via deze standaards veelal niet correct de XML kunnen weergeven, dan wel dat ze weinig restricties op elementen kunnen definiëren.

Voorbeelden van mogelijke (toegestane) aanpassingen in een resultaat:

Oud Nieuw

<woning>

<straatnaam>Fluitekruid</straatnaam>

<plaatsnaam>Huizen</plaatsnaam>

<huisnummer>123</huisnummer>

</woning>

<woning>

<straatnaam>Fluitekruid</straatnaam>

<plaatsnaam>Huizen</plaatsnaam>

<postcode>1273XG</postcode>

<huisnummer>123</huisnummer>

</woning>

<registratie>

<id>xgh43789526ghi-346hx</id>

<hoofdaanvrager>523972569234763</hoofdaanv

rager>

<partner>43562693475</partner>

<registratie>

<id>xgh43789526ghi-346hx</id>

<hoofdaanvrager>523972569234763</hoofdaanv

rager>

<partner>43562693475</partner>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 8 van 75

Page 9: 20111013   view point interactief - soap calls

</registratie> <bestaande-woning>

<id>2346827</id>

<adres>Fluitekruid</adres>

</bestaande-woning>

</registratie>

Let op: extra entities kunnen voorkomen op ieder niveau binnen een structuur mits de structuur zélf uit entities bestaat. Een entity als <plaatsnaam> die nu bestaat uit een enkele string zal nooit veranderen in een entity met tekst plus onderliggende entities (oftewel: mixed=false zal nooit veranderen in mixed=true).

Concreet betekent dit het volgende voor een derde die een interface gebruikt:

− Je mag een resultaat niet afkeuren omdat er een entity in staat die je niet kent. Je moet de extra entity negeren.

− Je mag een resultaat niet afkeuren omdat er een attribute op zit die je niet kent (ignore).

− Je mag ieder gedefinieerd element volledig controleren zonder verdere restricties, met uitzondering van element-volgorde.

Dit betekent dat de “schema's” voor de calls in iedere definitie eindigen met <xs:any/>, en dat elk element <xs:anyAttribute> bevat3. Het betekent ook niet dat geen controle mogelijk is; alle werkelijk gebruikte elementen mogen in een eigen schema worden opgenomen en gevalideerd. Gezien bovenstaande eisen beperkt de validatie zich dan tot elementtypes, domeinrestricties enz; restricties op bijv. minOccurs en maxOccurs zijn technisch niet mogelijk.

2.8. Message formaat van SOAP calls

De Itris SOAP calls moeten worden gedaan in het Doc/Lit Wrapped soap messaging model. Dit betekent dat een typische call er als volgt uitziet:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ih="http://xml.itris.nl/viewpoint/2009/01/29/soap-header">

<soap:Header>

<ih:soapuserid>xxxx</ih:soapuserid>

<ih:plainpasswd>yyyyy</ih:plainpasswd>

</soap:Header>

<soap:Body>

<v:getVPRelation xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

<v:id>160019361</v:id>

</v:getVPRelation>

</soap:Body>

</soap:Envelope>

In het bericht wordt de naam van de call (getVPRelation) gespecificeerd, en het is deze naam die wordt gebruikt voor het dispatchen van de call naar de juiste afhandeling. De SOAPAction http header wordt door Itris niet gebruikt noch gevalideerd.

3 Doch slechts conceptueel, omdat een aantal restricties in XML Schema 1.0 het gebruik van deze technisch vrijwel onmogelijk maakt als een flexibel/uitbreidbaar schema model gewenst is (ambiguity restrictions).

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 9 van 75

Page 10: 20111013   view point interactief - soap calls

Voor meer details over de verschillende SOAP messaging models zie bijvoorbeeld http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

2.9. Authenticatie voor het uitvoeren van ViewPoint calls

Het door Itris aangeboden koppelvlak bevat calls voor ieder mogelijk onderdeel van ViewPoint. Omdat het niet de bedoeling is dat iedere derde meteen alle mogelijke calls kan uitvoeren op het systeem van een klant, dient iedere gebruiker van een call zich te identificeren. Let op: het gaat hier dus om authenticatie van de partij die de SOAP calls doet, niet de authenticatie van een consument op een website!

Voordat de SOAP interface te gebruiken is dient een bedrijf dat er gebruik van wil maken een SOAP account plus wachtwoord aan te vragen bij de beheerder van het ViewPoint systeem. Dit account representeert daarna het bedrijf en de systeembeheerder van het ViewPoint systeem kan daarna rechten voor de verschillende calls uitdelen aan dit bedrijf. Hierdoor is te allen tijde duidelijk welke calls mogen worden uitgevoerd door welke derden.

Iedere call die wordt uitgevoerd dient de volledige accountgegevens te bevatten (account naam en wachtwoord) in de SOAP:Header, als volgt:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ih="http://xml.itris.nl/2009/01/29/soap-header">

<soap:Header>

<ih:soapuserid>bedrijfX</ih:soapuserid>

<ih:plainpasswd>fl0rk3lbr3mm3lheim</ih:plainpasswd>

</soap:Header>

(rest van het bericht)

</soap:Envelope>

Omdat dit wachtwoord zichtbaar is in het bericht, is een veilige transmissiemethode een voorwaarde.

De gegevens benodigd voor authenticatie moeten door de caller eenvoudig kunnen worden aangepast.

Calls waarbij de authenticatie ontbreekt of waarbij de authenticatie mislukt resulteren in een SOAP Fault.

2.10. Encoding van SOAP calls

Alle informatie in ViewPoint is opgeslagen in Unicode. Standaard en bij voorkeur worden SOAP calls gedaan in UTF-8 encoding. De ViewPoint omgeving zal andere encodings accepteren (mits ondersteund door ons platform). In principe zal het antwoord op een SOAP call worden gedaan in dezelfde encoding als het verzoek.

De huidige (1.x) versie van de SOAP interface zal, wanneer een encoding wordt gebruikt waarbij tekens in de uitvoer niet kunnen worden gerepresenteerd, deze tekens vervangen door het bij de gebruikte encoding behorende “onbekend teken” karakter. In dit geval gaat dus informatie verloren; dit wordt dan ook sterk afgeraden voor iedere gegevensset waar ook updates worden teruggestuurd! In dat geval overschrijft iedere update de niet ondersteunde tekens met “onbekend teken” characters, zelfs als de ontvangende set (waar het teken oorspronkelijk vandaan kwam) de juiste waarde voor het teken bevat!

Een typische ViewPoint omgeving bevat naast alle ASCII tekens ook alle mogelijke tekens met accenten en bedragtekens zoals de Euro. Als UTF-8 encoding niet mogelijk is dan is het beste

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 10 van 75

Page 11: 20111013   view point interactief - soap calls

alternatief iso-8859-154. Niet standaard encodings zoals win1252 worden niet ondersteund. In dit geval moet onze klant (de corporatie) akkoord gaan met het mogelijk verlies van bijzondere tekens in gegevens die vanuit het remote systeem worden gewijzigd.

2.11. Target adres voor SOAP calls

Het target adres voor de SOAP calls bestaat uit een door Itris uitgegeven URL. Deze moet eenvoudig te wijzigen zijn in het peer systeem en is voor iedere klant verschillend (omdat we praten over verschillende systemen). De tekstuele representatie van deze URL is dus geen deel van de interface en is niet constant. De URL zal onder andere verschillen voor een productiesysteem of voor een testsysteem. Een voorbeeld van een target URL is:

http://hostnaam:poort/viewpoint/soap/LAEV?[optionele parameters]

De optionele parameters zijn meestal afwezig. In bijzondere gevallen kan het nodig zijn dat de SOAP user ID als parameter wordt meegegeven. Dit is alleen nodig als blijkt dat de caller een niet-standaard vorm van SOAP gebruikt waar uitzonderingen op de afhandeling gemaakt moeten worden. De specificatie van welke uitzonderingen moeten worden gemaakt zijn namelijk gekoppeld aan het soap user ID.

2.12. Foutafhandeling van SOAP calls.

We onderscheiden twee soorten fouten binnen de SOAP interface:

• Harde fouten

• Zachte fouten

2.12.1. Harde fouten

Harde fouten zijn alle systeemfouten en onverwachte fouten. Voorbeelden van harde fouten zijn:

• De verbinding naar het andere systeem (Internet) is onderbroken.

• Het andere systeem antwoordt met een niet-SOAP http bericht (http error 500: Server error met een text/html exception stacktrace).

• Het andere systeem antwoordt met een Fault van een niet gedefinieerd type.

• Het andere systeem rapporteert een fout in de validatie/structuur van de inkomende XML.

Als een call betrokken is in een interactief proces dan kan de fout aan de gebruiker worden gepresenteerd als een systeemfout zodat de gebruiker zelf kan besluiten wanneer hij/zij het proces opnieuw probeert. Dit is alleen geldig als de call geen deel is van een reeks calls die samen een resultaat moeten bereiken (als het goed is komt dit überhaupt niet voor – alle calls zijn zo veel mogelijk gebaseerd op het compleet uitvoeren van een complete transactie).

Als de harde fout optreedt binnen een automatisch proces (zoals het proces dat de twee databases up-to-date houdt) dan is het van primair belang dat mislukken van de call niet tot problemen leidt! Als een “update” verzoek mislukt en niet wordt herhaald dan lopen de databases uit elkaar zonder dat dit wordt geconstateerd.

Afhankelijk van het type van de harde fout kan een mislukte call worden “bewaard” en later opnieuw worden uitgevoerd, handmatig of automatisch. Dit kan bijvoorbeeld door de call in een

4 Dus niet iso-8859-1; deze encoding bevat geen Euro teken en dat wordt binnen ViewPoint veel gebruikt.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 11 van 75

Page 12: 20111013   view point interactief - soap calls

database op te slaan en de gebruiker de mogelijkheid te geven om eventueel de gegevens aan te passen en de call opnieuw te proberen.

Binnen ViewPoint worden belangrijke calls opgeslagen in de “Pending Operation Queue”. Deze zorgt ervoor dat calls, indien mogelijk, op de juiste manier herhaald worden verzonden. Als een call blijft mislukken dan is handmatig ingrijpen vereist. De status van de Pending Operation Queue kan in ViewPoint worden bekeken middels het scherm Beheer → Beheren van uitgestelde bewerkingenqueue.

Een harde fout wordt gemeld als een reguliere SOAP Fault. Een voorbeeld is:

<A:Envelope xmlns:A="http://schemas.xmlsoap.org/soap/envelope/">

<A:Body>

<A:Fault>

<A:faultcode>Server.unexpectedException</A:faultcode>

<A:faultstring>No row with the given identifier exists</A:faultstring>

<A:faultactor></A:faultactor>

<A:detail>org.hibernate.ObjectNotFoundException: No row with the given identifier

exists: [nl.itris.viewpoint.db.crm.Relation#12342341000034] at

org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:379

)at

org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.jav

a:79)</A:detail>

</A:Fault>

</A:Body>

</A:Envelope>

In alle gevallen waarin een uniek numeriek ID invoerveld/parameter niet kan worden gekoppeld aan een bestaand record resulteert dit in een harde fout. De rationele is dat het client systeem dit ID ooit van de SOAP server of via een batch-aanlevering heeft gekregen en dat deze waardes onveranderlijk zijn en niet uit de ViewPoint database verwijderd worden, met name waar het relaties, objecten, contracten e.d. betreft. Het niet (meer) kunnen vinden van deze ID’s duidt op een ernstige fout.

2.12.2. Zachte fouten

Zachte fouten zijn in de definitie van een call gespecificeerde mogelijke foutsituaties. Deze fouten kunnen door de aanroepende partij worden gebruikt om het gedrag van de applicatie te bepalen: het belangrijkste kenmerk van een zachte fout is dat de aanroeper in staat moet zijn om gepaste actie te ondernemen en zo nodig de call opnieuw te plaatsen met gewijzigde parameters.

Typische voorbeelden zijn validatiefouten door ontbrekende, onvolledige of onjuiste gegevens in aanroepparameters: bijvoorbeeld een ongeldig burgerservicenummer, letters in een numeriek veld, lege verplichte velden, etc.

Een zachte fout wordt als volgt gerapporteerd middels een RejectedRequest element:

<B:getSomeFunctionResponse>

<RejectedRequest>

<Items>

<Item>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 12 van 75

Page 13: 20111013   view point interactief - soap calls

<Field>SocialSecurityNr</Field>

<OriginalValue>00001</OriginalValue>

<FaultCode>socialSecurityNumberNotFound</FaultCode>

<FaultDescription>Ongeldig BSN</FaultDescription>

</Item>

<Item>

<Field>DateOfBirth</Field>

<OriginalValue>10-10-1830</OriginalValue>

<FaultCode></FaultCode>

<FaultDescription>Geboortedatum te ver in het verleden</FaultDescription>

</Item>

</Items>

</RejectedRequest>

</B:getSomeFunctionResponse>

Bovenstaand informatieobject bevat ten minste een Item element met details over de geconstateerde fout:

Naam Type Omschrijving

Field String (opt) Indien te bepalen: het pad naar veldnaam binnen de input XML waar de fout is gevonden.

OriginalValue String (opt) Indien te bepalen: de originele invoerwaarde.

FaultCode String De code van de fout. Deze code kan worden gebruikt om besluiten te nemen over het afhandelen van de fout.

FaultDescription String Een tekstuele beschrijving van de fout, voor presentatiedoeleinden. Deze tekst mag alleen getoond worden; het is niet de bedoeling dat op de inhoud van de tekst besluiten genomen worden – gebruik daar de FaultCode voor.

De met (opt) gemarkeerde velden komen niet in ieder bericht voor. De FaultDescription en FaultCode zijn wel altijd aanwezig en gevuld.

De SOAP server zal normaliter bij het constateren van een zachte fout onmiddellijk retourneren. Client-systemen mogen daarom geen aannames doen dat een RejectedRequest element een complete lijst van alle (validatie) fouten bevat. In bovenstaand voorbeeld zou dan alleen het eerste Item worden geretourneerd, omdat de server aan validatie van de geboortedatum niet meer toe zou komen. Voor een nette afhandeling van fouten op de website blijft het daarom de verantwoordelijkheid van het cliënt systeem om data voor aanroep te valideren op basale kenmerken zoals verplicht/niet verplicht en de juiste inhoud (numeriek, alfanumeriek, maximale lengte).

Een lijst met de meest voorkomende foutcodes voor zachte fouten is in Appendix A toegevoegd.

2.13. Media “bestanden” in calls

Binnen ViewPoint zijn allerlei media bestanden aanwezig die voor verschillende gegevens kunnen worden opgevraagd. Het gaat dan om veelal grote, binaire bestanden die PDF's, foto's, MS/Word documenten enz. bevatten. De inhoud van deze bestanden wordt nooit in XML teruggegeven omdat daardoor de XML bestanden extreem groot zouden worden. Verder zorgt

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 13 van 75

Page 14: 20111013   view point interactief - soap calls

de grote hoeveelheid data voor sommige calls voor problemen met de performance van de koppeling als bestanden telkens weer worden opgevraagd. Om deze reden bevat de ViewPoint koppeling een algemeen mechanisme voor het effectief opvragen van deze bestanden zodat ze op het peer systeem kunnen worden gecached. Het implementeren van deze caching is verplicht voor ieder systeem wat de bestanden presenteert aan consumenten. Performance-problemen die worden veroorzaakt doordat deze Media bestanden niet worden gecached zijn ter verantwoording van de bouwer van de koppeling, en zullen niet door Itris worden opgelost.

Wanneer een object een of meer media bestanden bevat dan wordt ieder “bestand” altijd weergegeven als een Media object, als volgt:

<itrs:Media xmlns:itrs="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

<itrs:ID>xagnilas:160000428</itrs:ID>

<itrs:Description>plattegrond 2</itrs:Description>

<itrs:Mimetype>image/gif</itrs:Mimetype>

<itrs:Type>????</itrs:Type>

<itrs:Size>721193</itrs:Size>

<itrs:Hash>67f19641bf825238d5277b7801dd366b<itrs:Hash>

<itrs:Url>http://itris25.itris.nl/xawv/info?id=160000428.gif</itrs:Url>

<itrs:PixelWidth>575</itrs:PixelWidth>

<itrs:PixelHeight>575</itrs:PixelHeight>

</itrs:Media>

De betekenis van de velden is als volgt:

Naam Type O/V Omschrijving

ID String[128] V Een unieke sleutel voor dit bestand. Toekomstige referenties naar hetzelfde bestand gebruiken exact hetzelfde ID. Het ID is een string maar kan alleen uit cijfers bestaan. Het ID is uniek over alle bestanden op hetzelfde systeem; duplicaten kunnen wel optreden wanneer gegevens van meerdere VP systemen worden gecombineerd.

Description String[128] O Een tekstuele beschrijving van de inhoud.

Mimetype String[50] V Het MIME type van het aangeleverde bestand.

Type ? ? ?

Size int V De grootte, in bytes, van het bestand.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 14 van 75

Page 15: 20111013   view point interactief - soap calls

Hash String[32] V De MD5 hash berekend over de inhoud in bytes van het bestand.

Url String[256] V Een URL waarmee de inhoud van het bestand kan worden opgevraagd, normaliter als http: verzoek aan de server.

PixelHeight int O Indien het bestand een bitmap image (GIF, PNG, JPEG) bestand is dan bevat dit de hoogte van het plaatje in pixels.

PixelWidth int O Indien het bestand een bitmap image (GIF, PNG, JPEG) bestand is dan bevat dit de breedte van het plaatje in pixels.

Mimetype, pixelwidth en pixelheight worden gebruikt voor het op de juiste manier tonen van plaatjes. Als een plaatje een bitmap is (te zien aan het mime type) dan kunnen pixelwidth en pixelheight worden gebruikt om de aspect ratio5 van een plaatje te berekenen; deze aspect ratio is dan weer belangrijk voor een juiste berekening van alternatieve grootten voor het plaatje (bijvoorbeeld voor tonen als thumbnail). Bijvoorbeeld: in het Media record staat dat de grootte van het plaatje 800x600 pixels is. Om dit te verkleinen naar een thumbnail die past in 200x200 pixels is de aspect ratio (hier 4:3) nodig om te voorkomen dat het plaatje in lengte of breedte wordt “uitgerekt”. De juiste grootte voor de thumbnail is dan 200x150. Het is vaak belangrijk de nieuwe grootte van het resized plaatje te weten voordat de “inhoud” wordt opgevraagd6.

In deze media structuur is het bestand (de inhoud) zelf niet aanwezig. In plaats daarvan is een URL aanwezig waarmee die inhoud kan worden opgevraagd wanneer nodig. Let op: de URL moet gezien worden als “opaque” verwijzing naar het medium; de inhoud en opbouw van de URL kan gewijzigd worden zonder dat dit de werking mag verstoren. Dit betekent dat de ontvanger de URL niet mag “decoderen” of aanpassen. In een aantal gevallen kan het URL veld ook iets anders bevatten als een “echte” URL; bijvoorbeeld in bulk bestanden (later beschreven) voor een initiële load van een systeem bevat het URL veld een relatieve bestandsnaam naar een bestand binnen de dump-directory. Het datatype is dus “string”, niet “URL”.

De combinatie van ID en Hash wordt gebruikt om caching voor images te regelen. Dit mechanisme moet worden geïmplementeerd. Het mechanisme werkt als volgt:

• Het peer systeem slaat de inhoud van de bestanden lokaal op. Naast de inhoud wordt in ieder geval ook de Hash en het ID opgeslagen. De gegevens moeten snel kunnen worden opgezocht met het ID als sleutel.

• Wanneer gegevens met een Media set worden opgevraagd dan levert ViewPoint de laatste stand van deze gegevens aan.

• Het peer systeem kijkt eerst of het door ViewPoint aangeleverde ID al bestaat in de eigen cache. Als dit niet het geval is dan vraagt het peer systeem de inhoud van het bestand op door de URL te openen en de datastroom te lezen. Daarna wordt deze data opgeslagen onder het betreffende ID en inclusief de in het Media bestand aanwezige Hash. Nu is de media lokaal te benaderen zonder het ViewPoint systeem te raadplegen.

• Als het bestand al aanwezig is dan wordt de Hash in het ViewPoint bericht vergeleken met de Hash die locaal is opgeslagen voor het bestand. Als de Hashes verschillen dan is de ViewPoint versie van het bestand gewijzigd en moet het peer systeem een nieuwe versie ophalen via de URL. Deze versie wordt daarna met de nieuwe Hash locaal opgeslagen en

5 De verhouding tussen lengte en breedte6 Bijvoorbeeld bij presenteren in HTML moet de grootte van het plaatje in het HTML document

worden gemeld, terwijl in een heel ander request naar de server de inhoud later wordt opgevraagd.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 15 van 75

Page 16: 20111013   view point interactief - soap calls

gebruikt.

Op deze manier worden grote media bestanden alleen opnieuw opgevraagd als ze zijn aangepast, en wordt de performance van het complete systeem niet nadelig beïnvloed door grote data transfers tijdens de communicatie.

De reden voor caching is dat veel basale processen voor consumenten heel veel media nodig hebben. Bijvoorbeeld het tonen van het beschikbare woningaanbod levert iedere keer voor iedere woning meerdere grote bestanden op, die ook nog mogelijk moeten worden geresized als “thumbnail” tijdens presenteren.

Media bestanden kunnen ook worden aangeleverd als onderdeel van een initiële dump. Op deze manier kan het initieel vullen van een website-database snel plaatsvinden zonder dat gigabytes aan dataverkeer nodig is.

2.14. Caching voor opgevraagde gegevens

Er is een (klein) aantal calls waarbij de maximale frequentie van uitvoeren van de call is gelimiteerd. Dit is gedaan omdat de call grote gevolgen heeft voor de performance van het totale systeem. Een voorbeeld is de call voor het opvragen van het hele woningaanbod: voor een gemiddelde klant kan het antwoord op deze call bestaan uit tientallen megabytes aan gegevens. Als deze call voor iedere consument telkens weer moet worden uitgevoerd dan is het resultaat dat de performance dramatisch slecht is: de hoeveelheid tijd voor het opvragen van deze hoeveelheid gegevens over een relatief trage verbinding is vele seconden. Als meerdere personen gelijktijdig deze set opvragen dan is de vertraging nog veel langer. Dit is niet acceptabel.

Om deze reden moet het peer systeem het resultaat van een dergelijke call ook lokaal opslaan, en een mechanisme implementeren om de gegevens up-to-date te houden door regelmatig te verversen, of door een “push” mechanisme te accepteren waarbij wijzigingen aan individuele objecten door het ViewPoint systeem op het moment van aanpassen worden doorgegeven.

Performance problemen die worden veroorzaakt door het niet implementeren van caching voor deze calls komen ter verantwoording voor de implementator en zullen door Itris niet (kunnen!) worden opgelost.

2.14.1. Verversen via “timeout”

De meest eenvoudige methode voor het verversen van deze lokaal opgeslagen informatie is om een “refresh interval” af te spreken. Bijvoorbeeld dat de gegevens maximaal een (1) uur oud zijn; dit betekent dat ze ieder uur opnieuw moeten worden opgevraagd. Dit kan dan worden geregeld door een achtergrondproces. Vaak wordt dit ook gedaan tijdens het opvragen van de gegevens door een willekeurige gebruiker, door op dat moment te kijken of de gegevens ververst moeten worden en ze op dat moment dan ook meteen op te vragen indien nodig. Dit is echter onverstandig gezien de lange data-transfer tijd voor de gegevens: het betekent dat deze ongelukkige gebruiker plotseling meerdere seconden moet wachten op zijn antwoord.

2.14.2. Verversen van gegevens door middel van events (Pushes)

Een alternatief voor het up-to-date houden van grote gegevensverzamelingen is gebruik maken van events. In dit geval wordt het peer systeem initieel voorzien van een “dump” van de gegevens binnen ViewPoint. Daarna zal ViewPoint voor ieder object wat wordt aangepast binnen ViewPoint een SOAP call doen náár het peer systeem. Deze call noemen we een push, en bevat alle aangepaste gegevens van het gewijzigde object. Het peer systeem gebruikt

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 16 van 75

Page 17: 20111013   view point interactief - soap calls

daarna de aangepaste gegevens om zijn eigen, locale kopie aan te passen.

Dit mechanisme is relatief eenvoudig te implementeren als de gegevensverzameling alleen wijzigt aan de ViewPoint zijde en niet aan de kant van de peer. Gegevensverzamelingen die wel aan beide kanten kunnen wijzigen (bijvoorbeeld inschrijvingen, persoonsgegevens) zijn moeilijker te implementeren via dit mechanisme.

2.15. Representatie van Null velden, xsi:nil

Velden zonder inhoud (NULL velden) worden in de huidige versie van de SOAP omgeving (1.x) gerepresenteerd door het element zonder inhoud. Voorbeelden:

<address> <houseNumber></houseNumber> <streetName/>

In beide gevallen moet de inhoud van het veld gezien worden als NULL. Omdat deze definitie feitelijk onjuist is volgens de XML Schema definities zal de volgende versie (2.x) van de interface gebruik maken van xsi:nil=”true” (in de XMLSchema-instance namespace) op alle elementen die werkelijk null representeren, en zal het lege element overeenkomen met de lege string. Het verdient aanbeveling om te zorgen dat code hier nu al rekening mee houdt. De nieuwe versie zal de bovenstaande elementen representeren als:

<address xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”> <houseNumber xsi:nil=”true”></houseNumber> <streetName xsi:nil=”true”/>

2.16. Gedrag van updatende calls

Diverse calls wijzigen informatie in de database aan de hand van de aangeboden gegevensset. Voor het aanpassen van gegevens zijn een aantal regels rond ontbrekende elementen, “leeg” zijn van elementen (nullity) enz.

De voor een update call aangeleverde gegevens in een set (bijv. persoonsgegevens) zal doorgaans kleiner zijn dan wat in de database voor deze persoon is opgeslagen. Het standaardgedrag van alle calls is dat niet aangeleverde elementen worden genegeerd: ze behouden in de database hun oude waarde. We noemen dit “Partial updateability”.

Alleen de in de update genoemde elementen worden aangepast: hun waarde wordt aangepast of op NULL gezet als de inhoud van het element nil is. Dus een ontbrekend element in een update betekent niet dat het gegeven NULL is!

Bij het valideren van een update worden wel alle benodigde gegevens gebruikt, ook als ze niet aanwezig zijn in de update. Gegevens die nodig zijn voor validatie/controle die niet aanwezig zijn in het update bericht behouden hun oude waarde, en dus wordt deze waarde gebruikt in de validatie. Als dan een combinatie van deze waarden ongeldig is dan wordt de update geweigerd.

Een ander voorbeeld is het aanpassen van naamsgegevens. De volledige naam is verspreid over meerdere velden (initialen, achternaam-prefix, achternaam) die samen de volledige naam vormen. Bij de update moeten de aangepaste velden worden genoemd ook als ze leeg gemaakt worden door de update. Bijvoorbeeld: mevrouw “A. de Boer” neemt de achternaam van haar echtgenoot (Jansen) over. Enkel aanleveren van een nieuwe achternaam is

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 17 van 75

Page 18: 20111013   view point interactief - soap calls

onvoldoende, omdat er dan A. de Jansen zou staan. De “Prefix” van de achternaam moet ook in het update bericht zitten met een lege waarde zodat de oude waarde “de” verandert in NULL.

Uitzonderingen:

Bij adreswijziging moet het volledige adres (straat, huisnummer, toevoeging, postcode, plaatsnaam) worden aangeleverd. Bij verhuizing van nummer 7a naar 9 zal de huisnummertoevoeging altijd op NULL gezet worden, tenzij aangeleverd. Wijzigen van de postcode zonder nieuwe adresgegevens is dus ook niet toegestaan.

Enkele voorbeelden:

Een volledig gevuld Address element:

<Address>

<Type>CORADR</Type>

<Street>Kadoelenweg</Street>

<HouseNumber>358</HouseNumber>

<HouseNumberSuffix></HouseNumberSuffix>

<Postcode>5941 ED</Postcode>

<City>Amsterdam</City>

<Country>Nederland</Country>

</Address>

Optioneel veld HouseNumberSuffix ontbreekt en zal op NULL worden gezet:

<Address>

<Type>CORADR</Type>

<Street>Kadoelenweg</Street>

<HouseNumber>358</HouseNumber>

<Postcode>5941 ED</Postcode>

<City>Amsterdam</City>

<Country>Nederland</Country>

</Address>

Fout: postcode ontbreekt:

<Address>

<Street>Kadoelenweg</Street>

<HouseNumber>358</HouseNumber>

<City>Amsterdam</ City>

<Country>Nederland</ Country>

</Address>

2.17. Klant specifiek datatypes

Datum : XMLDATE

Integer : NUMBER

Bedragen : NUMBER

Media : BLOB

Default : CHARACTER

2.18. Formulier inschrijving

Elk entry bestaat uit

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 18 van 75

Page 19: 20111013   view point interactief - soap calls

Field : Uniek field code / technische naam Deze naam wordt ingesteld binnen ViewPoint.

Value(s) : : Waarde / Lijst van waardenDatatype : Type

2.19. Voorbeeld

        <v:RegistrationForm>          <v:Form>dsnRegistration</v:Form>          <v:EntryList>              <v:Entry>                <v:Field>inschrijfBevestiging</v:Field>                <v:Value>Ja</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>correspondentieViaEmail</v:Field>                <v:Value>Ja</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>grootteHuishouding</v:Field>                <v:Value>5</v:Value>                <v:DataType>NUMBER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>huidigeWoonsituatie</v:Field>                <v:Value>Huur</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>brutoMaandInkomen</v:Field>                <v:Value>3.333</v:Value>                <v:DataType>NUMBER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>brutoMaandInkomenPartner</v:Field>                <v:Value>2.222</v:Value>                <v:DataType>NUMBER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>brutoMaandInkomenTotaal</v:Field>                <v:Value>5.555</v:Value>                <v:DataType>NUMBER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>woonwensen</v:Field>                <v:Value>Woonwensen memo veld</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>          </v:EntryList>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 19 van 75

Page 20: 20111013   view point interactief - soap calls

3. Specificatie calls ViewPoint SOAP server

3.1. Authenticeren publieke gebruiker

NAAM : Authenticeren publieke gebruiker

PARAMETERS: userid : String - Aan de eindgebruiker toegekende gebruikersnaam

password : String - Aan de eindgebruiker toegekend wachtwoord.

OUTPUT: {VP}Relation

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.authenticatiePublicUser

SOAP: authenticatePublicUser

OMSCHRIJVING: Zoekt een relatie (persoon of bedrijf) waarvan de publieke gebruikersnaam en

wachtwoord overeenkomen met de opgegeven details. Zal gebruikt worden bij

websitekoppelingen om de inloggegevens van een gebruiker te controleren op

geldigheid. Het geretourneerde element is gelijk aan de call getVPRelation met

alle ‘include’ parameters op false, dus zonder adressen, bankgegevens,

contracten of saldi.

CHECKS: Userid en password moeten overeenkomen met de corresponderende waardes

in ViewPoint.

FOUTMELDINGEN: Foutdocument met melding Public user ID or password incorrect

REFERENTIES:

3.1.1. Input XML - authenticatePublicUser

<v:authenticatePublicUser xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/      viewpoint">

  <v:userid>BEUKERS</v:userid>  <v:password>srekueb</v:password></v:authenticatePublicUser>

3.1.2. Output XML - authenticatePublicUserResponse

<B:authenticatePublicUserResponse>      <B:Company>        <B:ID>160036545</B:ID>        <B:Role>Crediteur</B:Role>        <B:CompanyName>Netvlies</B:CompanyName>      </B:Company></B:authenticatePublicUserResponse>

Of <B:authenticatePublicUserResponse>      <B:Person>        <B:ID>160015585</B:ID>        <B:Role>Debiteur</B:Role>        <B:Initials>H.H.E.</B:Initials>        <B:SurnamePrefix></B:SurnamePrefix>        <B:Surname>Beukers</B:Surname>        <B:HomePhone>013613642742</B:HomePhone>        <B:MobilePhone>0612345678</B:MobilePhone>        <B:WorkPhone>0426967816</B:WorkPhone>        <B:Email>[email protected]</B:Email>        <B:Gender>man</B:Gender>        <B:DateOfBirth>1981­09­01</B:DateOfBirth>        <B:SocialSecurityNr>256646399</B:SocialSecurityNr>        <B:MaritalStatus></B:MaritalStatus>      </B:Person>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 20 van 75

Page 21: 20111013   view point interactief - soap calls

</B:authenticatePublicUserResponse>

3.2. Control bij het verzoek voor wijzigen wachtwoord

NAAM : Verzoek wijzigen wachtwoord

PARAMETERS: emailAddress : String – Email adres van de eindgebruiker

socialSecurityNumber : Integer – BSN van de eindgebruiker

OUTPUT: Long RelationId

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.verifyEmailForPasswordChangeRequest

SOAP: verifyEmailForPasswordChangeRequest

OMSCHRIJVING: Controleert of er een persoon bestaat binnen viewpoint met de aangegeven

email adres en bsn nummer, eventueel ook de geboortedatum.

CHECKS: Email adres bestaat in combinatie met bsn nummer, eventueel ook

geboortedatum.

FOUTMELDINGEN:

BSN niet gevonden

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>250432868</B:OriginalValue>            <B:FaultCode>socialSecurityNumberNotFound</B:FaultCode>             <B:FaultDescription>Geen hoofdaanvrager aanwezig met bsn: 

250432868.</B:FaultDescription>

          </B:Item>        </B:Items>      </B:RejectedRequest>

Email adres niet gevonden

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>[email protected]</B:OriginalValue>            <B:FaultCode>emailAddressNotFound</B:FaultCode>             <B:FaultDescription>

Geen hoofdaanvrager aanwezig met email: [email protected].</B:FaultDescription>

          </B:Item>        </B:Items>      </B:RejectedRequest>

REFERENTIES:

3.2.1. Input XML - verifyEmailForPasswordChangeRequest

<v:verifyEmailForPasswordChangeRequest xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

     <v:emailAddress>[email protected]</v:emailAddress>     <v:socialSecurityNumber>250452868</v:socialSecurityNumber></v:verifyEmailForPasswordChangeRequest>

3.2.2. Input XML - verifyEmailForPasswordChangeRequestResponse

    <B:verifyEmailForPasswordChangeRequestResponse>160036871

    </B:verifyEmailForPasswordChangeRequestResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 21 van 75

Page 22: 20111013   view point interactief - soap calls

3.3. Wijzigen public password

NAAM : Wijzigen wachtwoord

PARAMETERS: relationId : Long – Id van de {VP}Relation

OUTPUT: String - bericht

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.changePasswordWebCredentials

SOAP: changePasswordWebCredentials

OMSCHRIJVING: Wijzigt de wachtwoord van de aangegeven relatie

CHECKS: Relation moet wel bestaan – zo niet wordt een harde fout geretourneert

FOUTMELDINGEN:

Email adres niet gevonden

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>[email protected]</B:OriginalValue>            <B:FaultCode>emailAddressNotFound</B:FaultCode>             <B:FaultDescription>

Geen hoofdaanvrager aanwezig met email: [email protected]</B:FaultDescription>

          </B:Item>        </B:Items>      </B:RejectedRequest>

REFERENTIES:

3.3.1. Input XML - changePasswordWebCredentials

 <v:changePasswordWebCredentials xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

    <v:relationId>160036871</v:relationId> </v:changePasswordWebCredentials>

3.3.2. Input XML - changePasswordWebCredentialsResponse

    <B:changePasswordWebCredentialsResponse>Wachtwoord gewijzigd ­ nieuwe wachtwoord is naar relatie gemaild

    </B:changePasswordWebCredentialsResponse

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 22 van 75

Page 23: 20111013   view point interactief - soap calls

4. Relaties

4.1. Aanmaken nieuw persoon in ViewPoint

NAAM : Maakt een nieuw record voor een persoon

PARAMETERS: Person – {VP}/Person - Person element

OUTPUT: {VP}Person

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.createPerson

SOAP: Deze call maakt een nieuw record aan voor een ViewPoint persoon en

retourneert dezelfde XML structuur met toegevoegde Ids

OMSCHRIJVING: Het aangeleverde persoonselement mag geen ID bevatten

CHECKS:

FOUTMELDINGEN: Field: ID, OriginalValue: <12345>, FaultCode: INPUT, Faultdescription: ID

should be empty.

REFERENTIES:

4.1.1. Input XML - createPerson

<v:createPerson xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint"><Person xmlns="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">    <Role>Crediteur</Role>    <AddressList>        <Address>            <Type>CORADR</Type>            <Street>Sparrenlaan</Street>            <HouseNumber>6</HouseNumber>            <Postcode>5941 ED</Postcode>            <City>Velden</City>            <Municipality>Velden</Municipality>            <Country>Nederland</Country>        </Address>    </AddressList>    <BankAccountList>        <BankAccount>            <Type>B</Type>            <Preferred>false</Preferred>            <AccountNumber>476967996</AccountNumber>        </BankAccount>        <BankAccount>            <Type>G</Type>            <Preferred>true</Preferred>            <AccountNumber>12345</AccountNumber>        </BankAccount>    </BankAccountList>    <CapacityList>        <Capacity>            <Description>MAKELAAR</Description>            <StartDate>1969­05­07</StartDate>            <EndDate>2010­05­07</EndDate>        </Capacity>    </CapacityList>    <ContractList/>    <InvoiceList/>    <RequestsForRepairList/>    <Initials>H</Initials>    <SurnamePrefix>de</SurnamePrefix>    <Surname>Kooten</Surname>    <HomePhone>020­11112222</HomePhone>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 23 van 75

Page 24: 20111013   view point interactief - soap calls

    <MobilePhone>06­99998888</MobilePhone>    <WorkPhone>010­12341234</WorkPhone>    <Email>[email protected]</Email>    <Gender>man</Gender>    <DateOfBirth>1969­04­03</DateOfBirth>    <SocialSecurityNr>160040139</SocialSecurityNr>    <MaritalStatus>GESCHEIDEN</MaritalStatus></Person></v:createPerson>

4.1.2. Output XML - createPersonResponse

<B:createPersonResponse>      <B:Person>        <B:ID>1100102948</B:ID>        <B:Role>Crediteur</B:Role>        <B:AddressList>          <B:Address>            <B:Type>CORADR</B:Type>            <B:ID>1100117497</B:ID>            <B:Street>Sparrenlaan</B:Street>            <B:HouseNumber>6</B:HouseNumber>            <B:Postcode>5941 ED</B:Postcode>            <B:City>Velden</B:City>            <B:Country>Nederland</B:Country>          </B:Address>        </B:AddressList>        <B:BankAccountList>          <B:BankAccount>            <B:Type>B</B:Type>            <B:Preferred>false</B:Preferred>            <B:AccountNumber>476967996</B:AccountNumber>          </B:BankAccount>          <B:BankAccount>            <B:Type>G</B:Type>            <B:Preferred>true</B:Preferred>            <B:AccountNumber>12345</B:AccountNumber>          </B:BankAccount>        </B:BankAccountList>        <B:CapacityList>          <B:Capacity>            <B:Description>MAKELAAR</B:Description>            <B:StartDate>1969­05­07</B:StartDate>            <B:EndDate>2010­05­07</B:EndDate>          </B:Capacity>        </B:CapacityList>        <B:ContractList/>        <B:InvoiceList/>        <B:RequestsForRepairList/>        <B:Initials>H</B:Initials>        <B:SurnamePrefix>de</B:SurnamePrefix>        <B:Surname>Kooten</B:Surname>        <B:HomePhone>020­11112222</B:HomePhone>        <B:MobilePhone>06­99998888</B:MobilePhone>        <B:WorkPhone>010­12341234</B:WorkPhone>        <B:Email>[email protected]</B:Email>        <B:Gender>man</B:Gender>        <B:DateOfBirth>1969­04­03T00:00:00+01:00</B:DateOfBirth>        <B:SocialSecurityNr>160040139</B:SocialSecurityNr>        <B:MaritalStatus>GESCHEIDEN</B:MaritalStatus>      </B:Person>    </B:createPersonResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 24 van 75

Page 25: 20111013   view point interactief - soap calls

4.2. Tonen klantgegevens

NAAM : Tonen klantgegevens met contracten en saldi.

PARAMETERS: relId : Long - Id van ViewPoint relatie

includeAddresses : Boolean - Indien “true”, exporteer adressen van relatie in

{VP}[Person|Company]/AddressList/Address*

includeBankAccounts : Boolean - Indien “true”, exporteer bankgegevens van

relatie in {VP} [Person|Company]/BankAccountList/BankAccount*

includeCapacities : Boolean - Indien “true”, exporteer hoedanigheden van

relatie in {VP} [Person|Company]/CapacityList/Capacity*

includeContracts : Boolean - Indien “true”, exporteer contracten van relatie in

{VP} [Person|Company]/ContractList/Contract*

includeInvoices : Boolean - Indien “true”, exporteer saldi van relatie in

{VP} [Person|Company]/InvoiceList/Invoice*

OUTPUT: {VP}[Person|Company]

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.getVPRelation

SOAP: getVPRelation

OMSCHRIJVING: Deze call exporteert gegevens direct gekoppeld aan een ViewPoint relatie.

Naamgegevens zijn altijd aanwezig. Adres-, bank-, contract-, saldogegevens en

hoedanigheden (bijv. huismeester, aannemer) zijn optioneel.

CHECKS: Het ID moet verwijzen naar een bestaande relatie in ViewPoint.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie wordt er een record.not.found

foutcode geretourneerd.

REFERENTIES:

4.2.1. Input XML - getVPRelation

<v:getVPRelation xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">   <v:relId>1100045493</v:relId>   <v:includeAddresses>true</v:includeAddresses>   <v:includeBankAccounts>true</v:includeBankAccounts>   <v:includeCapacities>true</v:includeCapacities>   <v:includeContracts>true</v:includeContracts>   <v:includeInvoices>true</v:includeInvoices></v:getVPRelation>

4.2.2. Output XML - getVPRelationResponse

<B:getVPRelationResponse>      <B:Person>        <B:ID>1100045493</B:ID>        <B:Role>Debiteur</B:Role>        <B:AddressList>          <B:Address>            <B:Type>CORADR</B:Type>            <B:ID>1100067674</B:ID>            <B:Street>Poorthofsweg</B:Street>            <B:HouseNumber>22</B:HouseNumber>            <B:Postcode>3246 CG</B:Postcode>            <B:Municipality>DIRKSLAND</B:Municipality>            <B:City>DIRKSLAND</B:City>            <B:Country>Nederland</B:Country>            <B:StartDate>1900­01­01</B:StartDate>          </B:Address>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 25 van 75

Page 26: 20111013   view point interactief - soap calls

        </B:AddressList>        <B:BankAccountList>          <B:BankAccount>            <B:Type>B</B:Type>            <B:Preferred>false</B:Preferred>            <B:AccountNumber>366557882</B:AccountNumber>          </B:BankAccount>          <B:BankAccount>            <B:Type>G</B:Type>            <B:Preferred>true</B:Preferred>            <B:AccountNumber>232323</B:AccountNumber>          </B:BankAccount>        </B:BankAccountList>        <B:CapacityList/>        <B:ContractList>          <B:Contract>            <B:ID>1100023807</B:ID>            <B:Description>Deze contracten worden automatisch aangemaakt 

t.b.v. het verwerken van huurtoeslag (huursubsidie)     </B:Description>

            <B:StartDate>1999­12­01</B:StartDate>            <B:EndDate>2005­02­28</B:EndDate>            <B:Type>EOS</B:Type>            <B:ContracteeList>              <B:Contractee>                <B:ID>1100030940</B:ID>                <B:StartDate>1999­12­01</B:StartDate>                <B:Person>                  <B:ID>100026596</B:ID>                  <B:Role>Debiteur</B:Role>                  <B:Initials>F.L.V.D.E.</B:Initials>                  <B:Surname>Schuur /hut</B:Surname>                  <B:Gender>man</B:Gender>                </B:Person>                <B:Address>                  <B:Type>CORADR</B:Type>                  <B:ID>100048811</B:ID>                  <B:Street>Poorthofsweg</B:Street>                  <B:HouseNumber>22</B:HouseNumber>                  <B:Postcode>3246 CG</B:Postcode>     <B:Municipality>DIRKSLAND</B:Municipality>                  <B:City>DIRKSLAND</B:City>                  <B:Country>Nederland</B:Country>                  <B:StartDate>1900­01­01</B:StartDate>                </B:Address>                <B:Type>HOOFDCONTRACTANT</B:Type>              </B:Contractee>              <B:Contractee>                <B:ID>1100030939</B:ID>                <B:StartDate>1999­12­01</B:StartDate>                <B:Person>                  <B:ID>1100045493</B:ID>                  <B:Role>Debiteur</B:Role>                  <B:Initials>E.</B:Initials>                  <B:Surname>Hulzebos</B:Surname>                  <B:DateOfBirth>1975­10­31</B:DateOfBirth>                </B:Person>                <B:Address>                  <B:Type>CORADR</B:Type>                  <B:ID>1100067674</B:ID>                  <B:Street>Poorthofsweg</B:Street>                  <B:HouseNumber>22</B:HouseNumber>                  <B:Postcode>3246 CG</B:Postcode>                  <B:Municipality>DIRKSLAND</B:Municipality>                  <B:City>DIRKSLAND</B:City>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 26 van 75

Page 27: 20111013   view point interactief - soap calls

                  <B:Country>Nederland</B:Country>                  <B:StartDate>1900­01­01</B:StartDate>                </B:Address>                <B:Type>MEDEBEWONER</B:Type>              </B:Contractee>            </B:ContracteeList>            <B:BankAccountList/>            <B:PaymentTermsList>              <B:PaymentTerms>                <B:StartDate>1999­12­01T00:00:00+01:00</B:StartDate>                <B:PaymentMethod>HANDMATIG</B:PaymentMethod>                <B:PrintingMethod>GEEN</B:PrintingMethod>                <B:AccountNumber>2656702</B:AccountNumber>              </B:PaymentTerms>            </B:PaymentTermsList>          </B:Contract>        </B:ContractList>        <B:InvoiceList/>        <B:RequestsForRepairList/>        <B:Initials>E.</B:Initials>        <B:Surname>Hulzebos</B:Surname>        <B:DateOfBirth>1975­10­31</B:DateOfBirth>      </B:Person>    </B:getVPRelationResponse>

4.3. Bijwerken relatiegegevens met adressen

NAAM : Aanpassen persoonsgegevens met adressen

PARAMETERS: Person – {VP}/Person – Person element

OUTPUT: {VP}Relation

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.updatePerson

nl.itris.soap.calls.crm.SoapCrmCalls.updateCompany

SOAP: getVPRelation

OMSCHRIJVING: Deze call exporteert gegevens direct gekoppeld aan een ViewPoint relatie.

Naamgegevens zijn altijd aanwezig. Adres-, bank-, contract-, saldogegevens en

hoedanigheden (bijv. huismeester, aannemer) zijn optioneel.

CHECKS: Het ID moet verwijzen naar een bestaande relatie in ViewPoint.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie: Relation with id <id> does

not exist.

REFERENTIES:

4.3.1. Input XML - updatePerson

<v:updatePerson xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">  <Person xmlns="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

<ID>160022012</ID><AddressList>  <Address>       <Type>CORADR</Type>

<ID>160037881</ID><Street>Rhijnspoor</Street><HouseNumber>243</HouseNumber><HouseNumberSuffix>245</HouseNumberSuffix><Postcode>2901 LB</Postcode><Municipality>CAPELLE AAN DEN IJSSEL</Municipality><City>CAPELLE AAN DEN IJSSEL</City><Country>Nederland</Country>

  </Address></AddressList>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 27 van 75

Page 28: 20111013   view point interactief - soap calls

<BankAccountList /><CapacityList>  <Capacity>    <Description>MEDEWERKER</Description>    <StartDate>2005­01­01</StartDate>

         </Capacity></CapacityList><ContractList /><Invoices /><RequestsForRepairList />  <SurnamePrefix>dé</SurnamePrefix>  <Surname>Business Consultant</Surname>  <HomePhone>010­12341234</HomePhone>  <MobilePhone>06­12341234</MobilePhone>  <WorkPhone>010­12341234</WorkPhone>  <Email>itris­business­[email protected]</Email>

   </Person></v:updatePerson>

4.3.2. Output XML - updatePersonResponse

<B:updatePersonResponse />

4.4. Adressen opzoeken via postcode

NAAM : Adressen opzoeken via postcode

PARAMETERS: zipcode String postcode

houseNumber String housenummer [optioneel]

houseSuffix String housesuffix [optioneel]

OUTPUT: SoapAddress

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.lookupAddressViaZipcode

SOAP: lookupAddressViaZipcode

OMSCHRIJVING: Deze call zoekt een adres gebaseerd op de opgegeven postcode, als eventueel

housenummer en suffix worden meegegeven worden deze ook gecontroleerd.

CHECKS: Het zipcode moet verwijzen naar een geldig adres

FOUTMELDINGEN:

Ongeldige postcode

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>8231 XE</B:OriginalValue>            <B:FaultCode>invalidPostCode</B:FaultCode>            <B:FaultDescription>Ongeldig postcode</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>

Ongeldig huisnummer

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>1315</B:OriginalValue>            <B:FaultCode>invalidHouseNumber</B:FaultCode>            <B:FaultDescription>Ongeldig housenummer: 1315.</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 28 van 75

Page 29: 20111013   view point interactief - soap calls

REFERENTIES:

4.4.1. Input XML - lookupAddressViaZipcode

  <v:lookupAddressViaZipcode xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:zipcode>8231GE</v:zipcode>  <v:houseNumber>2215</v:houseNumber>  <v:houseSuffix>d</v:houseSuffix> </v:lookupAddressViaZipcode>

4.4.2. Output XML - lookupAddressViaZipcodeResponse

 <B:lookupAddressViaZipcodeResponse>      <B:Address>        <B:Street>Kempenaar</B:Street>        <B:HouseNumber>2215</B:HouseNumber>        <B:HouseNumberSuffix>d</B:HouseNumberSuffix>        <B:Postcode>8231 GE</B:Postcode>        <B:Municipality>LELYSTAD</B:Municipality>        <B:City>LELYSTAD</B:City>        <B:Country>Nederland</B:Country>        <B:Type>CORADR</B:Type>      </B:Address>  </B:lookupAddressViaZipcodeResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 29 van 75

Page 30: 20111013   view point interactief - soap calls

5. Objecten

5.1. Opvragen specificaties woningwaardering

NAAM : Opvragen specificaties woningwaardering

PARAMETERS: vpPropertyId – Long - Id van ViewPoint object

includeEvaluations – Boolean - Boolean vlag: indien true,

OUTPUT: {VP}Property/ PropertyEvaluationList/PropertyEvaluation*

CALL: nl.itris.soap.calls.crm.SoapBaeCalls.getVPProperty

SOAP: getVPProperty

OMSCHRIJVING: Selecteert een ViewPoint object (BAE_VHO.bot_id = vpPropertyId) en indien

includeEvaluations true is, ook alle records uit de view

V_INFO_WONINGWAARDERING.bot_id

CHECKS: vpPropertyId moet verwijzen naar een geldig bot_id in BAE_VHO

5.1.1. Input XML - getVPProperty

<v:getVPProperty xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">  <v:vpPropertyId>160011689</v:vpPropertyId>  <v:includeEvaluations>true</v:includeEvaluations></v:getVPProperty>

5.1.2. Output XML - getVPPropertyResponse

    <B:getVPPropertyResponse>      <B:Property>        <B:ID>160011689</B:ID>        <B:Street>Kingsfordweg</B:Street>        <B:HouseNumber>85</B:HouseNumber>        <B:HouseNumberSuffix></B:HouseNumberSuffix>        <B:Postcode>1043 GP</B:Postcode>        <B:Municipality>AMSTERDAM</B:Municipality>        <B:City>AMSTERDAM</B:City>        <B:Country>Nederland</B:Country>        <B:Nickname>210291</B:Nickname>        <B:Description>21.0291</B:Description>        <B:PropertyEvaluationList>          <B:PropertyEvaluation>            <B:Section>Vertrekken</B:Section>            <B:Element>Woonkamer</B:Element>            <B:Value>21,14</B:Value>            <B:ValueSuffix>m?</B:ValueSuffix>            <B:Subjective>false</B:Subjective>          </B:PropertyEvaluation>

...     <B:PropertyEvaluation>            <B:Section>Centrale verwarming</B:Section>            <B:Element>Aantal verwarmde vertrekken</B:Element>            <B:Value>7</B:Value>            <B:Points>14.0</B:Points>            <B:Subjective>false</B:Subjective>          </B:PropertyEvaluation>        </B:PropertyEvaluationList>      </B:Property>    </B:getVPPropertyResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 30 van 75

Page 31: 20111013   view point interactief - soap calls

5.2. Tonen woonbezit

NAAM : Tonen woonbezitgegevens van een enkel object

PARAMETERS: vpPropertyId – Long - Id van ViewPoint verhuurbaar object

OUTPUT: {VP}AvailablePropertyData

CALL: nl.itris.soap.calls.crm.SoapBaeCalls.getAvailablePropertyData

SOAP: getAvailablePropertyData

OMSCHRIJVING: Deze call exporteert een lijst van gegevens voor een enkel ViewPoint

verhuurbaar object

CHECKS: Het ID moet verwijzen naar een bestaand object in ViewPoint.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie is het responsdocument leeg:

<B:getAvailablePropertyDataResponse/>

REFERENTIES:

5.2.1. Input XML - getAvailablePropertyData

 <v:getAvailablePropertyData xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

     <v:vpPropertyId>160011676</v:vpPropertyId> </v:getAvailablePropertyData>

5.2.2. Output XML - getAvailablePropertyDataResponse

<B:getAvailablePropertyDataResponse>      <B:AvailablePropertyData>        <B:PropertyId>160011676</B:PropertyId>        <B:PropertyDescription>21.0276</B:PropertyDescription>        <B:PropertySubtype>Woning</B:PropertySubtype>        <B:MainCluster>Woningcorporatie Itris</B:MainCluster>        <B:Complex>Complex 21.100</B:Complex>        <B:RentablePropertyType>eengezinswoning eind</B:RentablePropertyType>        <B:Address>          <B:Street>Zanzibarstraat</B:Street>          <B:HouseNumber>57</B:HouseNumber>          <B:HouseNumberSuffix></B:HouseNumberSuffix>          <B:Postcode>1339 RP</B:Postcode>          <B:Municipality>ALMERE</B:Municipality>          <B:City>ALMERE</B:City>          <B:Country>Nederland</B:Country>          <B:Type>CORADR</B:Type>        </B:Address>        <B:BwkArea>Wijk</B:BwkArea>        <B:Neighbourhood>5534</B:Neighbourhood>        <B:DefaultDeposit>0</B:DefaultDeposit>        <B:NumberOfBedRooms>3</B:NumberOfBedRooms>        <B:LotSquareMetres>55.38</B:LotSquareMetres>        <B:Kitchen>5,20</B:Kitchen>        <B:Garden>101,00</B:Garden>        <B:ConstructionYear>01­01­1952</B:ConstructionYear>        <B:MediaList/>      </B:AvailablePropertyData>    </B:getAvailablePropertyDataResponse>

5.3. Tonen woonaanbod

NAAM : Tonen woonaanbodgevens van een enkel object

PARAMETERS: vpPropertyId – Long - Id van ViewPoint verhuurbaar object

vacantFrom – Date - Datum vanaf welke het object leeggemeld moet zijn

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 31 van 75

Page 32: 20111013   view point interactief - soap calls

OUTPUT: {VP}UnoccupiedPropertyData

CALL: nl.itris.soap.calls.crm.SoapBaeCalls.getUnoccupiedPropertyData

SOAP: getUnoccupiedPropertyData

OMSCHRIJVING: Deze call exporteert een lijst van gegevens voor een enkel ViewPoint

leegstaand object.

CHECKS: Het ID moet verwijzen naar een bestaand object in ViewPoint.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie is het responsdocument leeg:

<B:getUnoccupiedPropertyDataResponse/>

5.3.1. Input XML - getUnoccupiedPropertyData

<v:getUnoccupiedPropertyData xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

   <v:vpPropertyId>160021983</v:vpPropertyId>   <v:vacantFrom>2005­06­30T11:00:00</v:vacantFrom></v:getUnoccupiedPropertyData>

5.3.2. Output XML - getUnoccupiedPropertyDataResponse

<B:getUnoccupiedPropertyDataResponse>      <B:UnoccupiedPropertyData>        <B:Name></B:Name>        <B:ID>160003602</B:ID>        <B:PropertyID>160021983</B:PropertyID>        <B:StartDate>2006­03­01</B:StartDate>        <B:AvailableFrom>01­03­2006</B:AvailableFrom>        <B:EndDateAsAdvertised>2010­09­02</B:EndDateAsAdvertised>        <B:DatePublished>2010­08­19</B:DatePublished>        <B:UrgentReactions>0</B:UrgentReactions>        <B:NonUrgentReactions>1</B:NonUrgentReactions>        <B:Subtype>Woning</B:Subtype>        <B:Status>VOORDRACHT</B:Status>        <B:Identification>105.0015</B:Identification>        <B:CompanyName>Eigen haard</B:CompanyName>        <B:Model>AANBODMODEL</B:Model>        <B:Type>appartement 1e verdieping</B:Type>        <B:Address>          <B:Street>Korenbeursstraat</B:Street>          <B:HouseNumber>1</B:HouseNumber>          <B:HouseNumberSuffix>­15</B:HouseNumberSuffix>          <B:Postcode>1335 XL</B:Postcode>          <B:Municipality>ALMERE</B:Municipality>          <B:City>ALMERE</B:City>          <B:Country>Nederland</B:Country>          <B:Type>CORADR</B:Type>        </B:Address>        <B:StreetAddress>Korenbeursstraat 1 ­15</B:StreetAddress>        <B:Postcode>1335 XL</B:Postcode>        <B:City>ALMERE</B:City>        <B:Country>NEDERLAND</B:Country>        <B:District>Centrum</B:District>        <B:Municipality>ALMERE</B:Municipality>        <B:Neighbourhood>5465</B:Neighbourhood>        <B:TotalRent>0.0</B:TotalRent>        <B:BasicRent>0.0</B:BasicRent>        <B:HeatingCosts>0.0</B:HeatingCosts>        <B:ServiceCharges>0.0</B:ServiceCharges>        <B:GeneralCharges>0.0</B:GeneralCharges>        <B:IHSRent>0.0</B:IHSRent>        <B:DepositAmount>0.0</B:DepositAmount>        <B:NrOfRooms></B:NrOfRooms>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 32 van 75

Page 33: 20111013   view point interactief - soap calls

        <B:NrOfBedrooms></B:NrOfBedrooms>        <B:TotalSquareMetres>55.0</B:TotalSquareMetres>        <B:Sanitary></B:Sanitary>        <B:MaxOccupancy></B:MaxOccupancy>        <B:Kitchen></B:Kitchen>        <B:Furniture></B:Furniture>        <B:Balcony></B:Balcony>        <B:RoofTerrace></B:RoofTerrace>        <B:Garden></B:Garden>        <B:Lift></B:Lift>        <B:Attic></B:Attic>        <B:Floor></B:Floor>        <B:CentralHeating></B:CentralHeating>        <B:StorageRoom></B:StorageRoom>        <B:Stories></B:Stories>        <B:Surroundings></B:Surroundings>        <B:Description></B:Description>        <B:AdvertisementNr>20107</B:AdvertisementNr>        <B:ComplexName>Complex 105</B:ComplexName>        <B:PreliminaryInspectionData></B:PreliminaryInspectionData>        <B:FinalInspectionData></B:FinalInspectionData>        <B:ReorderingMethod></B:ReorderingMethod>        <B:NumberOfPropertiesForRent></B:NumberOfPropertiesForRent>        <B:ConstructionYear>1968</B:ConstructionYear>        <B:WaitingTimeInWeeks></B:WaitingTimeInWeeks>        <B:AdminCharges>0.0</B:AdminCharges>        <B:FuturePlans></B:FuturePlans>        <B:Summary></B:Summary>        <B:Price></B:Price>        <B:PriceLabel></B:PriceLabel>        <B:TransferCharges></B:TransferCharges>        <B:LotSquareMetres></B:LotSquareMetres>        <B:CapacityInCubicMetres></B:CapacityInCubicMetres>        <B:TypeOfBuilding></B:TypeOfBuilding>        <B:Garage></B:Garage>        <B:Insulation></B:Insulation>        <B:Situation></B:Situation>        <B:EstateAgents></B:EstateAgents>        <B:MonthlyMortgage></B:MonthlyMortgage>        <B:SwimmingPool></B:SwimmingPool>        <B:AirCo></B:AirCo>        <B:Fireplace></B:Fireplace>        <B:TypeOfSale></B:TypeOfSale>        <B:Remarks></B:Remarks>        <B:BlockingType></B:BlockingType>        <B:TargetGroup></B:TargetGroup>        <B:WaitingTime></B:WaitingTime>        <B:DegreeOfMutation></B:DegreeOfMutation>        <B:PropertySyncStatus></B:PropertySyncStatus>        <B:PropertySyncConditions>Dit zijn de voorwaarden.</B:PropertySyncConditions>        <B:RenovationDescription></B:RenovationDescription>        <B:LivingRoomAreaSquareMetres></B:LivingRoomAreaSquareMetres>        <B:TotalFloorAreaSquareMetres></B:TotalFloorAreaSquareMetres>        <B:StorageSquareMetres></B:StorageSquareMetres>        <B:GardenSquareMetres></B:GardenSquareMetres>        <B:UOEPropertyKey></B:UOEPropertyKey>        <B:DistrictInfo></B:DistrictInfo>        <B:Street></B:Street>        <B:Huurvast5></B:Huurvast5>        <B:Huurvast10></B:Huurvast10>        <B:HuurZeker5></B:HuurZeker5>        <B:Huurzeker10></B:Huurzeker10>        <B:Koopgarant5></B:Koopgarant5>        <B:Koopgarant10></B:Koopgarant10>        <B:Koopgarant15></B:Koopgarant15>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 33 van 75

Page 34: 20111013   view point interactief - soap calls

        <B:Koopgarant20></B:Koopgarant20>        <B:Koopgarant25></B:Koopgarant25>        <B:Koopgarant30></B:Koopgarant30>        <B:Koopcomfort></B:Koopcomfort>        <B:ExtraInformation01></B:ExtraInformation01>        <B:ExtraInformation02></B:ExtraInformation02>        <B:ExtraInformation03></B:ExtraInformation03>        <B:ExtraInformation04></B:ExtraInformation04>        <B:ExtraInformation05></B:ExtraInformation05>        <B:ExtraInformation06></B:ExtraInformation06>        <B:ExtraInformation07></B:ExtraInformation07>        <B:ExtraInformation08></B:ExtraInformation08>        <B:ExtraInformation09></B:ExtraInformation09>        <B:ExtraInformation10></B:ExtraInformation10>        <B:MediaList/>

</B:UnoccupiedPropertyData>   </B:getUnoccupiedPropertyDataResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 34 van 75

Page 35: 20111013   view point interactief - soap calls

6. Werkverzoeken

6.1. Aanmaken reparatieverzoek

NAAM : Aanmaken reparatieverzoek

PARAMETERS: relId – Long - De relatie in ViewPoint die het verzoek doet

vpPropertyId = Long - Het object waarop het reparatieverzoek betrekking

heeft.

urgency – String - Verwijst naar npo_urgenties.nug_name

cause = String - Omschrijving van oorzaak uit beschikbare lijst, t.w. de tabel

red_reference_codes,

sleutel rce_name = npo_werkverzoek_oorzaak

description – String - Omschrijving van probleem

OUTPUT: void

CALL: nl.itris.soap.calls.crm.SoapNpoMaintenanceCalls.createRequestForRepair

SOAP: createRequestForRepair

OMSCHRIJVING: Creëert een record in npo_werkverzoeken voor het aangegeven object, met de

opgegeven relatie als melder.

CHECKS: relId moet verwijzen naar een geldige relatie

vpPropertyId moet verwijzen naar een geldig object

urgency en cause moeten overeenkomen met de actuele lijst in resp.

npo_urgenties en red_reference_codes

FOUTMELDINGEN:

REFERENTIES:

6.1.1. Input XML - createRequestForRepair

<v:createRequestForRepair xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

<v:relId>100030592</v:relId><v:vpPropertyId>100017303</v:vpPropertyId><v:urgency>relevante urgentiecode</v:urgency><v:cause>relevante oorzaak</v:cause><v:description>descriptions</v:description>

</v:createRequestForRepair>

6.1.2. Output XML - createRequestForRepairResponse

<B:createRequestForRepairResponse>      <B:RequestForRepair>        <B:PropertyID>100017303</B:PropertyID>        <B:StreetAddress>Kerkstraat 41</B:StreetAddress>        <B:Description>descriptions</B:Description>        <B:DateReported>2009­10­07T15:40:19.750+02:00</B:DateReported>        <B:RequestCompleted>false</B:RequestCompleted>        <B:Cause>inspectie</B:Cause>        <B:Source>Inspectie</B:Source>        <B:Urgency>Herstellen binnen 2 week</B:Urgency>      </B:RequestForRepair>    </B:createRequestForRepairResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 35 van 75

Page 36: 20111013   view point interactief - soap calls

6.2. Opvragen reparatieverzoeken met status

NAAM : Opvragen reparatieverzoeken met status

PARAMETERS: relId – Long - Id van ViewPoint relatie

OUTPUT: {VP}[Person|Company]/RequestForRepair*

CALL: l.itris.soap.calls.crm.SoapNpoMaintenanceCalls.getRepairRequestsForRelation

SOAP: getRepairRequestsForRelation

OMSCHRIJVING: Deze call exporteert een enkele relatie met een lijst van reparatieverzoeken

CHECKS: Het ID moet verwijzen naar een bestaand object in ViewPoint.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie is het responsdocument leeg:

<getRepairRequestsForRelationResponse/>

REFERENTIES:

6.2.1. Input XML - getRepairRequestsForRelation

<v:getRepairRequestsForRelation xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:relId>100018740</v:relId></v:getRepairRequestsForRelation>

6.2.2. Output XML - getRepairRequestsForRelationResponse

<B:getRepairRequestsForRelationResponse>      <B:Person>        <B:ID>100018740</B:ID>        <B:Role>Beide</B:Role>        <B:AddressList/>        <B:BankAccountList/>        <B:CapacityList/>        <B:ContractList/>        <B:InvoiceList/>        <B:RequestsForRepairList>          <B:RequestsForRepair>            <B:CallerID>100018740</B:CallerID>            <B:PropertyID>100014634</B:PropertyID>            <B:StreetAddress>Uilenhoek 8</B:StreetAddress>            <B:Description>De voordeur sluit niet goed.</B:Description>            <B:DateReported>2005­11­24T13:42:00</B:DateReported>            <B:RequestCompleted>false</B:RequestCompleted>            <B:Cause>inspectie</B:Cause>            <B:Source>Inspectie</B:Source>            <B:Urgency>Herstellen binnen een week</B:Urgency>            <B:ListWorkorders>              <B:ExternalReference></B:ExternalReference>              <B:SequenceNr>1</B:SequenceNr>              <B:OrderDate>2005­11­24T13:42:00</B:OrderDate>              <B:FinishBeforeDate></B:FinishBeforeDate>              <B:PlanStartDate>2005­11­24T15:00:00</B:PlanStartDate>              <B:PlanEndDate>2005­11­24T17:00:00</B:PlanEndDate>              <B:RealStartDate></B:RealStartDate>              <B:RealEndDate></B:RealEndDate>              <B:AppointmentBlockStart></B:AppointmentBlockStart>              <B:AppointmentBlockEnd></B:AppointmentBlockEnd>              <B:EstimatedMinutes>30</B:EstimatedMinutes>              <B:Description>De voordeur sluit niet goed.</B:Description>              <B:InternalMemo>Reparatieverzoek</B:InternalMemo>              <B:CompletionStatus>UNKN</B:CompletionStatus>              <B:ReasonIncomplete></B:ReasonIncomplete>              <B:Completed>false</B:Completed>            </B:ListWorkorders>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 36 van 75

Page 37: 20111013   view point interactief - soap calls

          </B:RequestsForRepair>          <B:RequestsForRepair>            <B:CallerID>100018740</B:CallerID>            <B:PropertyID>100015500</B:PropertyID>            <B:StreetAddress>Borgweg 29</B:StreetAddress>            <B:Description>De voordeur sluit niet goed.</B:Description>            <B:DateReported>2005­11­24T19:00:00</B:DateReported>            <B:RequestCompleted>false</B:RequestCompleted>            <B:Cause>inspectie</B:Cause>            <B:Source>Inspectie</B:Source>            <B:Urgency>Herstellen binnen een week</B:Urgency>            <B:ListWorkorders>              <B:ExternalReference></B:ExternalReference>              <B:SequenceNr>1</B:SequenceNr>              <B:OrderDate>2005­11­24T19:00:00</B:OrderDate>              <B:FinishBeforeDate></B:FinishBeforeDate>              <B:PlanStartDate>2005­11­25T13:00:00</B:PlanStartDate>              <B:PlanEndDate>2005­11­25T15:00:00</B:PlanEndDate>              <B:RealStartDate></B:RealStartDate>              <B:RealEndDate></B:RealEndDate>              <B:AppointmentBlockStart></B:AppointmentBlockStart>              <B:AppointmentBlockEnd></B:AppointmentBlockEnd>              <B:EstimatedMinutes>30</B:EstimatedMinutes>              <B:Description>De voordeur sluit niet goed.</B:Description>              <B:InternalMemo>Reparatieverzoek</B:InternalMemo>              <B:CompletionStatus>UNKN</B:CompletionStatus>              <B:ReasonIncomplete></B:ReasonIncomplete>              <B:Completed>false</B:Completed>            </B:ListWorkorders>          </B:RequestsForRepair>        </B:RequestsForRepairList>        <B:Initials>L.N.</B:Initials>        <B:SurnamePrefix>van der</B:SurnamePrefix>        <B:Surname>Ende</B:Surname>        <B:HomePhone>terst</B:HomePhone>        <B:WorkPhone>001</B:WorkPhone>        <B:Gender>man</B:Gender>        <B:DateOfBirth>1964­02­18T00:00:00+01:00</B:DateOfBirth>        <B:SocialSecurityNr>10526882</B:SocialSecurityNr>        <B:MaritalStatus>Onbekend</B:MaritalStatus>      </B:Person></B:getRepairRequestsForRelationResponse>

6.3. Opvragen lijst van urgentiecodes

NAAM : Opvragen urgentiecodes

PARAMETERS: geen

OUTPUT: {VP}SoapCustomForm

CALL: nl.itris.soap.calls.crm.SoapNpoMaintenanceCalls.getNPOUrgencyList

SOAP: getNPOUrgencyList

OMSCHRIJVING: Toont de lijst van alle in ViewPoint beschikbare urgentiecodes

CHECKS: geen

FOUTMELDINGEN: Indien tabel leeg is

REFERENTIES:

6.3.1. Input XML - getNPOUrgencyList

<v:getNPOUrgencyList xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

</v:getNPOUrgencyList>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 37 van 75

Page 38: 20111013   view point interactief - soap calls

6.3.2. Output XML - getNPOUrgencyListResponse

    <B:getNPOUrgencyListResponse>      <B:CustomForm>        <B:Form>npo urgency</B:Form>        <B:EntryList>          <B:Entry>            <B:Field>Uitvoering met spoed, direct</B:Field>            <B:DateMeasured></B:DateMeasured>          </B:Entry>

.....          <B:Entry>            <B:Field>Avondstoring</B:Field>            <B:DateMeasured></B:DateMeasured>          </B:Entry>        </B:EntryList>      </B:CustomForm>    </B:getNPOUrgencyListResponse>

6.4. Opvragen lijst oorzaken werkverzoeken

NAAM : Opvragen lijst oorzaken werkverzoeken

PARAMETERS: Geen

OUTPUT: {VP}SoapCustomForm

CALL: nl.itris.soap.calls.crm.SoapNpoMaintenanceCalls.getNPOCauseList

SOAP: getNPOCauseList

OMSCHRIJVING: Toont de lijst van alle in ViewPoint beschikbare oorzaken in werkverzoeken

CHECKS: geen

FOUTMELDINGEN: Indien tabel leeg is

REFERENTIES:

6.4.1. Input XML - getNPOCauseList

<v:getNPOCauseList xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

</v:getNPOCauseList>

6.4.2. Output XML - <B:getNPOCauseListResponse>

    <B:getNPOCauseListResponse>      <B:CustomForm>        <B:Form>npo causes</B:Form>        <B:EntryList>          <B:Entry>            <B:Field>Brandschade</B:Field>            <B:DateMeasured></B:DateMeasured>          </B:Entry>

...          <B:Entry>            <B:Field>WVG</B:Field>            <B:DateMeasured></B:DateMeasured>          </B:Entry>        </B:EntryList>      </B:CustomForm>    </B:getNPOCauseListResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 38 van 75

Page 39: 20111013   view point interactief - soap calls

7. Betaalafspraken

7.1. Toevoegen nieuwe betaalafspraak

NAAM : Toevoegen van een nieuwe betaalafspraak

PARAMETERS: contractId – Long - ID van bestaand contract, te vinden in {VP}Contract

PaymentTerms – {VP}PaymentTerms - Nieuwe betaalwijze

OUTPUT: Het nieuw gegenereerde record.

CALL: nl.itris.soap.calls.crm.SoapContractCalls.insertPaymentTermsForContract

SOAP: insertPaymentTermsForContract

OMSCHRIJVING: Aan een contract kunnen een of meerdere betaalafspraken hangen. Deze

worden gerepresenteerd door een {VP}PaymentTerms element dat normaliter

wordt uitgeleverd in

{VP}Contract/PaymentTermsList/PaymentTerms/PaymentMethod.

CHECKS: contractId moet verwijzen naar een bestaand contract in ViewPoint.

PaymentTerms/PrintingMethod moet een van GEEN, FACTUUR, ACCEPT,

COMBI, NOTA zijn PaymentTerms/PaymentMethod moet een van

HANDMATIG, GSD, INCASSO, EXCASSO, EXCASSO_DEBITEUREN zijn. De

combinatie contractnummer en PaymentTerms/Startdate moet uniek zijn.

FOUTMELDINGEN: ORA-20000: Rekeningnummer is ongeldig indien een syntactisch ongeldig

rekeningnummer wordt opgegeven. ORA-20000: U dient een

rekeningnummer op te geven. Indien PaymentMethod INCASSO is en geen

PaymentTerms/AccountNumber wordt aangeleverd

REFERENTIES: Om een betaalwijze aan te passen moet een nieuwe betaalwijze toegevoegd

worden. Doordat dit afhankelijk is van een bepaalde datum wordt de oudere

betaalwijze niet meer geldig vanaf het moment dat de nieuwe betaalwijze van

toepassing is. Deze houdt ook de geschiedenis in stand.

7.1.1. Input XML - insertPaymentTermsForContract

<v:insertPaymentTermsForContract xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

    <v:contractId>100013472</v:contractId>    <PaymentTerms xmlns="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">      <StartDate>2010­02­01</StartDate>      <PaymentMethod>EXCASSO</PaymentMethod>      <PrintingMethod>FACTUUR</PrintingMethod>      <AccountNumber>999</AccountNumber>    </PaymentTerms></v:insertPaymentTermsForContract>

7.1.2. Output XML - insertPaymentTermsForContractResponse

<B:insertPaymentTermsForContractResponse>      <B:PaymentTerms>        <B:ID>1100044753</B:ID>        <B:StartDate>2010­02­04T00:00:00+01:00</B:StartDate>        <B:PaymentMethod>EXCASSO</B:PaymentMethod>        <B:PrintingMethod>FACTUUR</B:PrintingMethod>        <B:AccountNumber>1001</B:AccountNumber>      </B:PaymentTerms>    </B:insertPaymentTermsForContractResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 39 van 75

Page 40: 20111013   view point interactief - soap calls

7.2. Ophalen van de uitgespecificeerde streefhuur

NAAM : Ophalen gespecificeerde streefhuur

PARAMETERS: vpPropertyId – Long - ID van verhuurbaar object

contractType – String - Contracttype

dateValid – XML Date - ID van contract, in {VP}Contract

OUTPUT: {VP}Property/TargetRentSpecification

CALL: nl.itris.soap.calls.crm.SoapBaeCalls.getTargetRentSpecificationsForContract

SOAP: getTargetRentSpecificationsForContract

OMSCHRIJVING:

<B:Contract> <B:ID>160002005</B:ID> <B:StartDate>1991-10-09T00:00:00+01:00</B:StartDate> <B:EndDate>1995-03-24T00:00:00+01:00</B:EndDate> <B:Type>HUUR</B:Type> <B:Property> <B:ID>160011074</B:ID> […] <B:Property> <B:Contract>

Aanroepparameters voor deze call kunnen uit de XML van een Relation object

worden gehaald: vpProperty=Property/ID, contractType=Contract/Type en

dateValid (de peildatum) ligt tussen Contract/StartDate en Contract/EndDate

CHECKS: vpPropertyId moet naar een geldig VewPoint object verwijzen. Contracttype

moet een van HUUR, KOOP, EOS, WE, EIGENAAR, TERUGKOOP zijn

dateValid (peildatum) moet na de startdatum van het contract liggen en voor de

einddatum, als het contract een einddatum heeft.

FOUTMELDINGEN:

REFERENTIES: Increment 3: Ophalen van de uitgespecificeerde streefhuur

7.2.1. Input XML - getTargetRentSpecificationsForContract

<v:getTargetRentSpecificationsForContract xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:vpPropertyId>160011676</v:vpPropertyId>  <v:contractType>HUUR</v:contractType>  <v:dateValid>2000­05­05Z</v:dateValid></v:getTargetRentSpecificationsForContract>

7.2.2. Output XML - getTargetRentSpecificationsForContract Response

    <B:getTargetRentSpecificationsForContractResponse>      <B:Property>        <B:ID>160011676</B:ID>        <B:Street>Zanzibarstraat</B:Street>        <B:HouseNumber>57</B:HouseNumber>        <B:HouseNumberSuffix></B:HouseNumberSuffix>        <B:Postcode>1339 RP</B:Postcode>        <B:Municipality>ALMERE</B:Municipality>        <B:City>ALMERE</B:City>        <B:Country>Nederland</B:Country>        <B:Nickname>210276</B:Nickname>        <B:Description>21.0276</B:Description>        <B:TargetRentSpecification>          <B:Rent>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 40 van 75

Page 41: 20111013   view point interactief - soap calls

            <B:BasicRent>211.82</B:BasicRent>            <B:HeatingCosts>0.0</B:HeatingCosts>            <B:ServiceCharges>1.13</B:ServiceCharges>            <B:GeneralCharges>0.0</B:GeneralCharges>            <B:ContractuallyBinding>0.0</B:ContractuallyBinding>            <B:SubsidisableRent>211.82</B:SubsidisableRent>            <B:TotalRentInclVAT>212.95</B:TotalRentInclVAT>          </B:Rent>        </B:TargetRentSpecification>      </B:Property>    </B:getTargetRentSpecificationsForContractResponse>

7.3. Ophalen cartotheekformulier voor object

NAAM : Wijzigen betaalwijze voor een ViewPoint relatie

PARAMETERS: vpPropertyId – Long - ID van ViewPoint object

formName – String - Naam van formulier

omitEmptyFields – Boolean - Indien true, wordt voor niet-gevulde velden in

het formulier geen <Entry> element geëxporteerd

OUTPUT: nl.itris.soap.calls.crm.SoapBaeCalls.fetchCustomFormForProperty

CALL: fetchCustomFormForProperty

SOAP: fetchCustomFormForProperty

OMSCHRIJVING: Deze call ontsluit de functionaliteit van maatwerkformulieren uit de ViewPoint

cartotheek door per object alle relevante elementwaardes in een formulier te

exporteren. Een formulier bestaat uit een of meer <Entry> elementen in een

<EntryList> binnen een <CustomForm> element. Een of meer CustomForm

elementen worden in een CustomFormList opgenomen en uitgeleverd in een

Property element. De formulier data staat in de Property / CustomFormList /

CustomForm / EntryList / Entry elementen. Dit bevat altijd óf een <Value> óf

een <Media> element, dat een URL bevat naar een document in de vorm:

http://my.host.nl/VP/BlobsServlet/?rbb_id=12341234

CHECKS: VppropertyId moet verwijzen naar een geldig object binnen ViewPoint

formName moet een geldig cartotheekformulier zijn

FOUTMELDINGEN: Indien bovenstaande checks niet voldoen wordt een harde fout geretourneerd.

Zachte fouten zijn niet te verwachten.

REFERENTIES:

7.3.1. Input XML - fetchCustomFormForProperty

<v:fetchCustomFormForProperty xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:vpPropertyId>160011676</v:vpPropertyId>  <v:formName>Woonbezit</v:formName>  <v:omitEmptyFields>false</v:omitEmptyFields></v:fetchCustomFormForProperty>

7.3.2. Output XML - fetchCustomFormForPropertyResponse

<B:fetchCustomFormForPropertyResponse>      <B:Property>        <B:ID>160011676</B:ID>        <B:Street>Zanzibarstraat</B:Street>        <B:HouseNumber>57</B:HouseNumber>        <B:HouseNumberSuffix></B:HouseNumberSuffix>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 41 van 75

Page 42: 20111013   view point interactief - soap calls

        <B:Postcode>1339 RP</B:Postcode>        <B:Municipality>ALMERE</B:Municipality>        <B:City>ALMERE</B:City>        <B:Country>Nederland</B:Country>        <B:Nickname>210276</B:Nickname>        <B:Description>21.0276</B:Description>        <B:CustomFormList>          <B:CustomForm>            <B:Form>Woonbezit</B:Form>            <B:EntryList>              <B:Entry>                <B:Field>Totaal oppervlakte</B:Field>                <B:Value>55.38</B:Value>                <B:DataType>NUMBER</B:DataType>                <B:DateMeasured>1952­01­01</B:DateMeasured>              </B:Entry>

   ...              <B:Entry>                <B:Field>Bad</B:Field>                <B:Value>2.17</B:Value>                <B:DataType>NUMBER</B:DataType>                <B:DateMeasured>1952­01­01</B:DateMeasured>              </B:Entry>            </B:EntryList>          </B:CustomForm>        </B:CustomFormList>      </B:Property>    </B:fetchCustomFormForPropertyResponse>

7.4. Opvragen openstaande facturen plus uitsplitsingen

NAAM : Opvragen openstaande facturen plus uitsplitsingen

PARAMETERS: relId – Long - Id van ViewPoint relatie

processed – String - Boolean vlag: indien true, worden ook afgeletterde facturen

meegenomen

(V_SOAP_SALDO.AFGELETTERD) geëxporteerd

OUTPUT: {VP}AvailablePropertyData

CALL: nl.itris.soap.calls.contract.SoapContractCalls.getInvoicesForRelation

SOAP: getInvoicesForRelation

OMSCHRIJVING: Deze call haalt gegevens op voor een persoon ({VP}Person) of bedrijf

({VP}company) zonder adres- of bankgegevens, met hierin InvoiceList/Invoice*

elementen.

CHECKS: Het ID moet verwijzen naar een bestaande relatie in ViewPoint.

Waardes ‘true’, ‘1’, ‘yes’ of ‘y’ (case-insensitive) voor processed zijn boolean

true, anders false.

FOUTMELDINGEN: Indien ID niet verwijst naar een bestaande relatie wordt er een

record.not.found foutcode geretourneerd.

7.4.1. Input XML - getInvoicesForRelation

<v:getInvoicesForRelation xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">   <v:relId>160017591</v:relId>    <v:processed/></v:getInvoicesForRelation>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 42 van 75

Page 43: 20111013   view point interactief - soap calls

7.4.2. Output XML - getInvoicesForRelationResponse

<B:getInvoicesForRelationResponse>     <B:Person>        <B:ID>160017591</B:ID>        <B:Role>Debiteur</B:Role>        <B:InvoiceList>          <B:Invoice>            <B:InvoiceDate>2003­12­23</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/01­2004 + PROLONGATIE EOS/01­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504000686</B:InvoiceNumber>            <B:DueDate>2004­01­01</B:DueDate>            <B:InvoiceID>160018739</B:InvoiceID>            <B:InvoicePeriod>200401</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­02­02</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/02­2004 + PROLONGATIE EOS/02­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504006100</B:InvoiceNumber>            <B:DueDate>2004­02­06</B:DueDate>            <B:InvoiceID>160074145</B:InvoiceID>            <B:InvoicePeriod>200402</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­02­23</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/03­2004 + PROLONGATIE EOS/03­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504015298</B:InvoiceNumber>            <B:DueDate>2004­03­05</B:DueDate>            <B:InvoiceID>160080927</B:InvoiceID>            <B:InvoicePeriod>200403</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­03­24</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/04­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504026635</B:InvoiceNumber>            <B:DueDate>2004­04­05</B:DueDate>            <B:InvoiceID>160087084</B:InvoiceID>            <B:InvoicePeriod>200404</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­04­22</B:InvoiceDate>            <B:Description>Huur prolongatie 21.0276.02/05­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504034154</B:InvoiceNumber>            <B:DueDate>2004­05­05</B:DueDate>            <B:InvoiceID>160104698</B:InvoiceID>            <B:InvoicePeriod>200405</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­05­26</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/06­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504040038</B:InvoiceNumber>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 43 van 75

Page 44: 20111013   view point interactief - soap calls

            <B:DueDate>2004­06­05</B:DueDate>            <B:InvoiceID>160122372</B:InvoiceID>            <B:InvoicePeriod>200406</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­06­23</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/07­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504045822</B:InvoiceNumber>            <B:DueDate>2004­07­05</B:DueDate>            <B:InvoiceID>160145853</B:InvoiceID>            <B:InvoicePeriod>200407</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­07­21</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/08­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504055318</B:InvoiceNumber>            <B:DueDate>2004­08­05</B:DueDate>            <B:InvoiceID>160151937</B:InvoiceID>            <B:InvoicePeriod>200408</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­08­24</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/09­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504061066</B:InvoiceNumber>            <B:DueDate>2004­09­05</B:DueDate>            <B:InvoiceID>160157892</B:InvoiceID>            <B:InvoicePeriod>200409</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­09­22</B:InvoiceDate>            <B:Description>Huurprolongatie 21.0276.02/10­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504064459</B:InvoiceNumber>            <B:DueDate>2004­10­05</B:DueDate>            <B:InvoiceID>160163846</B:InvoiceID>            <B:InvoicePeriod>200410</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­10­25</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/11­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504070194</B:InvoiceNumber>            <B:DueDate>2004­11­05</B:DueDate>            <B:InvoiceID>160169825</B:InvoiceID>            <B:InvoicePeriod>200411</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­11­25</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/12­2004</B:Description>            <B:Receivable>201.96</B:Receivable>            <B:InvoiceNumber>9504075934</B:InvoiceNumber>            <B:DueDate>2004­12­05</B:DueDate>            <B:InvoiceID>160175813</B:InvoiceID>            <B:InvoicePeriod>200412</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 44 van 75

Page 45: 20111013   view point interactief - soap calls

          <B:Invoice>            <B:InvoiceDate>2004­12­21</B:InvoiceDate>            <B:Description>Huurprolongatie 21.0276.02/01­2005</B:Description>            <B:Receivable>171.96</B:Receivable>            <B:InvoiceNumber>9505004615</B:InvoiceNumber>            <B:DueDate>2005­01­05</B:DueDate>            <B:InvoiceID>160181807</B:InvoiceID>            <B:InvoicePeriod>200501</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2005­01­26</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/02­2005</B:Description>            <B:Receivable>201.96</B:Receivable>            <B:InvoiceNumber>9505007985</B:InvoiceNumber>            <B:DueDate>2005­02­05</B:DueDate>            <B:InvoiceID>160193940</B:InvoiceID>            <B:InvoicePeriod>200502</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2005­02­24</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/03­2005</B:Description>            <B:Receivable>201.96</B:Receivable>            <B:InvoiceNumber>9505013899</B:InvoiceNumber>            <B:DueDate>2005­03­05</B:DueDate>            <B:InvoiceID>160199986</B:InvoiceID>            <B:InvoicePeriod>200503</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2005­04­01</B:InvoiceDate>            <B:Description>Huurprolongatie 21.0276.02/04­2005</B:Description>            <B:Receivable>249.71</B:Receivable>            <B:InvoiceNumber>9505022009</B:InvoiceNumber>            <B:DueDate>2007­01­26</B:DueDate>            <B:InvoiceID>160206264</B:InvoiceID>            <B:InvoicePeriod>200504</B:InvoicePeriod>            <B:Processed>false</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2003­12­23</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/01­2004 + PROLONGATIE EOS/01­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504000686</B:InvoiceNumber>            <B:DueDate>2004­01­01</B:DueDate>            <B:InvoiceID>160018739</B:InvoiceID>            <B:InvoicePeriod>200401</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­02­02</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/02­2004 + PROLONGATIE EOS/02­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504006100</B:InvoiceNumber>            <B:DueDate>2004­02­06</B:DueDate>            <B:InvoiceID>160074145</B:InvoiceID>            <B:InvoicePeriod>200402</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­02­23</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/03­2004 + PROLONGATIE EOS/03­

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 45 van 75

Page 46: 20111013   view point interactief - soap calls

2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504015298</B:InvoiceNumber>            <B:DueDate>2004­03­05</B:DueDate>            <B:InvoiceID>160080927</B:InvoiceID>            <B:InvoicePeriod>200403</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­03­24</B:InvoiceDate>            <B:Description>PROLONGATIE 21.0276.02/04­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504026635</B:InvoiceNumber>            <B:DueDate>2004­04­05</B:DueDate>            <B:InvoiceID>160087084</B:InvoiceID>            <B:InvoicePeriod>200404</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­04­22</B:InvoiceDate>            <B:Description>Huur prolongatie 21.0276.02/05­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504034154</B:InvoiceNumber>            <B:DueDate>2004­05­05</B:DueDate>            <B:InvoiceID>160104698</B:InvoiceID>            <B:InvoicePeriod>200405</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­05­26</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/06­2004</B:Description>            <B:Receivable>182.03</B:Receivable>            <B:InvoiceNumber>9504040038</B:InvoiceNumber>            <B:DueDate>2004­06­05</B:DueDate>            <B:InvoiceID>160122372</B:InvoiceID>            <B:InvoicePeriod>200406</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­06­23</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/07­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504045822</B:InvoiceNumber>            <B:DueDate>2004­07­05</B:DueDate>            <B:InvoiceID>160145853</B:InvoiceID>            <B:InvoicePeriod>200407</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­07­21</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/08­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504055318</B:InvoiceNumber>            <B:DueDate>2004­08­05</B:DueDate>            <B:InvoiceID>160151937</B:InvoiceID>            <B:InvoicePeriod>200408</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­08­24</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/09­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504061066</B:InvoiceNumber>            <B:DueDate>2004­09­05</B:DueDate>            <B:InvoiceID>160157892</B:InvoiceID>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 46 van 75

Page 47: 20111013   view point interactief - soap calls

            <B:InvoicePeriod>200409</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­09­22</B:InvoiceDate>            <B:Description>Huurprolongatie 21.0276.02/10­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504064459</B:InvoiceNumber>            <B:DueDate>2004­10­05</B:DueDate>            <B:InvoiceID>160163846</B:InvoiceID>            <B:InvoicePeriod>200410</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>          <B:Invoice>            <B:InvoiceDate>2004­10­25</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/11­2004</B:Description>            <B:Receivable>197.46</B:Receivable>            <B:InvoiceNumber>9504070194</B:InvoiceNumber>            <B:DueDate>2004­11­05</B:DueDate>            <B:InvoiceID>160169825</B:InvoiceID>            <B:InvoicePeriod>200411</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>

...          <B:Invoice>            <B:InvoiceDate>2005­02­24</B:InvoiceDate>            <B:Description>Huurprolongatie EOS/03­2005</B:Description>            <B:Receivable>201.96</B:Receivable>            <B:InvoiceNumber>9505013899</B:InvoiceNumber>            <B:DueDate>2005­03­05</B:DueDate>            <B:InvoiceID>160199986</B:InvoiceID>            <B:InvoicePeriod>200503</B:InvoicePeriod>            <B:Processed>true</B:Processed>          </B:Invoice>        </B:InvoiceList>        <B:Initials>Y.J.</B:Initials>        <B:SurnamePrefix></B:SurnamePrefix>        <B:Surname>Boon Th</B:Surname>        <B:HomePhone>8101615</B:HomePhone>        <B:MobilePhone></B:MobilePhone>        <B:WorkPhone></B:WorkPhone>        <B:Email></B:Email>        <B:Gender>vrouw</B:Gender>        <B:DateOfBirth>1947­05­23</B:DateOfBirth>        <B:SocialSecurityNr></B:SocialSecurityNr>        <B:MaritalStatus></B:MaritalStatus>      </B:Person></B:getInvoicesForRelationResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 47 van 75

Page 48: 20111013   view point interactief - soap calls

8. Objectverdeling Interactief

8.1. Inschrijvingen

8.1.1. Aanmaken internet registratie woningzoekende

NAAM :

PARAMETERS: {VP}/HouseHunterRegistration

OUTPUT: Status inschrijving – bericht dat inschrijving in behandeling is genomen

CALL: nl.itris.soap.calls.dsn.SoapDsnCalls.createInternetHouseHunterRegistration

SOAP: createInternetHouseHunterRegistration

OMSCHRIJVING: WebCredentials : De web credentials bestaan uit een unieke username en en

unieke password.

Wachtwoord moet conform bepaalde eisen: 8 karakters waarvan minimaal 2

cijfers – deze wachtwoord moet wel uniek zijn, zo niet wordt een error

gegenereerd

CHECKS: Username is uniek

Wachtwoord conform eisen

Hoofdaanvrager gegevens aanwezig.

FOUTMELDINGEN:

Hoofdaanvrager gegevens ontbreken

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>HouseHunterRegistration</B:Field>            <B:FaultCode>missingMainApplicant</B:FaultCode>            <B:FaultDescription>Hoofdaanvrager ontbreekt.</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>

Wachtwoord niet conform eisen: minimaal 8 karakters, waarvan minimaal 2 cijfers

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>password</B:Field>            <B:OriginalValue>*******</B:OriginalValue>            <B:FaultCode>passwordToShort</B:FaultCode>            <B:FaultDescription>Wachtwoord is te kort.</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>

Username is al in gebruik – bij duplicate user name

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>username</B:Field>            <B:OriginalValue>username001</B:OriginalValue>            <B:FaultCode>alreadyExists</B:FaultCode>            <B:FaultDescription>Username is al in gebruik : 

username001.</B:FaultDescription>          </B:Item>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 48 van 75

Page 49: 20111013   view point interactief - soap calls

        </B:Items>      </B:RejectedRequest>

Bij het invoeren van een foutieve datatype

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>aantalSlaapkamers</B:Field>            <B:OriginalValue></B:OriginalValue>            <B:FaultCode>fieldTypeMandatory</B:FaultCode>            <B:FaultDescription>

De DataType tag binnen een Entry tag is verplicht.</B:FaultDescription>

          </B:Item>        </B:Items>      </B:RejectedRequest>

REFERENTIES:

8.1.2. Input XML - createInternetHouseHunterRegistration

Algemene gegevens voor het creëren van een nieuwe internet inschrijving inclusief reactie(s)

<?xml version="1.0" encoding="utf­8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ih="http://xml.itris.nl/viewpoint/2009/01/29/soap­header"><soap:Header>     <ih:soapuserid>vpc</ih:soapuserid>     <ih:plainpasswd>h3rr3lb4rk</ih:plainpasswd> </soap:Header><soap:Body><v:createInternetHouseHunterRegistrationxmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">      <v:HouseHunterRegistration>        <v:Status>ACT</v:Status>        <v:EntryDate>2010­03­01</v:EntryDate>        <v:RegistrationNumber></v:RegistrationNumber>         <v:ContactMedium>Internet</v:ContactMedium>        <v:Person>          <v:WebCredentials>              <v:Username>joxmltest303</v:Username>              <v:Password>303tsetlmxoj</v:Password>          </v:WebCredentials>          <v:Role>Debiteur</v:Role>          <v:AddressList>            <v:Address>              <v:Street>Walmolen</v:Street>              <v:HouseNumber>2</v:HouseNumber>              <v:HouseNumberSuffix></v:HouseNumberSuffix>              <v:Postcode>1035 BL</v:Postcode>              <v:Municipality>AMSTERDAM</v:Municipality>              <v:City>AMSTERDAM</v:City>              <v:Country>Nederland</v:Country>              <v:Type>CORADR</v:Type>              <v:StartDate>1900­01­01</v:StartDate>              <v:EndDate></v:EndDate>            </v:Address>          </v:AddressList>          <v:BankAccountList>                <v:BankAccount>                 <v:Type>G</v:Type>                 <v:Preferred>true</v:Preferred>                 <v:AccountNumber>989898</v:AccountNumber>                </v:BankAccount>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 49 van 75

Page 50: 20111013   view point interactief - soap calls

          </v:BankAccountList>          <v:Initials>M.M.</v:Initials>          <v:SurnamePrefix></v:SurnamePrefix>          <v:Surname>JoXmltest303</v:Surname>          <v:HomePhone>0104223445</v:HomePhone>          <v:MobilePhone>0612345676</v:MobilePhone>          <v:WorkPhone>0426967818</v:WorkPhone>          <v:Email>[email protected]</v:Email>          <v:Gender>man</v:Gender>          <v:DateOfBirth>1982­09­10</v:DateOfBirth>          <v:SocialSecurityNr>250452868</v:SocialSecurityNr>          <v:MaritalStatus>GEHUWD</v:MaritalStatus>        </v:Person>        <v:Partner> [optioneel]          <v:Role>Debiteur</v:Role>          <v:AddressList>            <v:Address>              <v:Street>Walmolen</v:Street>              <v:HouseNumber>2</v:HouseNumber>              <v:HouseNumberSuffix></v:HouseNumberSuffix>              <v:Postcode>1035 BL</v:Postcode>              <v:Municipality>AMSTERDAM</v:Municipality>              <v:City>AMSTERDAM</v:City>              <v:Country>Nederland</v:Country>              <v:Type>CORADR</v:Type>              <v:StartDate>1900­01­01</v:StartDate>              <v:EndDate></v:EndDate>            </v:Address>          </v:AddressList>          <v:Initials>M.M.</v:Initials>          <v:SurnamePrefix></v:SurnamePrefix>          <v:Surname>JoXmltestpartner303</v:Surname>          <v:HomePhone>0104223445</v:HomePhone>          <v:MobilePhone>0612345676</v:MobilePhone>          <v:WorkPhone>0426967818</v:WorkPhone>          <v:Email>[email protected]</v:Email>          <v:Gender>man</v:Gender>          <v:DateOfBirth>1982­09­10</v:DateOfBirth>          <v:SocialSecurityNr>004577632</v:SocialSecurityNr>          <v:MaritalStatus>GEHUWD</v:MaritalStatus>        </v:Partner>        <v:MainRegistration>true</v:MainRegistration>        <v:OrganisationId>1600</v:OrganisationId>        <v:RegistrationForm>          <v:Form>dsnRegistration</v:Form>          <v:EntryList>              <v:Entry>                <v:Field>kasbetaling</v:Field>                <v:Value>Ja</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>

...      <v:Entry>

                <v:Field>sloopjaar</v:Field>                <v:Value>2016</v:Value>                <v:DataType>CHARACTER</v:DataType>              </v:Entry>              <v:Entry>                <v:Field>woonduur</v:Field>                <v:Value>2015­03­26</v:Value>                <v:DataType>XMLDATE</v:DataType>              </v:Entry>          </v:EntryList>      </v:RegistrationForm>      <v:CouponList>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 50 van 75

Page 51: 20111013   view point interactief - soap calls

<v:Coupon>           <v:DateSubmitted>2010­02­11T13:52:42+02:00</v:DateSubmitted>

   <v:UnoccupiedProperty>      <v:ID>160003602</v:ID>

...   </v:UnoccupiedProperty>

      </v:Coupon>      </v:CouponList>      </v:HouseHunterRegistration>     </v:createInternetHouseHunterRegistration></soap:Body> </soap:Envelope>

Gegevens meesturen van een persoon die nog niet in het systeem bekend is.

          <v:Person>             <v:WebCredentials>                <v:Username>username001</v:Username>                <v:Password>w8w00rd</v:Password>             </v:WebCredentials>             <v:Role>Debiteur</v:Role>             <v:AddressList>               <v:Address>                 <v:Type>CORADR</v:Type>                 <v:Street>Sont</v:Street>                  <v:HouseNumber>41</v:HouseNumber>                 <v:Postcode>8226 AD</v:Postcode>                 <v:Municipality>LELYSTAD</v:Municipality>                 <v:City>LELYSTAD</v:City>                  <v:Country>Nederland</v:Country>                 <v:StartDate>2010­08­08</v:StartDate>               </v:Address>             </v:AddressList>             <v:BankAccountList>                <v:BankAccount>                 <v:Type>G</v:Type>                 <v:Preferred>true</v:Preferred>                 <v:AccountNumber>989898</v:AccountNumber>                </v:BankAccount>             </v:BankAccountList>             <v:Initials>A</v:Initials>             <v:Surname>Testnaam</v:Surname>             <v:Email>[email protected]</v:Email>              <v:DateOfBirth>1982­08­08</v:DateOfBirth>          </v:Person>

Gegevens meesturen van een partner die nog niet in het systeem bekend is.

        <v:Partner>          <v:Role>Debiteur</v:Role>          <v:AddressList>            <v:Address>              <v:Street>Walmolen</v:Street>              <v:HouseNumber>2</v:HouseNumber>              <v:HouseNumberSuffix></v:HouseNumberSuffix>              <v:Postcode>1035 BL</v:Postcode>              <v:Municipality>AMSTERDAM</v:Municipality>              <v:City>AMSTERDAM</v:City>              <v:Country>Nederland</v:Country>              <v:Type>CORADR</v:Type>              <v:StartDate>1900­01­01</v:StartDate>              <v:EndDate></v:EndDate>            </v:Address>          </v:AddressList>          <v:Initials>M.M.</v:Initials>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 51 van 75

Page 52: 20111013   view point interactief - soap calls

          <v:SurnamePrefix></v:SurnamePrefix>          <v:Surname>JoXmltestpartner303</v:Surname>          <v:HomePhone>0104223445</v:HomePhone>          <v:MobilePhone>0612345676</v:MobilePhone>          <v:WorkPhone>0426967818</v:WorkPhone>          <v:Email>[email protected]</v:Email>          <v:Gender>man</v:Gender>          <v:DateOfBirth>1982­09­10</v:DateOfBirth>          <v:SocialSecurityNr>004577632</v:SocialSecurityNr>          <v:MaritalStatus>GEHUWD</v:MaritalStatus>        </v:Partner>

Gegevens meesturen van een persoon die wel in het systeem bekend is.

     <v:Person>         <v:WebCredentials>             <v:Username>username001</v:Username>             <v:Password>w8w00rd</v:Password>         </v:WebCredentials>         <v:ID>160036787</v:ID>          </v:Person>

Gegevens meesturen van een partner die wel in het systeem bekend is.

     <v:Partner>         <v:ID>160036787</v:ID>     </v:Partner>

8.1.3. Output XML - createInternetHouseHunterRegistrationResponse

   <B:createInternetHouseHunterRegistrationResponse>Inschrijving is in behandeling

   </B:createInternetHouseHunterRegistrationResponse>

8.1.4. Wijzigen internet inschrijfgegevens woningzoekende

NAAM : Wijzigen internet registratie woningzoekende

PARAMETERS: HouseHunterRegistration – {VP}/HouseHunterRegistration - Element bevat alle

gegevens mbt inschrijving

OUTPUT: {VP}HouseHunterRegistration

CALL: nl.itris.soap.calls.dsn.SoapDsnCalls.updateInternetHouseHunterRegistration

SOAP: updateInternetHouseHunterRegistration

OMSCHRIJVING: Deze call werkt een record bij van een woningzoekende inschrijving.

Aangeleverde persoonsgegevens voor hoofdinschrijver ({VP}Person en

{VP}Partner) worden niet bijgewerkt: alleen het ID wordt opgeslagen bij de

inschrijving.

CHECKS: Indien {VP}/Person en {VP}/Partner gevuld zijn moet hiervoor een ID zijn

opgegeven.

FOUTMELDINGEN:

REFERENTIES:

8.1.5. Input XML - updateInternetHouseHunterRegistration

<v:updateInternetHouseHunterRegistration xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">      <v:HouseHunterRegistration>        <v:ID>160006973</v:ID>        <v:Status>ACT</v:Status>        <v:EntryDate>2010­03­01</v:EntryDate>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 52 van 75

Page 53: 20111013   view point interactief - soap calls

        <v:RegistrationNumber>2010030074</v:RegistrationNumber>        <v:ContactMedium>Internet</v:ContactMedium>        <v:Person>          <v:ID>160036871</v:ID>          <v:Role>Debiteur</v:Role>          <v:AddressList>            <v:Address>              <v:Street>Walmolen</v:Street>              <v:HouseNumber>26</v:HouseNumber>              <v:HouseNumberSuffix></v:HouseNumberSuffix>              <v:Postcode>1035 BL</v:Postcode>              <v:Municipality>AMSTERDAM</v:Municipality>              <v:City>AMSTERDAM</v:City>              <v:Country>Nederland</v:Country>              <v:Type>CORADR</v:Type>              <v:StartDate>2010­03­01</v:StartDate>              <v:EndDate></v:EndDate>            </v:Address>          </v:AddressList>        <v:BankAccountList>          <v:BankAccount>            <v:Type>G</v:Type>            <v:Preferred>true</v:Preferred>            <v:AccountNumber>12345</v:AccountNumber>          </v:BankAccount>        </v:BankAccountList>          <v:Initials>M.M.</v:Initials>          <v:SurnamePrefix></v:SurnamePrefix>          <v:Surname>Joxmltest303</v:Surname>          <v:HomePhone>0104223445</v:HomePhone>          <v:MobilePhone>0612345676</v:MobilePhone>          <v:WorkPhone>0426967818</v:WorkPhone>          <v:Email>[email protected]</v:Email>          <v:Gender>vrouw</v:Gender>          <v:DateOfBirth>1988­08­08</v:DateOfBirth>          <v:SocialSecurityNr>250452868</v:SocialSecurityNr>          <v:MaritalStatus>GEHUWD</v:MaritalStatus>        </v:Person>        <v:MainRegistration>true</v:MainRegistration>        <v:OrganisationId>1600</v:OrganisationId>        <v:RegistrationForm>          <v:Form>dsnRegistration</v:Form>          <v:EntryList>            <v:Entry>              <v:Field>Binding</v:Field>              <v:Value>Economische binding</v:Value>              <v:DataType>CHARACTER</v:DataType>            </v:Entry>

...            <v:Entry>              <v:Field>Aantal slaapkamers</v:Field>              <v:Value>8</v:Value>              <v:DataType>NUMBER</v:DataType>            </v:Entry>          </v:EntryList>        </v:RegistrationForm>      </v:HouseHunterRegistration>     </v:updateInternetHouseHunterRegistration>

8.1.6. Output XML - updateInternetHouseHunterRegistration

<B:updateInternetHouseHunterRegistrationResponse>   <B:HouseHunterRegistration>      <B:MidofficeStatus>

Inschrijving is in behandeling      </B:MidofficeStatus>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 53 van 75

Page 54: 20111013   view point interactief - soap calls

   </B:HouseHunterRegistration></B:updateInternetHouseHunterRegistrationResponse>

8.1.7. Ophalen alle registraties van de hoofdaanvrager

NAAM : Ophalen registraties van de hoofdaanvrager

PARAMETERS: mainApplicant Long Het relatieId van de hoofdaanvrager

status String [Optioneel] ALL, HIS, ACT, PAS, INTERNET

CALL: nl.itris.soap.calls.crm.SoapDsnCalls.getHouseHunterRegistrations

SOAP: getHouseHunterRegistrations

OMSCHRIJVING: Zoekt en retrourneert een lijst van inschrijvingen voor een gegeven

hoofdaanvrager. Status veld is optioneel:

STATUS RETOURNEERT

ACT alle ACTIEVE inschrijvingen

PAS alle PASSIEVE inschrijvingen

HIS alle HISTORISCHE inschrijvingen

INTERNET | Geen(leeg) één ACTIEF INTERNET inschrijving

ALL alle backoffice inschrijvingen

CHECKS: Indien mainApplicant niet naar geldige Ids verwijst wordt een zachte fout

geretourneerd.

Indien status niet naar geldige RegistrationType verwijst wordt een harde fout

geretourneerd.

FOUTMELDINGEN:

REFERENTIES:

8.1.8. Input XML - getHouseHunterRegistrations

<v:getHouseHunterRegistrations xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">  <v:mainApplicant>160015257</v:mainApplicant>  <v:status>ALL</v:status></v:getHouseHunterRegistrations>

8.1.9. Output XML - getHouseHunterRegistrationsResponse

    <B:getHouseHunterRegistrationsResponse>      <B:HouseHunterRegistrationList>        <B:HouseHunterRegistration>          <B:ID>160006845</B:ID>          <B:Status>ACT</B:Status>          <B:EntryDate>2009­01­21</B:EntryDate>          <B:RegistrationNumber>2009010001</B:RegistrationNumber>          <B:ContactMedium>Telefoon</B:ContactMedium>          <B:Person>            <B:ID>160015257</B:ID>            <B:Role>Debiteur</B:Role>            <B:AddressList>              <B:Address>                <B:ID>160020665</B:ID>                <B:Street>Steffenseweg</B:Street>                <B:HouseNumber>18</B:HouseNumber>                <B:HouseNumberSuffix></B:HouseNumberSuffix>                <B:Postcode>1338 ML</B:Postcode>                <B:Municipality>ALMERE</B:Municipality>                <B:City>ALMERE</B:City>                <B:Country>Nederland</B:Country>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 54 van 75

Page 55: 20111013   view point interactief - soap calls

                <B:Type>CORADR</B:Type>                <B:StartDate>1900­01­01</B:StartDate>                <B:EndDate></B:EndDate>              </B:Address>            </B:AddressList>            <B:Initials>M.B.J.</B:Initials>            <B:SurnamePrefix></B:SurnamePrefix>            <B:Surname>Sjoers</B:Surname>            <B:HomePhone>06­41234606</B:HomePhone>            <B:MobilePhone></B:MobilePhone>            <B:WorkPhone></B:WorkPhone>            <B:Email>[email protected]</B:Email>            <B:Gender>vrouw</B:Gender>            <B:DateOfBirth>1953­07­01</B:DateOfBirth>            <B:SocialSecurityNr></B:SocialSecurityNr>            <B:MaritalStatus></B:MaritalStatus>          </B:Person>          <B:Points>16</B:Points>          <B:MainRegistration>true</B:MainRegistration>          <B:OrganisationId>1600</B:OrganisationId>          <B:RegistrationForm>            <B:Form>dsnRegistration</B:Form>            <B:EntryList>              <B:Entry>                <B:Field>punten</B:Field>                <B:Value>16</B:Value>                <B:DataType>NUMBER</B:DataType>              </B:Entry>      ...              <B:Entry>                <B:Field>typeWoning</B:Field>                <B:Value>Eengezinswoning</B:Value>                <B:DataType>CHARACTER</B:DataType>              </B:Entry>           </B:EntryList>          </B:RegistrationForm>          <B:CouponList>            <B:Coupon>              <B:ID>160000379</B:ID>              <B:ContactMedium>INTERNET</B:ContactMedium>              <B:CouponModelType>Optiemodel</B:CouponModelType>              <B:MutationOffice>B</B:MutationOffice>              <B:OptionOrder>2010051711480755</B:OptionOrder>              <B:OptionStalledUntil>2010­05­19</B:OptionStalledUntil>              <B:ReasonStalled>Medisch zaken ­ tot die tijd opgenomen in 

zienkenhuis</B:ReasonStalled>              <B:DateSubmitted>2010­05­17T11:48:32</B:DateSubmitted>              <B:Status>INGEVOERD</B:Status>              <B:UnoccupiedProperty>                <B:Name></B:Name>                <B:ID>160003687</B:ID>                <B:PropertyID>160022184</B:PropertyID>

...</B:UnoccupiedProperty>

              <B:WaitingListPosition>1</B:WaitingListPosition>            </B:Coupon>          </B:CouponList>        </B:HouseHunterRegistration>      </B:HouseHunterRegistrationList>    </B:getHouseHunterRegistrationsResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 55 van 75

Page 56: 20111013   view point interactief - soap calls

8.1.10. Ophalen enkel internet (midoffice) inschrijving van de hoofdaanvrager

NAAM : Ophalen internet registration van de hoofdaanvrager

PARAMETERS: mainApplicant Long Het relatieId van de hoofdaanvrager

OUTPUT:

CALL: nl.itris.soap.calls.crm.SoapDsnCalls.getInternetHouseHunterRegistration

SOAP: getInternetHouseHunterRegistration

OMSCHRIJVING: Zoekt en retrourneert een internet inschrijvingen voor een gegeven

hoofdaanvrager.

CHECKS: Indien mainApplicant niet naar geldige Ids verwijst wordt een zachte fout

geretourneerd.

FOUTMELDINGEN:

REFERENTIES:

8.1.11. Input XML - getInternetHouseHunterRegistration

<v:getInternetHouseHunterRegistration xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:mainApplicant>160036861</v:mainApplicant></v:getInternetHouseHunterRegistration>

Dit call verschilt met de request  

<v:getHouseHunterRegistrations xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:mainApplicant>160036861</v:mainApplicant>  <v:status>INTERNET</v:status></v:getHouseHunterRegistrations>

...dit verzoek retourneert een lege lijst:

    <B:getHouseHunterRegistrationsResponse>      <B:HouseHunterRegistrationList/>    </B:getHouseHunterRegistrationsResponse>

8.1.12. Output XML - getInternetHouseHunterRegistrationResponse

• Inschrijving is wel aanwezig in backoffice/midoffice.• In het geval dat de inschrijving aanwezig is in de midoffice verschijnt de MidofficeStatus element, dit

betekent dat de inschrijving is recentelijk aangepast en staat nog in de midoffice ter goedkeuring: <B:MidofficeStatus>In behandeling</B:MidofficeStatus>

    <B:getInternetHouseHunterRegistrationResponse>      <B:HouseHunterRegistration>        <B:ID>160001066</B:ID>        <B:Status>ACT</B:Status>        <B:EntryDate>2010­02­09</B:EntryDate>        <B:RegistrationNumber>2010020067</B:RegistrationNumber>        <B:Person>          <B:ID>160036861</B:ID>          <B:Role>Debiteur</B:Role>          <B:AddressList>            <B:Address>              <B:Street>Steile Bank</B:Street>              <B:HouseNumber>22</B:HouseNumber>              <B:HouseNumberSuffix></B:HouseNumberSuffix>              <B:Postcode>8223 BB</B:Postcode>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 56 van 75

Page 57: 20111013   view point interactief - soap calls

              <B:Municipality>LELYSTAD</B:Municipality>              <B:City>LELYSTAD</B:City>              <B:Country>Nederland</B:Country>              <B:Type>CORADR</B:Type>              <B:StartDate>2010­02­24</B:StartDate>              <B:EndDate></B:EndDate>            </B:Address>          </B:AddressList>        <B:BankAccountList>          <B:BankAccount>            <B:Type>B</B:Type>            <B:Preferred>false</B:Preferred>            <B:AccountNumber>476967996</B:AccountNumber>          </B:BankAccount>          <B:BankAccount>            <B:Type>G</B:Type>            <B:Preferred>true</B:Preferred>            <B:AccountNumber>12345</B:AccountNumber>          </B:BankAccount>        </B:BankAccountList>          <B:Initials>A.</B:Initials>          <B:SurnamePrefix></B:SurnamePrefix>          <B:Surname>Jotest999</B:Surname>          <B:HomePhone></B:HomePhone>          <B:MobilePhone></B:MobilePhone>          <B:WorkPhone></B:WorkPhone>          <B:Email>[email protected]</B:Email>          <B:DateOfBirth>1968­08­08</B:DateOfBirth>          <B:SocialSecurityNr></B:SocialSecurityNr>          <B:MaritalStatus></B:MaritalStatus>        </B:Person>        <B:Partner>          <B:ID>160036862</B:ID>          <B:Role>Debiteur</B:Role>          <B:AddressList>            <B:Address>              <B:Street>Steile Bank</B:Street>              <B:HouseNumber>31</B:HouseNumber>              <B:HouseNumberSuffix></B:HouseNumberSuffix>              <B:Postcode>8223 BB</B:Postcode>              <B:Municipality>LELYSTAD</B:Municipality>              <B:City>LELYSTAD</B:City>              <B:Country>Nederland</B:Country>              <B:Type>CORADR</B:Type>              <B:StartDate>2010­02­24</B:StartDate>              <B:EndDate></B:EndDate>            </B:Address>          </B:AddressList>          <B:Initials>A.</B:Initials>          <B:SurnamePrefix></B:SurnamePrefix>          <B:Surname>Jotestpartner200</B:Surname>          <B:HomePhone></B:HomePhone>          <B:MobilePhone></B:MobilePhone>          <B:WorkPhone></B:WorkPhone>          <B:Email>[email protected]</B:Email>          <B:DateOfBirth>1962­02­02</B:DateOfBirth>          <B:SocialSecurityNr></B:SocialSecurityNr>          <B:MaritalStatus></B:MaritalStatus>        </B:Partner>        <B:MainRegistration>true</B:MainRegistration>        <B:OrganisationId>1600</B:OrganisationId>        <B:RegistrationForm>          <B:Form>dsnRegistration</B:Form>          <B:EntryList/>        </B:RegistrationForm>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 57 van 75

Page 58: 20111013   view point interactief - soap calls

        <B:CouponList>          <B:Coupon>            <B:ID>160000206</B:ID>            <B:ContactMedium>INTERNET</B:ContactMedium>            <B:CouponModelType>Aanbodmodel</B:CouponModelType>            <B:MutationOffice>B</B:MutationOffice>            <B:OptionOrder>2010022512560001</B:OptionOrder>            <B:DateSubmitted>2010­02­25T12:56:18</B:DateSubmitted>            <B:Status>VOORDRACHT</B:Status>            <B:UnoccupiedProperty>              <B:Name></B:Name>              <B:ID>160003602</B:ID>              <B:PropertyID>160021983</B:PropertyID>

...            </B:UnoccupiedProperty>          </B:Coupon>        </B:CouponList>        <B:MidofficeStatus>In behandeling</B:MidofficeStatus>      </B:HouseHunterRegistration>    </B:getInternetHouseHunterRegistrationResponse>

of

Geen internet inschrijving aanwezig

    <B:getInternetHouseHunterRegistrationResponse>      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>mainApplicant</B:Field>            <B:OriginalValue>160036861</B:OriginalValue>            <B:FaultCode>internetRegistrationNotFound</B:FaultCode>            <B:FaultDescription>Geen internet inschrijving 

aanwezig.</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>    </B:getInternetHouseHunterRegistrationResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 58 van 75

Page 59: 20111013   view point interactief - soap calls

8.2. Woonbonnen / opties

8.2.1. Ophalen woonbonnen en opties van één persoon

NAAM : Ophalen reacties en opties van een persoon

PARAMETERS: relId – Long - Het persoons-ID van de hoofdaanvrager in de registratie.

VpPropertyId – String – Het BOT_ID van het leegstaand object waarvoor de

reacties worden opgehaald. Indien leeg worden alle Ids opgehaald.

OUTPUT: Een {VP}/HouseHunterRegistration met relevante {VP}/CouponList/Coupon*

elementen

CALL: nl.itris.soap.calls.crm.SoapDsnCalls.getReactionsForProperty

SOAP: getReactionsForProperty

OMSCHRIJVING: Maakt een selectie uit de woonbonnentabel o.b.v. het relatieId van de

hoofdaanvrager in de registratie en het botId van het leegstaand object.

CHECKS: Indien relId of vpPropertyId niet naar geldige Ids verwijzen wordt een harde fout

geretourneerd.

FOUTMELDINGEN:

REFERENTIES:

8.2.2. Input XML - getReactionsForProperty

<v:getReactionsForProperty xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

  <v:relId>1160031218</v:relId>  <v:vpPropertyId>160021782</v:vpPropertyId></v:getReactionsForProperty>

8.2.3. Output XML - getReactionsForPropertyResponse

    <B:getReactionsForPropertyResponse>      <B:HouseHunterRegistration>        <B:ID>1160002536</B:ID>        <B:Status>ACT</B:Status>        <B:EntryDate>2003­04­29</B:EntryDate>        <B:RegistrationNumber>200304099</B:RegistrationNumber>        <B:Person>          <B:ID>1160031218</B:ID>          <B:Role>Debiteur</B:Role>          <B:AddressList>            <B:Address>              <B:Street>Stellingweg</B:Street>              <B:HouseNumber>9</B:HouseNumber>              <B:HouseNumberSuffix></B:HouseNumberSuffix>              <B:Postcode>1035 EK</B:Postcode>              <B:Municipality>AMSTERDAM</B:Municipality>              <B:City>AMSTERDAM</B:City>              <B:Country>Nederland</B:Country>              <B:Type>CORADR</B:Type>              <B:StartDate>1900­01­01</B:StartDate>              <B:EndDate></B:EndDate>            </B:Address>          </B:AddressList>          <B:Initials></B:Initials>          <B:SurnamePrefix></B:SurnamePrefix>          <B:Surname>Brake</B:Surname>          <B:HomePhone>020­5422346</B:HomePhone>          <B:MobilePhone></B:MobilePhone>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 59 van 75

Page 60: 20111013   view point interactief - soap calls

          <B:WorkPhone></B:WorkPhone>          <B:Email></B:Email>          <B:Gender>man</B:Gender>          <B:DateOfBirth>1945­03­29</B:DateOfBirth>          <B:SocialSecurityNr></B:SocialSecurityNr>          <B:MaritalStatus>Gehuwd</B:MaritalStatus>        </B:Person>        <B:Partner>          <B:ID>1160031219</B:ID>          <B:Role>Debiteur</B:Role>          <B:AddressList>            <B:Address>              <B:Street>Tasmanstraat</B:Street>              <B:HouseNumber>1</B:HouseNumber>              <B:HouseNumberSuffix></B:HouseNumberSuffix>              <B:Postcode>1013 RA</B:Postcode>              <B:Municipality>AMSTERDAM</B:Municipality>              <B:City>AMSTERDAM</B:City>              <B:Country>Nederland</B:Country>              <B:Type>CORADR</B:Type>              <B:StartDate>1900­01­01</B:StartDate>              <B:EndDate></B:EndDate>            </B:Address>          </B:AddressList>          <B:Initials></B:Initials>          <B:SurnamePrefix></B:SurnamePrefix>          <B:Surname>Plas</B:Surname>          <B:HomePhone></B:HomePhone>          <B:MobilePhone></B:MobilePhone>          <B:WorkPhone></B:WorkPhone>          <B:Email></B:Email>          <B:Gender>vrouw</B:Gender>          <B:DateOfBirth>1949­03­08</B:DateOfBirth>          <B:SocialSecurityNr></B:SocialSecurityNr>          <B:MaritalStatus>Gehuwd</B:MaritalStatus>        </B:Partner>        <B:Points>37</B:Points>        <B:HistoryLog>29­4­2003</B:HistoryLog>        <B:OrganisationId>1600</B:OrganisationId>        <B:RegistrationForm>          <B:Form>dsnRegistration</B:Form>          <B:EntryList>            <B:Entry>              <B:Field>Punten</B:Field>              <B:Value>37</B:Value>              <B:DataType>NUMBER</B:DataType>            </B:Entry>            <B:Entry>              <B:Field>Totale gezinsgrootte</B:Field>              <B:Value>4</B:Value>              <B:DataType>NUMBER</B:DataType>            </B:Entry>            <B:Entry>              <B:Field>Bruto maandinkomen</B:Field>              <B:Value>20.055</B:Value>              <B:DataType>NUMBER</B:DataType>            </B:Entry>          </B:EntryList>        </B:RegistrationForm>        <B:CouponList>          <B:Coupon>            <B:ID>160000073</B:ID>            <B:ContactMedium>EMAIL</B:ContactMedium>            <B:CouponModelType>Aanbodmodel</B:CouponModelType>            <B:MutationOffice>B</B:MutationOffice>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 60 van 75

Page 61: 20111013   view point interactief - soap calls

            <B:OptionOrder>2006050913595062</B:OptionOrder>            <B:DateSubmitted>2006­05­07T14:00:14</B:DateSubmitted>            <B:Status>GESELECTEERD</B:Status>            <B:UnoccupiedProperty>              <B:Name></B:Name>              <B:ID>160003564</B:ID>              <B:PropertyID>160021782</B:PropertyID>

...               <B:MediaList/>            </B:UnoccupiedProperty>            <B:WaitingListPosition>5</B:WaitingListPosition>            <B:StatusDispatched>false</B:StatusDispatched>          </B:Coupon>        </B:CouponList>      </B:HouseHunterRegistration>    </B:getReactionsForPropertyResponse>

8.2.4. Woonbon of optie toevoegen

NAAM : Toevoegen internet reactie (woonbon) aan registratie

PARAMETERS: registrationNumber – Long - Verwijst naar

{VP}HouseHunterRegistration/RGN_NUMBER

{VP}Coupon

DateSubmitted Date Timestamp

UnoccupiedProperty id Long Verwijst naar {VP}UnoccupiedProperty/ID

OUTPUT: {VP}Coupon

CALL: nl.itris.soap.calls.dsn.SoapDsnCalls.addInternetReactionForProperty

SOAP: addInternetReactionForProperty

OMSCHRIJVING: Maakt voor een gegeven registratie en leegstaand object een reactie aan.

CHECKS: Registratie nummer wijst naar een geldige inschrijving, UnoccupiedProperty id

wijst naar een geldige leegstand object. DateSubmitted aanwezig – nodig voor

het bepalen van de rangorde. Deze genereren zachte fouten.

FOUTMELDINGEN:

Reactie al aanwezig is voor aangegeven property

    <B:addInternetReactionForPropertyResponse>      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>160003680</B:OriginalValue>            <B:FaultCode>couponAlreadyAdded</B:FaultCode>            <B:FaultDescription>Coupon al aanwezig voor deze 

property.</B:FaultDescription>          </B:Item>        </B:Items>      </B:RejectedRequest>    </B:addInternetReactionForPropertyResponse>

Geen geldig registratie nummer

      <B:RejectedRequest>        <B:Items>          <B:Item>            <B:Field>registration</B:Field>            <B:OriginalValue>200020042</B:OriginalValue>            <B:FaultCode>noAvailableRegistration</B:FaultCode>            <B:FaultDescription>Geen inschrijving aanwezig met nummer: 

</B:FaultDescription>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 61 van 75

Page 62: 20111013   view point interactief - soap calls

          </B:Item>        </B:Items>      </B:RejectedRequest>

Maximum aantal coupons bereikt voor bepaalde model

     <B:RejectedRequest>        <B:Items>          <B:Item>            <B:OriginalValue>AANBODMODEL</B:OriginalValue>            <B:FaultCode>couponLimitReached</B:FaultCode>            <B:FaultDescription>Coupon limiet is al bereikt, u kunt geen 

reacties meer toevoegen voor deze model: AANBODMODEL.</B:FaultDescription>

          </B:Item>        </B:Items>      </B:RejectedRequest>

REFERENTIES:

8.2.5. Input XML - addInternetReactionForProperty

<v:addInternetReactionForPropertyxmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

<v:registrationNumber>2010010023</v:registrationNumber>   <v:Coupon>        <v:DateSubmitted>2010­02­11T13:52:42+02:00</v:DateSubmitted>

<v:UnoccupiedProperty><v:ID>160003475</v:ID>

</v:UnoccupiedProperty>   </v:Coupon></v:addInternetReactionForProperty>

8.2.6. Output XML - addInternetReactionForPropertyResponse

    <B:addInternetReactionForPropertyResponse>      <B:Coupon>        <B:DateSubmitted>2010­02­11T12:52:42</B:DateSubmitted>        <B:UnoccupiedProperty>          <B:ID>160003475</B:ID>          <B:MediaList/>        </B:UnoccupiedProperty>      </B:Coupon>    </B:addInternetReactionForPropertyResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 62 van 75

Page 63: 20111013   view point interactief - soap calls

8.2.7. Woonbon/optie verwijderen

NAAM : Woonbon/optie verwijderen

PARAMETERS: couponId – Long - Het ID van de woonbon ({VP}Coupon die verwijderd moet

worden.

OUTPUT: void

CALL: nl.itris.soap.calls.crm.SoapCrmCalls.deleteReactionForProperty

SOAP: deleteReactionForProperty

OMSCHRIJVING: Verwijdert een reactie (coupon) voor een gegeven property.

CHECKS: Het ID moet verwijzen naar een geldig record

FOUTMELDINGEN:

REFERENTIES:

8.2.8. Input XML - deleteReactionForProperty

<v:deleteReactionForProperty xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

   <v:couponId>160000166</v:couponId></v:deleteReactionForProperty>

8.2.9. Output XML - deleteReactionForPropertyResponse

 <B:deleteReactionForPropertyResponse></B:deleteReactionForPropertyResponse>

8.3. Verantwoording

Accountabilities given in descending order, based on nomination date.

Empty list: If no accountabilties are available, an empty list will be returned:

        <B:getAccountabilityListFromDateResponse>             <B:Accountabilities/>        </B:getAccountabilityListFromDateResponse>

8.3.1. Ophalen verantwoordingslijst

NAAM : Ophalen verantwooringslijst

PARAMETERS: geen

OUTPUT: nl.itris.soap.calls.crm.SoapDsnCalls. getAccountabilityList

CALL: getAccountabilityList

SOAP: getAccountabilityList

OMSCHRIJVING: Het ophalen van verantwoording is nu .afhankelijk van parameters ingesteld in

RED_PARAMETERS: Deze parameters worden ingesteld binnen ViewPoint bij Beheer →

Objectverdeling → Parameters → tab Verantwoording

Hier kan default waardes ingesteld worden die van toepassing zijn voor alle

modellen, anders is het mogelijk om elk model anders in te stellen of aan te

geven of het werkelijk meegeleverd moet worden met de veranwtoordingslijst.

Het is mogelijk om de volgende parameters in te stellen:

...beschrijving volgt....

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 63 van 75

Page 64: 20111013   view point interactief - soap calls

CHECKS:

FOUTMELDINGEN:

REFERENTIES:

8.3.2. Input XML - getAccountabilityList

<v:getAccountabilityList xmlns:v="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">

</v:getAccountabilityList>

8.3.3. Output XML - getAccountabilityListResponse

    <B:getAccountabilityListResponse>      <B:Accountabilities>         <B:Accountability>          <B:ID>160003611</B:ID>          <B:Address>Korenbeursstraat 1 ­24</B:Address>          <B:Postcode>1335 XL</B:Postcode>          <B:City>ALMERE</B:City>          <B:ObjectType>Woning</B:ObjectType>          <B:ObjectSubtype>Woning</B:ObjectSubtype>          <B:PublicationDate>2010­10­04</B:PublicationDate>          <B:AdvertisementNumber>AD0616</B:AdvertisementNumber>          <B:ObjectModel>AANBODMODEL</B:ObjectModel>          <B:CompanyName>Eigen haard</B:CompanyName>          <B:EntrydateAccountability>2010­10­12</B:EntrydateAccountability>          <B:WaitlistPositionAccountability>1</B:WaitlistPositionAccountability>          <B:ReactionsAccountability>1</B:ReactionsAccountability>          <B:UrgencyAccountability>N</B:UrgencyAccountability>          <B:RangorderAccountability>1</B:RangorderAccountability>          <B:RegistrationNumberAccountability>266160761

</B:RegistrationNumberAccountability>          <B:NominationDateAccountability>2010­10­12</B:NominationDateAccountability>          <B:RegistrationPointsAccountability>0</B:RegistrationPointsAccountability>        </B:Accountability>

...        <B:Accountability>          <B:ID>160003431</B:ID>          <B:Address>Haviklaan 75</B:Address>          <B:Postcode>1343 BC</B:Postcode>          <B:City>ALMERE</B:City>          <B:ObjectType>Woning</B:ObjectType>          <B:ObjectSubtype>Woning</B:ObjectSubtype>          <B:PublicationDate>2010­09­23</B:PublicationDate>          <B:ObjectModel>AANBODMODEL</B:ObjectModel>          <B:CompanyName>Eigen haard</B:CompanyName>          <B:EntrydateAccountability>2002­06­13</B:EntrydateAccountability>          <B:WaitlistPositionAccountability>URG 13­06­2002

</B:WaitlistPositionAccountability>          <B:ReactionsAccountability>12</B:ReactionsAccountability>          <B:UrgencyAccountability>Y</B:UrgencyAccountability>          <B:RegistrationNumberAccountability>200206044

</B:RegistrationNumberAccountability>          <B:NominationDateAccountability>2010­09­23</B:NominationDateAccountability>          <B:RegistrationPointsAccountability>99</B:RegistrationPointsAccountability>        </B:Accountability>      </B:Accountabilities>    </B:getAccountabilityListResponse>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 64 van 75

Page 65: 20111013   view point interactief - soap calls

9. Technische specificatie SOAP client pushes versie 5

9.1. Inleiding

Dit document beschrijft in detail de SOAP client calls die ten behoeve van externe partijen worden uitgevoerd in reactie op zgn. events in de ViewPoint applicatie. Hierin fungeert ViewPoint als SOAP client.

9.2. Eigenschappen ViewPoint Push mechanisme

In ViewPoint worden op verschillende punten in de code events gegenereerd die door middel van een postEvent op de globale VPEventManager worden afgevangen door classes die zich hebben geregistreerd als event-listener bij dezelfde VPEventManager.Voor de koppeling worden alle events afgevangen in nl.itris.custom.organisatie.soap.OrganisatieSoapPlugin in het ViewPoint project. Afgevangen events met correct aangeleverde data resulteren in een SOAP client call die asynchroon wordt uitgevoerd door de PendingSerializedOperationExecutor. Deze gegevens zijn te raadplegen in de tabel sys_pending_operations.

9.3. Configuratie t.b.v. Organisatie

Connectieparameters voor de te benaderen SOAP server worden als volgt opgeslagen in tabel RED_PARAMETERS en voor de code gebundeld in een SOAPTargetParam object. Elk configuratiedetail wordt gerepresenteerd door een aparte rij red_parameters met in ieder geval RPR_MODULE=”ORGANISATIE”, RPR_NAME=”callout” Kolom RPR_CHAR1 bevat voorts de parameter key en RPR_CHAR2/RPR_CHAR3/RPR_NUMBER1 de waardes, conform onderstaand:

RPR_MODULE ORGANISATIE ORGANISATIE ORGANISATIE ORGANISATIE ORGANISATIE

RPR_NAME callout callout callout callout callout

RPR_CHAR1 proxyUser proxyHost httpUser soapInfo oops

RPR_CHAR2 gebruiker My.server.com httpgebruiker targetBaseUrl

RPR_CHAR3 Wachtwoord 8080 httpwachtwoord targetActionBase

RPR_NUMBER1 2=DIGEST,

anders BASIC

Optioneel JA JA JA targetActionBase

= optioneel

Omschrijving Gebruikersnaam De te gebruiken Gebruiken in geval targetBaseUrl bevat

en wachtwoord proxy host en van http authenticatie de URL naar de

voor de SOAP TCP/IP poort SOAP server.

targetActionBase is optioneel,

wordt als prefix voor elke call

gezet.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 65 van 75

Page 66: 20111013   view point interactief - soap calls

9.4. Algemene specificatie van pushes

NAAM Een beschrijvende naam voor deze call. Correspondeert niet met enig

onderdeel van de XML specificatie en is alleen bestemd voor dit

document

HANDLER CLASS De naam van de inner class in OrganisatieSoapPlugin

EVENT & CHANGE TYPE De naam van de corresponderende Java class en method op de

SOAP

server. Belangrijk is ook het ChangeType

(nl.itris.common.shared.ChangeType): ADDED/DELETED/MODIFIED.

Elk event wordt aangeroepen met een van deze drie wijzigingen om

aan te geven wat er met de onderliggende entiteit is gebeurd, t.w.

aangemaakt, gewijzigd of verwijderd.

OMSCHRIJVING Een beschrijving van de business logica die deze call uitvoert en de

omstandigheden waaronder deze wordt aangeroepen in de ViewPoint

code.

CHECKS Controles uitgevoerd voordat de call wordt geplaatst in de

eventlistener, in het bijzonder of ADDED / MODIFIED / DELETE wordt

ondersteund.

CLIENT XML Bevat een voorbeeld van het XML client document zoals verstuurd

naar de externe server. Alleen de content binnen het Body element

wordt hier getoond.

REFERENTIES Bevat referenties naar andere functionele/technische documenten en

projectplanningen.

9.5. SOAP pushes

9.5.1. Push wijzigingen in Woonbezit

NAAM Push wijziging woonbezit

HANDLER CLASS nl.itris.custom.....soap.UpdateAvailablePropertyClientCall

EVENT & CHANGE TYPE nl.itris.vp.event.EvAvailableProperty

Code maakt geen onderscheid in ChangeType

OMSCHRIJVING Indien eigenschappen van een verhuurbaar object zijn gewijzigd wordt

een event gegenereerd met het relevante bot_id. In de event handler

wordt een Property element aangemaakt met custom

cartotheekformulier “Woonbezit”

CHECKS Indien het ID niet verwijst naar een verhuurbaar object (bot_id in

bae_vho) wordt geen call geplaatst.

CLIENT XML

<updateAvailableProperty>  <ChangeType>ADDED|DELETED|MODIFIED</ChangeType>     <Property 

xmlns:D="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint">        <ID>160021145<ID>        <CustomFormList>          <CustomForm>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 66 van 75

Page 67: 20111013   view point interactief - soap calls

            <Form>Woonbezit<Form>            <EntryList>              <Entry>                <Field>Totaal oppervlakte<Field>                <Value>91.5<Value>                <DataType>NUMBER<DataType>                <DateMeasured>2004­07­06<DateMeasured>              <Entry>

   ...              <Entry>                <Field>Soort woning<Field>                <Value>15.0<Value>                <DataType>NUMBER<DataType>                <DateMeasured>2007­01­01<DateMeasured>              <Entry>            <EntryList>          <CustomForm>        <CustomFormList>      <Property></updateAvailableProperty>

REFERENTIES In de volgende ViewPoint code wordt dit event aangeroepen:

iRed/Bae/Maintenance/Bae_StreefNieuwBean.java MOD Voor elk object na aanroep van

hur_componentmutaties.streefhuurmutatie

iRed/Bae/Maintenance/bae_vhoBean.java ADD Na aanmaken nieuw object

iRed/Hur/Cmp/bae_huurwaardenBean.java MOD Na insert nieuw record in

BAE_HUURWAARDEN

iRed/Hur/Cmp/bae_huurwaardenBean.java MOD Na verwijderen record uit

BAE_HUURWAARDEN

iRed/Hur/Cmp/bae_huurwaardenBean.java MOD Na aanpassen record in

BAE_HUURWAARDEN

iRed/Hur/Maintenance/hur_vhowijzigBean.java MOD Voor elke gewijzigde VHO

9.5.2. Push wijzigingen in Woonaanbod

NAAM Push wijziging woonaanbod

HANDLER CLASS nl.itris.custom.....soap.UpdateUnoccupiedPropertyClientCall

EVENT & CHANGE TYPE nl.itris.vp.event.EvUnoccupiedProperty

Code maakt geen onderscheid in ChangeType

OMSCHRIJVING

CHECKS

CLIENT XML

<updateUnoccupiedProperty>  <ChangeType>ADDED|DELETED|MODIFIED</ChangeType>  <UnoccupiedPropertyData 

xmlns:ns2="http://xml.itris.nl/viewpoint/2009/01/29/viewpoint"><Name></Name><ID>430001118</ID><PropertyID>430018341</PropertyID>

...  </UnoccupiedPropertyData></updateUnoccupiedProperty >

REFERENTIES In de volgende Viewpoint code wordt dit event aangeroepen:

iRed/Dsn/XmlKoppeling/DsnExterneKoppeling MOD

Bij het starten van de export via

Objectverdeling>Woonaanbod>Exporteren

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 67 van 75

Page 68: 20111013   view point interactief - soap calls

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 68 van 75

Page 69: 20111013   view point interactief - soap calls

10. Bulk data aanlevering

Onderstaande scripts zijn bestemd voor het aanleveren van grote recordsets en niet beschikbaar via SOAP. Vanwege de omvang worden bulkexports opgesplitst in genummerde bestandensets van niet meer dan 1Mb elk.

10.1. Bulkexports

10.1.1. Bulkexport woonaanbod

CALL: nl.itris.soap.cli.RunUnoccupiedPropertyDataExportToXML

OMSCHRIJVING: Exporteert gegevens van alle leegstaande objecten (woonaanbod)

CHECKS: Geen

OUTPUT XML: UnoccupiedProperties/{VP}UnoccupiedPropertyData

10.1.2. Bulkexport woonbezit

CALL: nl.itris.soap.cli.RunPropertyDataExportToXML

OMSCHRIJVING: Exporteert gegevens van alle objecten uit het woonbezit

CHECKS: Geen

OUTPUT XML: AvailableProperties/{VP}AvailablePropertyData

10.2. Export van gelinkte bestanden

Bulkexports kunnen links naar externe bestanden bevatten, meestal afbeeldingen in gif of jpg formaat. Dergelijke media worden gerepresenteerd door een of meerdere <Media> elementen in een <MediaList> element. In de map van het bestand van onderstaand XML fragment zal een geneste structuur worden geschreven waarin de eigenlijke bestanden geschreven worden. De aangemaakte bestandsnaam kom overeen met onderstaand ID van elk Media element Dit kunnen er mogelijk duizenden zijn, en op een Windows systeem kan dit problemen veroorzaken, vandaar de bestanden niet in dezelfde map worden geschreven. Het file element verwijst naar de relatieve locatie, gezien vanuit de map van het XML document zelf, zoals in onderstaand voorbeeld:<itrs:MediaList> <itrs:Media> <itrs:ID>160000428</itrs:ID> <itrs:Description>plattegrond 2</itrs:Description> <itrs:Mimetype>image/gif</itrs:Mimetype> <itrs:Url>file://1/160000428.gif</itrs:Url> <itrs:PixelWidth>575</itrs:PixelWidth> <itrs:PixelHeight>575</itrs:PixelHeight> </itrs:Media></itrs:MediaList>

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 69 van 75

Page 70: 20111013   view point interactief - soap calls

11. Appendix A: Meest voorkomende foutcodes

Code Omschrijving

required Verplicht element was niet meegegeven in de call.

empty Een lege waarde is niet toegestaan voor dit element.

emptyInvalidInContext Een lege waarde is niet toegestaan voor dit element, vanwege de waarde van {waarde}

immutable Immutable: de waarde van dit element kan niet worden aangepast.

elementNotAllowed Dit element is niet toegestaan in deze context.

invalidValue Ongeldige waarde.

invalidHouseAddress Ongeldig adres: {waarde}.

invalidHouseNumber Ongeldig huisnummer: {waarde}.

invalidPostcode Ongeldig postcode: {waarde}.

chooseExactlyOneOff Element is niet toegestaan in combinatie met het volgende element: {waarde}.

notAContractorOnDate De als 'Contractor' gekozen relatie is geen uitvoerder op de datum {waarde}.

dateBefore De datum is niet geldig, deze moet later zijn dan {waarde}.

missingDateTime Datum en tijd ontbreekt.

missingDate Datum ontbreekt, of datum en tijd ingevuld waar alleen datum gewenst is.

dateDifferentDay De datum is niet geldig, deze moet op dezelfde dag vallen als {waarde}

invalidServiceObjectField Geen geldig veld voor ServiceObjectType {waarde}: {waarde2}.

alreadyExists {waarde} is al in gebruik: {waarde2}

passwordToShort Wachtwoord is te kort

passwordToLong Wachtwoord is te lang.

fieldNameMandatory De Field tag binnen een Entry tag is verplicht.

fieldTypeMandatory De DataType tag binnen een Entry tag is verplicht.

tooManyCoupons Maximaal {waarde} coupons zijn toegestaan van {waarde2} per inschrijving.

couponNotFound Geen coupon aanwezig met id: {waarde}.

couponLimitReached Coupon limiet is al bereikt, u kunt geen reacties meer toevoegen voor dit model: {waarde}

couponAlreadyAdded Coupon al aanwezig voor deze property.

relationNotFound Geen relatie aanwezig met id: {waarde}.

mainApplicantNotFound Geen hoofdaanvrager aanwezig met id: {waarde}

mainApplicantChanged Hoofdaanvrager mag niet andere persoon zijn.

CoApplicantNotFound Geen medeaanvrager aanwezig met id: {waarde}.

socialSecurityNumberNotFound

Geen hoofdaanvrager aanwezig met bsn: {waarde}.

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 70 van 75

Page 71: 20111013   view point interactief - soap calls

Code Omschrijving

emailAddressNotFound Geen hoofdaanvrager aanwezig met email: {waarde}.

missingMainApplicant Hoofdaanvrager ontbreekt

missingCoApplicant Medeaanvrager ontbreekt.

propertyNotFound Geen property aanwezig met id: {waarde}.

registrationNotFound Geen inschrijving aanwezig.

internetRegistrationNotFound

Geen internet inschrijving aanwezig.

invalidRegistrationStatus Geen geldig registratie status : {waarde}.

invalidRegistrationType Geen geldig registratie type : {waarde}

constraintViolation {waarde}

ageLimit Minimum of maximum leeftijd overtreden : {waarde} jaar.

missingBankInfo Bank gegevens ontbreken bij inschrijving : {waarde}

invalidBankInfo Ongeldig rekeningnummer: {waarde}

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 71 van 75

Page 72: 20111013   view point interactief - soap calls

12. Wijzigingshistorie

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 72 van 75

Page 73: 20111013   view point interactief - soap calls

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 73 van 75

6-7-2009 JS 1.12 en 1.13 toegevoegd

13-7-2009 JS Specificaties foutmeldingen

15-7-2009 JS Specificatie gelinkte bestanden in bulk exports

20-7-2009 JS Specs voor fetchCustomFormForProperty

27-7-2009 JS Fout hersteld in tonen woonaanbod

7-8-2009 7 JS Aanmaken nieuw persoon

24-8-2009 9 JS Aanmaken nieuwe woningzoekende/ wijzigen nieuwe woningzoekende

14-9-2009 10 JS Bulkexport inschrijvingen toegevoegd

Typo in specificatie andere bulkexports

Aanmaken registratie woningzoekende voltooid

Wijzigen registratie woningzoekende voltooid

Ophalen reacties (woonbonnen)

Toevoegen reacties

23-9-2009 10 JS Registreren woningzoekende vereenvoudigd

23-9-2009 11 JS Parameternamen opgeschoond: overal relId voor ID van relatie.

Bijwerken relatiegegevens heeft geen boolean flags meer: ontbreken van Capacities,

BankAccount of Address betekent nu dat er

geen update wordt uitgevoerd.

1-10-2009 12 JS Calls voor opvragen, toevoegen en verwijderen van reacties/woonbonnen voltooid.

Wijziging in hierarchie: Een HouseHunterRegistration bevat 0-n Coupon elementen.

6-10-2009 13 JS Invoeren reparatieverzoek toegevoegd

8-10-2009 14 JS Opvragen lijst urgentiecodes en oorzaken toegevoegd

15-10-2009 15 JS Opvragen verantwoordingslijsten toegevoegd

20-10-2009 16 JS

26-10-2009 17 JS Documentatie mbt authenticatie en autorisatie toegevoegd.

28-10-2009 18 JS In SoapPropertyEvaluation veld ElementSubjective verwijderd: hier stond hetzelfde in

als Subjective

9-11-2009 19 JS Toegevoegd: getRegistrations

21-12-2009 20 JoS Opvragen verantwoording tussen opgegeven datums toegevoegd

01-01-2010 21 JoS Groot rework format bestaande doc plus toevoegen calls interactieve objectverdeling

Diverse aanpassingen geweest voor huidige inhoud, ook testen van bestaande calls

met als resultaat wat aanpassingen in de output xml.

01-03-2010 22 JoS Calls voor wijzigen WebCredentials

11-03-2010 23 JoS Call om adres op te zoeken via postcode

16-03-2010 24 JoS Entry items inschrijfformulier uitgebreid

03-04-2010 25 JoS Xml output aangepast na toevoegen extra velden extra information

10-04-2010 26 JoS Xml output aangepast na toevoegen extra velden sync status

12-05-2010 27 JoS Document in huistijl gezet

01-06-2010 28 JoS Herbeschrijven call response ivm extra informatie na fix

06-06-2010 29 JoS Herbeschrijven call response ivm extra informatie na fix createRequestForRepair

10-06-2010 30 JoS Herbeschrijven call response ivm extra informatie na fix

delete/add(internet)ReactionForProperty

11-06-2010 31 JoS Tijdsdeel uit StartDate / EndDate gehaald bij create/updatePerson

01-07-2010 32 JoS Aanpassing getRepairRequestsForRelation – DatePlanned hoort bij onderliggende

workorder, niet bij werkverzoek

01-08-2010 33 JoS TeWoon velden toegevoegd aan UnoccupiedProperty

14-09-2010 34 JoS Nieuwe error meldingen toegevoegd

Page 74: 20111013   view point interactief - soap calls

01-10-2010 35 JAL Uitgebreid introductie toegevoegd

22-10-2010 36 JoS Calls hertest en repsonse gecontroleerd ivm diverse fixes

22-10-2010 37 JoS TargetRentSpecificatie wordt nu in <Rent>...</Rent> getoond

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 74 van 75

Page 75: 20111013   view point interactief - soap calls

20111013 - ViewPoint Interactief - SOAP calls.doc Pagina 75 van 75


Recommended