第二十五章 开发Productions - ObjectScript Productions - 发送请求消息

这篇具有很好参考价值的文章主要介绍了第二十五章 开发Productions - ObjectScript Productions - 发送请求消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第二十五章 开发Productions - ObjectScript Productions - 发送请求消息

发送请求消息

在业务服务类中, OnProcessInput() 实现应该将请求消息发送到生产中的某个目的地。为此,根据需要调用业务服务类的以下实例方法之一:

  • SendRequestSync() 同步发送消息(等待响应)。有关详细信息,请参阅使用 SendRequestSync() 方法。
    - SendRequestAsync() 异步发送消息(不等待响应)。有关详细信息,请参阅使用 SendRequestAsync() 方法。
  • SendDeferredResponse() 发送之前延迟的响应。这种方法不太常用。有关详细信息,请参阅使用 SendDeferredResponse() 方法。

这些方法中的每一个都返回一个状态,一个 %Status 的实例。

这些方法也在 Ens.BusinessProcessEns.BusinessOperation 中定义——具有相同的方法签名,尽管它们的内部结构在这些类中是不同的。这意味着可以从业务流程和业务操作类中调用这些实例方法。

使用 SendRequestSync() 方法

要发送同步请求,请使用 SendRequestSync() 方法,如下所示:

  Set tSC = ..SendRequestSync(pTargetDispatchName, pRequest, .pResponse, pTimeout)
  • pTargetDispatchName — 请求发送到的业务流程或业务操作的配置名称。
  • pRequest — 请求消息。请参阅定义消息。
  • pResponse —(引用)响应消息。该对象接收响应返回的数据。
  • pTimeout —(可选)等待响应的秒数。默认值为 –1(永远等待)。

此方法返回状态,中 %Status 的实例。

如果不需要响应,可以使用 SendRequestAsync() 而不是 SendRequestSync()

使用 SendRequestAsync() 方法

要发送异步请求,请使用 SendRequestAsync() 方法,如下所示:

  Set tSC = ..SendRequestAsync(pTargetDispatchName, pRequest)
  • pTargetDispatchName — 请求发送到的业务流程或业务操作的配置名称。
  • pRequest — 请求消息。请参阅定义消息。

使用 SendDeferredResponse() 方法

所有业务主机都支持 SendDeferredResponse() 方法。该方法允许业务主机参与生产延迟响应机制。业务主机识别先前延迟的请求,创建实际响应消息,并将此响应发送到发起请求的业务主机。请参阅 IRIS 编程中的使用延迟发送。

本主题描述业务服务在此机制中的作用。假设传入事件与延迟响应令牌一起到达生产,并假设此事件的到达点是业务服务。然后,此业务服务调用 SendDeferredResponse() 来创建响应并将其定向到发起请求的调用方。 SendDeferredResponse()`` 调用如下所示:

   Set sc = ..SendDeferredResponse(token, pResponseBody)
  • token — 标识延迟响应的字符串,以便调用者可以将其与原始请求匹配。业务服务通过生产特有的某种机制获取令牌字符串。

例如,如果外部目的地是电子邮件,当发送一个它愿意接收延迟响应的请求时,业务操作可以在外发电子邮件的主题行中包含令牌字符串。接收此电子邮件的实体可以从请求主题行中提取此令牌,并在响应主题行中使用它。这会保留令牌,以便接收响应电子邮件的业务服务可以在后续调用 SendDeferredResponse() 时使用它。

  • pResponseBody — 响应消息。该对象接收响应返回的数据。请参阅定义消息。

每个调用间隔仅处理一个事件

如果希望业务服务在每个调用间隔只处理一个事件,请在 OnProcessInput() 实现中将 %WaitForNextCallInterval 属性设置为 1(真):

 set ..%WaitForNextCallInterval=1

这将业务服务限制为每个 CallInterval 仅处理一个输入事件,即使存在多个输入事件也是如此。

