文章
· 20 hr 前 阅读大约需 2 分钟
第四章 覆盖 HTTP SOAP 操作和请求消息名称

第四章 覆盖 HTTP SOAP 操作和请求消息名称

覆盖 HTTP SOAP 操作和请求消息名称

当通过 HTTP 调用 Web 方法时,HTTP 标头必须包含 SOAP 操作,该操作是指示 SOAP HTTP 请求意图的 URI。对于 SOAP 1.1SOAP 操作作为 SOAPAction HTTP 标头包含在内。对于 SOAP 1.2,它包含在 Content-Type HTTP 标头中。

SOAP 操作指示 SOAP HTTP 请求的意图。该值是一个标识意图的 URI;它通常用于路由入站 SOAP 消息。例如,防火墙可以使用此标头适当地过滤 HTTP 中的 SOAP 请求消息。

0 0
0 4
文章
· 一月 23 阅读大约需 3 分钟
第七章 使用 SQL Search - 同义词表

第七章 使用 SQL Search - 同义词表

同义词表

要实现同义词表,请将该表定义为扩展 iFind.Synonym 抽象类的持久类。

此类定义了两个属性:FromTermToTerm。一对 FromTermToTerm 属性将 ToTerm 定义为 FromTerm 的同义词。如果查询包含 FromTermSQL 搜索将使用 ToTerm 来扩展查询。

该查询使用此类的 GetMatch() 方法根据查询词在同义词表中搜索同义词。

0 0
0 34
文章
· 一月 5 阅读大约需 3 分钟
第十六章 调用Callout Library函数

第十六章 调用Callout Library函数

Callout 库是一个共享库(DLLSO 文件),其中包含 $ZF Callout 接口的挂钩,允许各种 $ZF 函数在运行时加载它并调用其函数。 $ZF Callout 接口提供了四种不同的接口,可用于在运行时加载 Callout 库并从该库调用函数。这些接口的主要区别在于如何识别库并将其加载到内存中:

0 0
0 32

第十五章 创建Callout Library - 处理 UNIX 信号处理错误

处理 UNIX 信号处理错误

UNIX 及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl 和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C 和应重新启动的调用。

以下函数允许检查异步事件并在 $ZF 中设置新的警报处理程序。函数声明包含在 iris-cdzf.h 中:

sigrtclr()

int sigrtclr(); — 清除重试标志。应在使用 sigrtchk() 之前调用一次。

dzfalarm()

