第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法

这篇具有很好参考价值的文章主要介绍了第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法

调用适配器方法

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

向生产中的目标发送请求

尽管业务操作主要负责向特定的外部应用程序传递请求,但它也可以根据需要向其他业务操作或业务流程发送消息。要将消息发送到生产中的目标,请调用 SendRequestSync()SendRequestAsync()SendDeferredResponse()

Ens.BusinessOperation 定义了一个可以使用的附加方法:DeferResponse()

DeferResponse() 方法

此方法中返回一个 %Status,指示成功或失败。它提供了一个引用参数 token,它返回稍后调用 SendDeferredResponse() 所需的延迟响应传递令牌。例如:

   Set sc=..DeferResponse(.token)
   // Send the token out somewhere...
   Quit $$$O

挂起消息

如果希望业务操作将其当前正在进行的消息标记为具有暂停状态,请将业务操作属性 SuspendMessage 设置为整数值 1 (true)。通常,业务操作会对由于某种原因被外部系统拒绝的消息执行此操作。

IRISSuspended 消息置于特殊队列中,以便系统管理员可以诊断问题、解决问题,然后重新发送消息。系统管理员可以执行简单的重新发送(到原始目标)或可以将其发送到新的目的地。有关信息,请参阅监控制作。

以下示例方法来自将文档发送到外部系统的业务操作。如果从对即将发送的文档的 Validate() 调用返回错误,则该方法将 SuspendMessage 属性设置为 1文章来源地址https://www.toymoban.com/news/detail-478120.html

Method validateAndIndex(pDoc As MyX12.Document) As %Status
{
  If ""=..Validation||'$method($this,"OnValidate",pDoc,..Validation,.tSC) {
    Set tSC=##class(MyX12.Validator).Validate(pDoc,..Validation)
  }
  Set:'$D(tSC) tSC=$$$OK
  If $$$ISERR(tSC) {
    Set ..SuspendMessage=1
    Do ..SendAlert(##class(Ens.AlertRequest).%New($LB(
        ..%ConfigName,"Suspended document "_pDoc.%Id()_
        " because it failed validation using spec '"
        _..Validation_"' with error "_
        $$$StatusDisplayString(tSC))))
    Quit tSC
  }
  If ""'=..SearchTableClass {
    TRY {
      Set tSCStore=$classmethod(..SearchTableClass,"IndexDoc",pDoc)
      If $$$ISERR(tSCStore)
        $$$LOGWARNING("Failed to create SearchTable entries")
    }
    CATCH errobj {
      $$$LOGWARNING("Failed to invoke SearchTable class")
     }
  }
  Quit $$$OK
}

到了这里,关于第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

    在业务服务类中, OnProcessInput() 实现应该将请求消息发送到生产中的某个目的地。为此,根据需要调用业务服务类的以下实例方法之一: SendRequestSync() 同步发送消息(等待响应)。有关详细信息,请参阅使用 SendRequestSync() 方法。 - SendRequestAsync() 异步发送消息(不等待响应)

    2024年02月07日
    浏览(52)
  • 第十章 ObjectScript 系统宏(一)

    本页描述的宏可用于 %RegisteredObject 的所有子类。要使这些在例程或不扩展 %RegisteredObject 的类中可用,请包含适当的文件: 对于与状态相关的宏,请包含 %occStatus.inc 。 对于与消息相关的宏,请包含 %occMessages.inc 此类语句的语法是: 这些包含文件的名称区分大小写。 宏名称区

    2024年02月07日
    浏览(39)
  • 第四章 介绍Productions - 连接选项 - 使用文件适配器的业务主机类

    针对特定场景 IRIS 提供专门的业务服务类和已经使用特定适配器的业务操作类: File adapters FTP adapters HTTP and SOAP adapters TCP adapters 要使用这些业务主机,通常不需要执行任何编码。 或实际原因,以下部分可能不会涵盖 IRIS 提供的所有专业业务主机类。要查找指定适配器的所有

    2024年02月05日
    浏览(39)
  • 【正点原子STM32连载】 第三十章 ADC实验 摘自【正点原子】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 本章,我们将介绍STM32F103的ADC(Analog-to-digital converters,模数转换器)功能。我们通过四个实验来学习

    2024年02月03日
    浏览(67)
  • JAVA 微信公众号授权给开放平台(第三方平台)开发流程及第三方平台代公众号实现业务

    一 、开放平台账户注册及开发配置请参考我之前的文章 开发前准备工作。 二、授权流程 官方文档细节比较多 我说的比较直白 (1)首先 启动票据推送服务 (2)接收消息→解密→验证并获取票据→保存票据 component_verify_ticket (3)获取第三方平台调用凭证 component_access_tok

    2024年03月15日
    浏览(67)
  • SpringBoot自定义starter开发:IP计数业务功能开发

    🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,计算机系列(火速更新中) 💭 格言:种一棵树最好的时间是十年前,其次是现在 🏡动动小手,点个关注不迷路,感

    2024年04月16日
    浏览(36)
  • Vue自定义指令-让你的业务开发更简单

    在日常开发中,我们会将重复代码抽象为一个函数或者组件,然后在需要时调用或者引入。但是,对于某些功能,这种方法可能不够优雅或者不够灵活。例如,我们可能需要在DOM元素上添加一些自定义属性或者绑定一些事件,这些操作可能难以通过函数或组件来实现。这时,

    2024年02月08日
    浏览(65)
  • 第三十章 React的路由基本使用

    关于 React 路由,我们在学习之前先了解一下其他知识点: SPA 应用、路由的理解、 react 中如何使用路由。 SPA应用的理解 我们知道 React 脚手架给我们构建的是一个单页应用程序( SPA ),在页面加载时,只会加载一个 HTML 文件,然后使用 JavaScript 动态地更新页面内容。这意味

    2024年02月03日
    浏览(32)
  • 第十章 Python第三方库概览

    10.1 Python第三方库的获取和安装 Python第三方库依照安装方式灵活性和难易程度有三个方法: pip工具安装、自定义安装和文件安装 。 10.1.1 pip工具安装 最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python官方提供并维护的在线第三方库安装工具。 使用pip安装

    2024年02月07日
    浏览(58)
  • 【正点原子FPGA连载】 第三十章双目OV5640摄像头LCD显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 双目摄像头是在一个模组上集成了两个摄像头,实现了双通道的图像采集。双目摄像头一般应用于安防监控、

    2024年02月13日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包