Topologi Tool Shop

Your Source for XML Utilities


UML Activity Diagram of Topologi Validating Proxy

Prove your systems — protect your databases


  • Prevent database corruption
  • Check business rules
  • Verify your Web Services: WSDL, SOAP
  • Sample, debug, verify and monitor any kind of XML-over-HTTP requests (POST only)
  • Offload processing from overloaded servers, moving from a two- or three-tier architecture to a three- or four-tier architecture

Test the proxy yourself with our SOAP Demonstration.

Simple operation

  • Java servlet (WAR) for Apache web servers
  • Sits transparently between clients and servers
  • Uncompresses and validates incoming XML-over-HTTP requests
  • Passes back response data unchanged
  • Wide range of options for handling errors: rejection, logging, on-sending, transforming
  • Configuration by XML file: no programming required

Power and safety

  • Uncompress requests
  • Validate using W3C XML Schemas for datatype and basic structure
  • Validate using (draft ISO) Schematron for value-to-value and structure-to-value constraints
  • Block incoming requests with XML DOCTYPE declarations, preventing several kinds of attacks and configuration problems, and enforcing a typical web services rule
  • Request data is uncompressed but is not augmented or changed. Response data from the server is passed back to clients unread and unchanged.

US$499.00 per site, includes up to three hours of consulting and schema development.
(Australian purchasers please add 10% GST.)


Relation to WSDL
A WSDL specification containing a portType/operation/input specified with types using W3C XML Schemas, Schematron and/or RELAX NG, can be used to create a TVP configuration file. The TVP can be used transparently with any web service that sends XML requests using POST, including Web Services.

Please note that the Topologi Validating Proxy is not a general routing or dispatching tool. However, when it detects an invalid document, it can transform that document and post it to another server, so it can act as the front-door for such a system.

Recent Apache Jakarta webserver. Java 1.3.1 or beyond. Latest Apache Xerces and Xalan. Can be ported to other Java webservers or customized on request.

For an article suggesting that for larger traffic it becomes more efficient to start offloading (schema, compression, encryption, transformation etc) onto a specialized device (such as dedicated machines running the Topologi Validating Proxy) see XML Grows... and Slows.