Is there a oBix client library toolkit for Delphi?
oBix is a XML web-server/client standard.
See: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=obix
And: http://www.niagara-central.com/ord?portal:/blog/BlogEntry/112
The version really does not matter too much, but I would prefer Delphi 2007.
I found this C code, but it links against unix libs: http://code.google.com/p/c-obix-tools/
And the java code floating around links against Java libs.
So if there’s some Delphi code I could use that would be great.
Or maybe I’m just naive and there a standard Delphi component that can just be used as is with this stuff.
The official oBIX download at OASIS (http://www.oasis-open.org/committees/download.php/21462/obix-1.0-cs-01.zip) also includes a WSDL file and the XSD, which could be used with the Delphi Schema Binding Wizard.
The WSDL in this download differs from the one at http://obix.tridium.com/obix/wsdl – I am not sure wether there are relevant differences, but I would first try the official version. Both should work with oBIX 1.0 compliant servers, but ‘the proof of the pudding is in the eating’.
However, as it seems that oBIX SOAP services use WS-* standards like WS-Security which are not supported by Delphi yet, I recommend to use simple a HTTP client library like Indy or Synapse and the HTTP binding, a REST based API described in chapter 17 of the specification. It uses the same XML structure but with less web service overhead.
To get a basic version of a oBIX client, you only need to run the Schema Binding Wizard on the XSD, to generate XML DOM classes source code. These classes can be used to populate a XML request object and to build the payload for the HTTP requests. For responses from the server, the same DOM classes can be used to parse the HTTP body paylod, and to provide the response as properties of the DOM instance.