Delphi 内置的用于 SOAP WebService 的数据类型定义

记录一下备查。

数据定义在这个单元:unit Soap.InvokeRegistry;

比如:

  TByteSOAPArray = array of Byte;TIntegerSOAPArray = array of Integer;TCardinalSOAPArray = array of Cardinal;TWordSOAPArray = array of Word;TSmallIntSOAPArray = array of SmallInt;TShortIntSOAPArray = array of ShortInt;TInt64SOAPArray = array of Int64;TLongWordSOAPArray = array of LongWord;TSingleSOAPArray = array of Single;TDoubleSOAPArray = array of Double;TBooleanSOAPArray = array of Boolean;TStringSOAPArray = array of string;

这些数据类型定义不是简单的定义一下,而是要注册到系统里面,注册代码也在这个单元里面。

注册代码片段:

{$IFNDEF NEXTGEN}RemClassRegistry.RegisterXSInfo(TypeInfo(System.ShortString), XMLSchemaNameSpace, 'string');RemClassRegistry.RegisterXSInfo(TypeInfo(System.AnsiChar), XMLSchemaNameSpace, 'string');RemClassRegistry.RegisterXSInfo(TypeInfo(System.WideChar), XMLSchemaNameSpace, 'string');
{$ENDIF !NEXTGEN}RemClassRegistry.RegisterXSInfo(TypeInfo(System.Char), XMLSchemaNameSpace, 'string');RemClassRegistry.RegisterXSInfo(TypeInfo(TByteSOAPArray), XMLSchemaNameSpace, 'base64Binary');RemClassRegistry.RegisterXSInfo(TypeInfo(System.Types.TByteDynArray), XMLSchemaNameSpace, 'base64Binary');{ Whether we register 'anyType' or 'anySimpleType first determines how we expose Variants -we'll opt for anyType as it seems to be the most interoperable although anySimpleTypeis the better semantic match }RemClassRegistry.RegisterXSInfo(TypeInfo(System.Variant), XMLSchemaNameSpace, 'anyType');RemClassRegistry.RegisterXSInfo(TypeInfo(System.Variant), XMLSchemaNameSpace, 'anySimpleType');RemClassRegistry.RegisterXSInfo(TypeInfo(System.Variant), XMLSchemaNameSpace, 'ur-type');RemClassRegistry.RegisterXSInfo(TypeInfo(System.OleVariant), XMLSchemaNameSpace, 'anyType');

理论上,在  SOAP WebService 的接口里面使用的数据类型,必须是注册过的。

当然,简单类型,比如 Integer 可以直接使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scala入门基础(20)数据集复习拓展

一.Stack栈二.Queue 队列 一.Stack栈 Stack:栈,特殊的结构。它对元素的操作是在头部:栈顶 先进后出的队列。pop表示取出,push表示在栈中添加元素 二.Queue 队列 Queue 队列;先进先出.enqueue入队,dequeue出队。

Ubuntu20.04运行DM-VIO

目录 环境配置非ROS环境运行编译运行结果图 ROS环境参考 环境配置 Ubuntu20.04 将项目中Cmakelists.txt中C 和 opencv版本修改下 C 使用 14 opencv使用4 非ROS环境运行 编译 按照官网即可 cd dm-vio mkdir build cd build cmake .. make -j运行 DM-VIO给的命令是 bin/d…

TDengine 签约深圳综合粒子,赋能粒子研究新突破

在高能物理和粒子研究领域,实验装置的不断升级伴随着海量数据的产生与处理。尤其是随着大湾区综合性国家科学中心的建设步伐加快,深圳综合粒子设施研究院(以下简称“研究院”)作为承载“双区驱动”战略的重要科研机构,…

IDEA连接Apifox客户端

IDEA连接Apifox客户端 一、下载Apifox安装包二、IDEA配置三、配置Apifox和IDEA项目同步 一、下载Apifox安装包 Apifox官网,根据自己的操作系统下载对应的Apifox安装包,我是windows系统所以下载的是windows版。 下载 默认仅为我安装,点击下一…

(C语言) 8大翻译阶段

(C语言) 8大翻译阶段 文章目录 (C语言) 8大翻译阶段⭐前言🗃️8大阶段🗂️1. 字符映射🗂️2. 行分割🗂️3. 标记化🗂️4. 预处理🗂️5. 字符集映射🗂️6. 字符串拼接🗂️7. 翻译&…

php反序列化1_常见php序列化的CTF考题

