API

Deprecated: EssentialRepairs under RiskAnalysis

In our effort to move closer to the LIXI standard we are deprecating our use of EssentialRepairs under the RiskAnalysis element.

We will no longer render this field on any outgoing valuation responses.

We will be outputting EssentialRepairs under the PropertyCharacteristics element, as per the lixi standard.

We will be still parsing any information submitted in the old location for a number of months, but intend on fully removing it at a future date.

Our rendering changes will take place as of July 1

We're changing what we put in ValSubType

Previously, we included a non standard ValSubType, of OnePage.

In order to adhere further to the LIXI standard, we are removing this ValSubType from our xsd and output.

Instead, we advise you to use the value in SubTypeNote to differentiate between the specific types of FullRegistered valuations.

For FullRegistered valuations, we will always render one of:

  • 1-Page Residential Short Form
  • API PropertyPro Report
  • Full Report Valuation

These correlate to the previous ValSubTypes of OnePage, ShortForm and Standard.

This change will take place July 1 2007.

Removing the Attachment Extension Attribute

We intend on removing the Extension attribute from our XSD. This is to bring us back in line with the LIXI standard regarding attachments.

The Attachment element will be defined as:

Where people need to find and use the extension, the lixi standard recommends parsing it from the filename.

This change will take place as part of our next release (July 1).

We will be publishing an updated XSD shortly.

Recommend practice: provide dummy methods in your WSDLs

For easy and safe debugging of connection problems, we recommend the implementation of a "repeat" method in your web services end point. Ours lives at https://ws.valex.com.au/tests/soap/soapserver.php?wsdl

Effectively, the entire implementation of the method would simply be:


    /**
     * Repeat a string back
     *
     * @param string    $input
     * @return string   $input
     */
    public function repeat($input) {
        return $input;
    }

This allows people to connect easily to each other, and ensure what they send is correctly received.

It also could be used as a stub in your unit testing.

Recommended Practice: Test Driven Development

We extensively use unit testing here at ValEx.

A lot of the errors we see seem to be related to 'common-sense' failing - for instance, sending back date information in packets that can't be valid.

To prevent these types of errors, we suggest writing out unit tests ahead of time utilising one of the unit test frameworks in your language.

We recommend that your unit tests:

  • Validate sample packets generated from your system against an XSD
  • Deliberately try to generate wrong information (ie, dates), and expect your system to gracefully handle the error
  • Explicitly cover rendering (data to xml), parsing (xml to data), processing (data to actions), and generation (actions to data), connecting (xml -> outgoing soap request), and serving (incoming soap request -> xml)

Examples include:

  • Test that you cannot send a workflow packet containing inspection date details that are before the date of the job
  • Test that if you don't have certain information (ie, dates, comments), the node is removed from the tree, rather than simply blank
  • Test that you can't send certain information (ie, valuation response) before you've sent other data (workflow for valuation accepted)

 

Using some unit testing frameworks, it's very easy to generate Agile Documentation. Below is a some of our agile documentation, demonstrating just some of the tests we run against our lixi & webservices code. Implementing similar tests is definitely encouraged.

WorkFlowParsing

  • Delay status correctly parses
  • Assigned status correctly parses
  • Accepted status correctly parses
  • Inspected status correctly parses
  • Corrupt work flow delay causes failure
  • Corrupt work flow assigned causes failure
  • Corrupt work flow inspection causes failure
  • Stupid historical dates cause failure
  • Invalid time fails
  • Missing date of inspection fails
  • Inspection date is correctly parsed
  • Invalid inspection date fails
  • Lixi date objects should not default to today
  • Lixi time objects should behave correctly

WorkFlowRendering

  • Should correctly render workflow delay information
  • Should fail to render invalid delay information
  • Should correctly render workflow appointment information
  • Should fail to render invalid appointment information
  • Should correctly render workflow inspection information
  • Should fail to render invalid inspection information

WorkFlowProcessing

  • Inbound workflow delay should add delay
  • Inbound workflow action should set appointment made
  • Inbound workflow action should set inspection date

ResponseShortFormParsing

  • Should parse response
  • Should raise value exception when given an unknown suburb in comparison sales data
  • Should find attached pdf report in response
  • Should find attached images in response
  • Should raise xml exceptions when given invalid xml

ResponseRendering

  • A valuation response containing a residential short form dwelling report should render correctly
  • Sales evidence comparison comments should map to lixi

Upcoming release

We're nearing the testing phase of our latest work on our LIXI webservices.

We plan to implement a number of features including:

  • Sending status updates (Assigned, Delay, Inspected)
  • Receiving requests from clients
  • Enabling valuation firm responses to go to clients via SOAP
  • More end user documentation for external parties
  • Ability to provide better validation / error information to external parties automatically

We also are hoping to resolve

  • Outgoing valuation requests are duplicated sometimes
  • More robust parsing of RelatedParty / job contacts
  • Issues with adding delays
  • Assorted issues with parsing valuation responses

We'll be communicating further with more specific information as our release date draws closer.

Updated XSD

The new updated XSD can be found in the attachments under the valfirm guide.

  • MarketActivity, MarketDirection, and MultiTierMarket attributes from FullRegistered have been removed.
  • EssentialRepairs attribute has been added to RiskAnalysis
  • Comment element has been added to SalesMarket
Syndicate content