此信息适用于使用具有名为 CallInterval 的属性并将该属性用作轮询间隔的适配器的业务服务。文章来源地址https://www.toymoban.com/news/detail-472099.html

到了这里,关于第二十五章 开发Productions - ObjectScript Productions - 发送请求消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第二十五章:RPA与物联网的安全保障

    随着人工智能、机器学习和自动化技术的不断发展,我们的生活和工作都逐渐变得更加智能化和高效化。在这个过程中,我们不得不关注和解决生活中各种自动化系统的安全问题。在本文中,我们将讨论RPA(Robotic Process Automation)和物联网(Internet of Things,IoT)的安全保障。 RPA是一

    2024年02月21日
    浏览(45)
  • 第二十五章:AI大模型在人工智能助手领域的应用

    人工智能助手(AI Assistant)是一种通过自然语言交互与用户进行对话的软件系统,旨在提供有针对性的信息和服务。AI助手通常使用自然语言处理(NLP)和机器学习技术来理解用户的需求,并提供相应的回答和建议。随着AI技术的发展,AI助手已经成为了人们日常生活中不可或缺的一

    2024年02月21日
    浏览(72)
  • 【正点原子STM32连载】 第二十五章 TFT-LCD(MCU屏)实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 前面我们介绍了OLED模块及其显示,但是该模块只能显示单色/双色,不能显示彩色,而且尺寸也较小

    2024年02月11日
    浏览(51)
  • 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法

    最常见的是,业务操作不包含用于与外部系统通信的逻辑。相反,业务操作使用处理此逻辑的出站适配器。一旦业务操作与出站适配器相关联,它就会调用适配器的方法来发送和接收数据。有关调用适配器方法的详细信息,请参阅从业务主机访问属性和方法。 尽管业务操作主

    2024年02月08日
    浏览(96)
  • 第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器

    如果需要通过多种输出机制联系用户,警报处理器应该是一个业务流程,用于确定如何在消息中路由 Ens.AlertReques 。在这种情况下, Productions 必须为每个输出机制包含一个额外的业务操作,并且警报处理器将消息转发到这些业务操作。 要将警报处理器定义为路由流程,请创建

    2024年02月08日
    浏览(50)
  • 第二十五节 共享内存

    什么是共享内存?顾名思义,共享内存就是将内存进行共享,它允许多个不相关的进程访问同一个逻辑内存,直接将一块裸露的内存放在需要数据传输的进程面前,让它们自己使用。因此,共享内存是效率最高的一种IPC 通信机制,它可以在多个进程之间共享和传递数据,进程

    2024年02月13日
    浏览(43)
  • 路由器(第二十五课)

    1、路由 1) 什么是路由:路由就是数据包从一个网络到另外一外网络的过程 2)支持路由功能的设备:路由器、三层交换机、防火墙 3 路由器转发数据包的依据: -每一台路由器都维护着一张路由表 -路由器是依靠这张路由表来转发数据的 -这张路由表就类似于我们生活中的地

    2024年02月15日
    浏览(59)
  • 【从零开始学习JAVA | 第二十五篇】泛型

    目录 前言: 泛型: 额外拓展: 总结:         本文将详细介绍之前我们在JAVA 中一直在讲的泛型,各位感兴趣的同学可以点击进来观看。         泛型是一种编程概念, 它允许在定义类、接口或方法时使用类型参数,这样可以在使用时指定实际的类型。 通过使用泛

    2024年02月16日
    浏览(43)
  • 【送书福利-第二十五期】《AI时代系列书籍》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月05日
    浏览(40)
  • C语言第二十五弹---字符函数和字符串函数(上)

      ✨ 个人主页:   熬夜学编程的小林 💗 系列专栏:   【C语言详解】   【数据结构详解】 目录 1、字符分类函数 2、字符转换函数 3、strlen的使用和模拟实现 4、strcpy 的模拟实现 5、strcat 的模拟实现 6、strcmp 的模拟实现 7、strncpy 函数的使用 总结 在编程的过程中,我们经常

    2024年02月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包