int dzfalarm(); — 建立新的 `SIGALRM 处理程序。

进入 $ZF 时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。

0 0
0 42

第十一章 创建Callout Library - 使用 J 链接类型传递标准计数字符串

使用 J 链接类型传递标准计数字符串

iris-callin.h 头文件定义了计数字符串结构 IRIS_EXSTR,表示标准 IRIS 字符串。此结构包含一个字符元素数组(8 位、16Unicode32wchar t)和一个指定数组中元素数量的 int 值(最多字符串长度限制):

0 0
0 25
文章
· 十二月 27, 2023 阅读大约需 2 分钟
百讲知识点索引

百讲知识点索引

简介

  • B站已更新截止到2023.12.31之前的所有百讲课程,总计261讲。
  • 什么是百讲?百讲是一个主要介绍IRISCache编程知识的免费课程。
  • 课程的特点是,将每一个知识点,都会用示例演示出来、了解原理,而不是仅仅告诉有这个功能。
  • 每周一期,每期会请到有多年开发经验的老师来给大家讲解课程。
  • 百讲观看地址:https://www.bilibili.com/video/BV1cw41147xr/

在这里插入图片描述

3 1
0 108
文章
· 十二月 27, 2023 阅读大约需 2 分钟
第七章 创建Callout Library - 创建 ZFEntry 表

第七章 创建Callout Library - 创建 ZFEntry 表

创建 ZFEntry

每个 Callout 库必须定义一个 ZFEntry 表,该表允许 IRIS 加载和访问 Callout 函数。 ZFEntry 表由以 ZFBEGIN 开头、以 ZFEND 结尾的宏代码块生成。在这两个宏之间,必须为要公开的每个函数调用一次 ZFENTRY 宏。

每个 ZFENTRY 调用都采用三个参数:

   ZFENTRY(zfname,linkage,entrypoint)

其中 zfname 是用于在 $ZF 调用中指定函数的字符串,linkage 是指定如何传递参数的字符串,entrypointC 函数的入口点名称。

0 0
0 40
文章
· 十二月 26, 2023 阅读大约需 4 分钟
第六章 创建Callout Library

第六章 创建Callout Library

Callout library 库是一个共享库,其中包含自定义Callout函数和允许 IRIS使用它们的启用代码。本章描述如何创建Callout库并在运行时访问它。
- Callout library 简介-描述如何创建和访问Callout library
- ZFEntry链接选项 - 提供了决定如何传递函数参数的链接选项的详细描述。
- 兼容语言和编译器-描述如何使用C以外的语言创建Callout库。
- Callout Library运行和运行函数-描述两个可选函数,可将其设置为在加载或卸载标注库时自动运行。
- 故障排除和错误处理-列出了一些应该避免的编码实践,并描述了处理UNIX信号处理错误的特殊函数。

0 0
0 43
文章
· 十二月 23, 2023 阅读大约需 3 分钟
第三章 使用$ZF(-100)运行程序或系统命令

第三章 使用$ZF(-100)运行程序或系统命令

$ZF(-100)函数允许 IRIS 进程调用可执行程序或主机操作系统的命令。这是唯一可以在没有特殊的Callout共享库的情况下使用的$ZF函数。

  • $ZF(-100)的语法和功能概述。
  • 程序执行-程序可以选择异步运行或在操作系统外壳中运行。
  • 记录命令和重定向输出——可选设置可以记录命令或重定向I/O
  • 添加%System_Callout:USE特权—使用$ZF(-100)需要此特权。

注意:$ZF(-100)取代了已弃用的函数$ZF(-1)$ZF(-2),在所有情况下都应优先使用。

0 0
0 39
文章
· 十二月 22, 2023 阅读大约需 3 分钟
第二章 $ZF Callout函数概述

第二章 $ZF Callout函数概述

IRIS $ZF系统功能是一套相关功能的容器。$ZF套件中的大多数函数都由函数调用的第一个参数标识,该参数将是一个负数,-100-3-6。例如,调用操作系统命令的函数具有$ZF(-100, <oscommand>)的形式,其中<oscommand>是包含要执行的命令的字符串。当讨论这个函数时,它将被称为$ZF(-100)。以同样的方式,其他函数将被称为$ZF(-3)$ZF(-6),只使用实际函数调用的第一个参数。也可以在不带负数参数的情况下调用$ZF()函数,在这种情况下,它调用名为iriszf的特殊Callout库中的函数。

0 0
0 33
文章
· 十二月 19, 2023 阅读大约需 1 分钟
第四十章 其他特殊主题 - 处理导入时意外的元素和属性

第四十章 其他特殊主题 - 处理导入时意外的元素和属性

处理导入时意外的元素和属性

由于源 XML 文档可能包含意外的元素和属性,因此支持 XML 的类提供两个参数来指定导入此类文档时如何反应。例如,考虑以下类定义:

Class GXML.TestImportParms.Person Extends (%Persistent,%XML.Adaptor) 
{

Property Name As %Name [ Required ];
Property DOB As %Date(FORMAT = 5, MAXVAL = "+$h") [ Required ];
}

另请考虑以下 XML 文档:

0 0
0 34
文章
· 十二月 18, 2023 阅读大约需 2 分钟
第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出

第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出

当在顶层映射 IRIS 对象(而不是作为另一个对象的属性)时,其内部 IDOID 和全局唯一 ID 不能用作对象属性,因此不会映射这些 ID。但是,在某些情况下,可能希望使用对象 ID 作为唯一标识符。然后,例如,可以在更新存储的对象之前将传入(已更改)的对象与相应的存储对象进行匹配。

IRIS XML 支持提供了多个帮助程序类,可用于将 IRIS 对象标识符投影到 XML 文档: %XML.Id 中(对于内部 ID)、%XML.Oid(对于 ``)和 %XML.GUID(用于全局唯一 ID)。

0 0
0 38
文章
· 十二月 17, 2023 阅读大约需 2 分钟
第三十八章 其他特殊主题

第三十八章 其他特殊主题

类和属性参数

  • XMLNAME
  • XMLSEQUENCE
  • XMLUNSWIZZLE
  • XMLPREFIX
  • XMLIGNOREINVALIDTAG
  • XMLIGNOREINVALIDATTRIBUTE

控制元素的关闭

XML 中,仅包含属性的元素可以用以下任一方式表示:

0 0
0 36
文章
· 十二月 16, 2023 阅读大约需 4 分钟
第三十七章 XML 模式的高级选项 - 超类如何表示为类型

第三十七章 XML 模式的高级选项 - 超类如何表示为类型

超类如何表示为类型

如果需要 XML 架构来显示特定的类型层次结构,则需要了解映射如何解释 IRIS 类层次结构。

类层次结构代表了有意义的数据组织等。该层次结构尽可能地反映在相应的 XML 类型定义中。

例如,假设有以下类:
- 名为 Base 的类,定义了三个公共属性(Property1Property2Property3)。
- 名为 Addition1 的类,它扩展 Baseand 并定义一个附加公共属性 (Addition1)。
- 名为 Addition2 的类,它扩展 Addition1 并定义一个附加公共属性 (Addition2)。

0 0
0 33
文章
· 十二月 14, 2023 阅读大约需 2 分钟
第三十五章 XML 模式的高级选项 - 创建子类型的选择列表

第三十五章 XML 模式的高级选项 - 创建子类型的选择列表

创建子类型的选择列表

根据 XML Schema 规范,复杂类型可以由类型(特别是相关类型)的选择列表组成。假设我们希望架构允许使用 <Person>, <Patient>, or <Employee> 元素,而不是 <Person> 元素。要定义这样的架构,我们会将 Person 属性的 XMLTYPECONSTRAINT 属性参数设置为等于“CHOICE”,如下所示:

0 0
0 42
文章
· 十二月 13, 2023 阅读大约需 2 分钟
第三十四章 XML 模式的高级选项

第三十四章 XML 模式的高级选项

类和属性参数

  • XMLTYPECONSTRAINT

  • XMLINCLUDEINLIST

  • XMLINHERITANCE

自动创建子类的类型

当为一个类定义 XML 投影时,它的所有子类都会自动映射到单独的类型,所有这些类型都使用超类作为基类型。这意味着无论何时使用超类型,都可以使用其中一种子类型。还可以使用子类型在 XML 模式中定义选择列表或替换组。

请注意,可以为抽象类定义 XML 映射;该类在任何派生类模式中都显示为基类型,尽管它是抽象的,无法实例化。

考虑一个例子。我们从一个简单的 Person 类开始:

0 0
0 37

第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射

其他支持 XML 的类到 XML 类型的映射

对于支持 XML 的类或基于支持 XML 的类的属性,XML 类型按如下方式确定: 如果该类具有 XMLTYPE 参数的值,则该值将用作类型名称。否则,短类名将被视为 XML 类型名。

例如,考虑以下类定义:

0 0
0 38