声明: 以下多内容来自暗月师傅我是通过他的教程来学习记录的,如有侵权联系删除。 一道反序列化的CTF题分享_ctf反序列化题目_Mr.95的博客-CSDN博客 一些其他大佬的wp参考:php_反序列化_1 | dayu’s blog (killdayu.com) 序列化一个对象将…

Spring Boot拦截器(Interceptor)详解

拦截器Interceptor 拦截器我们主要分为三个方面进行讲解: 介绍下什么是拦截器,并通过快速入门程序上手拦截器拦截器的使用细节通过拦截器Interceptor完成登录校验功能 1. 快速入门 什么是拦截器? 是一种动态拦截方法调用的机制&#xff…

使用zabbix监控k8s

一、 参考文献 小阿轩yx-案例:Zabbix监控kubernetes云原生环境 手把手教你实现zabbix对Kubernetes的监控 二、部署经验 关于zabbix监控k8s,总体来说是分为两块内容,一是在k8s集群部署zabbix-agent和zabbix- proxy。二是在zabbix进行配置。…

GitCode 平台设置访问令牌 从而git仓库(附pycharm创建版本控制项目)

GitCode 背靠CSDN搞了国产的git平台,但在实际使用过程中,我直接感受就是坑爹!在查找用户令牌(账号密码)这一基本功能上,因为是csdn直接登录跳转过去的用户令牌,没有设置过密码,默认就…

神经网络入门实战:(五)本地数据集的读取,以及从pytorch官网下载数据集的操作

本地带标签图片数据集的读取 代码里面的注释写的都比较清楚,也有拓展的部分,这里就不详细列出。 from torch.utils.data import Dataset # 从torch.utils.data导入Dataset类,用于创建自定义的数据集类 from PIL import Image #引入PIL库中的I…

【Maven】继承和聚合

5. Maven的继承和聚合 5.1 什么是继承 Maven 的依赖传递机制可以一定程度上简化 POM 的配置,但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本,且这些模块之间不存在依赖关系,这就导致同一个依赖…

【C++打怪之路Lv16】-- map set

🌈 个人主页:白子寰 🔥 分类专栏:重生之我在学Linux,C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持…

Python爬虫爬取数据报错

报错: Error fetching the URL: (Connection aborted., ConnectionResetError(10054, 远程主机强迫关闭了一个现有的连接。, None, 10054, None)) 报错原因: 目标服务器限制: 目标网站可能已经检测到你的请求来自自动化工具(如爬虫…

【Linux】线程的互斥和同步

【Linux】线程的互斥和同步 线程间的互斥 临界资源:多线程执行共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的代码,就叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界区&#…

抓包之查看http basic auth认证方式

写在前面 在这篇文章中我们看了http basic auth的认证方式,本文通过wireshark抓包的方式来验证http协议的交互过程。 1:正文 首先wireshark抓取本机回环地址(具体看你服务情况,决定哪个网卡,我本地是运行在127的&am…

网络安全(1)_对称加密和非对称加密

1 网络安全概述 1.1 计算机网络面临的安全威协 (1)截获:攻击者从网络上窃听他人的通信内容,通常把这类攻击称为“截获”。在被动攻击中,攻击者只是观察和分析某一个协议数据单元(PDU)而不干扰信…

vmware中所有虚拟机都ping不通时解决方案

文章目录 1、报错内容:2、 报错原因:3、解决方案: 1、报错内容: 2、 报错原因: DNS解析错误。 一个虚拟机ping不通可能是网关配置问题,但我的网关配置也都没问题,而且我的所有虚拟机都ping不通…

智慧防汛平台在城市生命线安全建设中的应用

随着城市化进程的加快,城市基础设施的复杂性和互联性不断增强,城市生命线的安全管理面临前所未有的挑战。智慧防汛平台作为城市生命线安全建设的重要组成部分,通过现代信息技术提升城市防汛应急管理的智能化水平,保障城市安全。 …

自己整理的的java面试题

IO 按照流的流向分类:输入流和输出流 按照操作单元分类:可以分为字节流和字符流 按照流的角色划分:节点流和处理流 所有输入流的基类:InputStream/Reader 字节流/字符流 所有输出流的基类:OutputStream/Reader 字…

Android数据存储——文件存储、SharedPreferences、SQLite、Litepal

数据存储全方案——详解持久化技术 Android系统中主要提供了3中方式用于简单地实现数据持久化功能,即文件存储、SharedPreference存储以及数据库存储。除了这三种方式外,还可以将数据保存在手机的SD卡中,不给使用文件、SharedPreference或者…