Delphi的oBix(xml)客户端

时间:2011-11-18 21:06:01

标签: xml delphi xml-parsing

是否有适用于Delphi的oBix客户端库工具包?
oBix是XML Web服务器/客户端标准 见:http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=obix
并且:http://www.niagara-central.com/ord?portal:/blog/BlogEntry/112

版本真的无关紧要,但我更喜欢Delphi 2007.

我找到了这个C代码,但它链接到unix libs:http://code.google.com/p/c-obix-tools/
并且java代码浮动在围绕Java库的链接上 所以,如果有一些Delphi代码,我可以使用,这将是伟大的 或者也许我只是天真,并且有一个标准的Delphi组件,可以像这样的东西一样使用。

2 个答案:

答案 0 :(得分:2)

我已经阅读了一些有关oBix的内容,结果发现有一个WSDL:http://obix.tridium.com/obix/wsdl

XSD就在这里:http://www.oasis-open.org/committees/document.php?document_id=18985&wg_abbrev=obix-xml

答案 1 :(得分:2)

OASIS官方oBIX下载(http://www.oasis-open.org/committees/download.php/21462/obix-1.0-cs-01.zip)还包括一个WSDL文件和XSD,可以与Delphi Schema Binding Wizard一起使用。

此下载中的WSDL与http://obix.tridium.com/obix/wsdl中的WSDL不同 - 我不确定是否存在相关差异,但我会首先尝试正式版。两者都应该与符合oBIX 1.0标准的服务器一起使用,但“布丁的证据就在吃”。

但是,由于oBIX SOAP服务似乎使用了WS-Security之类的WS-*标准,但Delphi还不支持,我建议使用简单的HTTP客户端库,如Indy或Synapse和HTTP绑定,基于REST API在说明书的第17章中描述。它使用相同的XML结构,但Web服务开销较少。

要获得oBIX客户端的基本版本,只需在XSD上运行Schema Binding Wizard,即可生成XML DOM类源代码。这些类可用于填充XML请求对象并为HTTP请求构建有效负载。对于来自服务器的响应,可以使用相同的DOM类来解析HTTP主体paylod,并将响应作为DOM实例的属性提供。