第十七章 创建Web客户端 - 其他调整
文章目录
- 第十七章 创建Web客户端 - 其他调整
- 其他调整
- 使用生成的 `Web` 客户端类
- 示例 1:使用使用包装消息的客户端
- 示例 2:使用使用未包装消息的客户端
第十七章 创建Web客户端 - 其他调整
其他调整
如果 WSDL 未指定 Web 服务的位置,则 SOAP 向导不会指定 Web 客户端的 LOCATION 参数。这是一种罕见的情况。在这种情况下,编辑 Web 客户端类以包含 LOCATION 参数。例如:
Parameter LOCATION = "https://devsys:52773/csp/mysamples/GSOP.AddComplexWS.cls";
或者指定 Web 客户端实例的 Location 属性。
使用生成的 Web 客户端类
如上一节所述,生成 Web 客户端类后,通常不会编辑生成的类。相反,可以编写代码来创建该 Web 客户端的实例并提供客户端错误处理。在此代码中,执行以下操作:
- 创建
Web客户端类的实例。 - 设置其属性。可以在此处控制以下项目:
Web客户端的端点(它使用的Web服务的URL)。要控制这一点,请设置Location属性,该属性会覆盖Web客户端类的LOCATION参数。- 指定代理服务器的设置。
- 控制
HTTP基本身份验证的设置。
- 根据需要调用
Web客户端的方法。 - 执行客户端错误处理。
- (可选)检查
Web客户端收到的HTTP响应,如本主题后面所述。
下面显示了终端中会话的一个简单示例:
GSOAP>set client=##class(Proxies.CustomerLookupServiceSoap).%New()GSOAP>set resp=client.GetCustomerInfo("137")GSOAP>w resp11@Proxies.CustomerResponseGSOAP>w resp.Name
Smith,Maria
示例 1:使用使用包装消息的客户端
在此示例中,我们为使用包装消息的 Web 客户端创建一个包装类。要使用前面显示的示例 GSOAPClient.AddComplex.AddComplexSoap,我们可以创建一个如下所示的类:
Class GSOAPClient.AddComplex.UseClient Extends %RegisteredObject
{ClassMethod Add(arg1 As ComplexNumber, arg2 As ComplexNumber) As ComplexNumber
{Set client=##class(AddComplexSoap).%New()//uncomment the following to enable tracing//set client.Location="https://devsys:8080/csp/mysamples/GSOP.AddComplexWS.cls"Set ans=client.Add(arg1,arg2)Quit ans
}}
客户端应用程序将调用此方法来执行 Web 方法。
示例 2:使用使用未包装消息的客户端
在此示例中,我们为使用未包装消息的 Web 客户端创建一个包装类。要使用前面显示的示例 GSOAPClient.AddComplex.AddComplexSoap,我们可以创建一个如下所示的类:
Class GSOAPClient.AddComplexUnwrapped.UseClient Extends %RegisteredObject
{ClassMethod Add(arg1 As GSOAPClient.AddComplexUnwrapped.s0.ComplexNumber,
arg2 As GSOAPClient.AddComplexUnwrapped.s0.ComplexNumber)
As GSOAPClient.AddComplexUnwrapped.s0.ComplexNumber
{//create the Add messageSet addmessage=##class(GSOAPClient.AddComplexUnwrapped.s0.Add).%New()Set addmessage.a = arg1Set addmessage.b = arg2Set client=##class(AddComplexSoap).%New()//send the Add message to client and get responseSet addresponse=client.Add(addmessage)//get the result from the response messageSet ans=addresponse.AddResultQuit ans}}
该方法具有通常预期的签名;也就是说,它接受两个复数并返回一个复数。该方法创建 Web 客户端期望的消息。该消息的元素是两个复数。
正如所看到的,当 Web 客户端使用未包装的消息时,需要编写稍微多一些的代码来将用户友好形式的参数转换为 Web 客户端使用的消息。
相关文章:
第十七章 创建Web客户端 - 其他调整
文章目录 第十七章 创建Web客户端 - 其他调整其他调整使用生成的 Web 客户端类示例 1:使用使用包装消息的客户端示例 2:使用使用未包装消息的客户端 第十七章 创建Web客户端 - 其他调整 其他调整 如果 WSDL 未指定 Web 服务的位置,则 SOAP …...
学习java的日子 Day52 多表联合查询,DCL,数据类型,约束,索引,视图
Day52 1.DML-多表联合查询(重要) 1.1 一对一情况 略 1.2 一对多情况 当需要查询多个表中的字段时,就可以使用表连接来实现。表联接分为内连接和外连接 内连接:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结 外连接:…...
计算机视觉(CV)的教程、相关项目
计算机视觉(CV)是一个广泛而深入的领域,其教程和项目众多。以下是针对计算机视觉(CV)的教程和相关项目的一个清晰概述: 教程 入门教程: OpenCV入门:OpenCV是一个开源的计算机视觉库,提供了大量用于图像和视频处理的函数。可以通过OpenCV的官方文档或在线教程来学习其…...
mysql in 逗号分隔_数据库字段是逗号分隔的查询(FIND_IN_SET(str,strlist)方法的使用)
使用函数FIND_IN_SET(str,strlist)--(推荐) 函数介绍:返回在strlist中str字符串通过“,”分隔成列表后所在的位置(索引),如 SELECT FIND_IN_SET("c", "a,b,c,d,e"); 返回3(索引从1开始) 有了这个方法再回到之前的sql语句可以变成如下: select name,bra…...
【Python】 将日期转换为 datetime 对象在 Python 中
基本原理 在 Python 中,处理日期和时间的库是 datetime,它提供了广泛的功能来处理日期和时间。datetime 模块中有一个 datetime 类,它可以用来表示日期和时间。有时,我们可能会遇到需要将日期字符串转换为 datetime 对象的情况&a…...
dpdk-19.11 arm64 环境适配 Mellanox CX4 网卡
环境信息 cpu: arm64 架构 dpdk 版本:19.11 glibc 版本:2.17 网卡型号: Mellanox CX4 网卡,详细 pci 信息如下: 02:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 02:00.1 Ether…...
1141. 查询近30天活跃用户数
1141. 查询近30天活跃用户数 题目链接:1141. 查询近30天活跃用户数 代码如下: # Write your MySQL query statement below select activity_date as day,count(distinct user_id) as active_users from Activity where activity_date between 2019-06-…...
11_JavaWeb监听器
文章目录 监听器1.监听器的分类2.application域监听器案例 监听器 概念:后端要发生一些事情的时候,自动触发一些代码的执行; 1.监听器的分类 web中定义八个监听器接口作为监听器的规范,这八个接口按照不同的标准可以形成不同的分类 按监听的…...
jmeter常用的断言
包括(Contains):响应内容包括需要匹配的内容即代表响应成功,支持正则表达式 匹配(Matches):响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达…...
Opencv Python图像处理笔记二:图像变换、卷积、形态学变换
文章目录 前言一、几何变换1.1 缩放1.2 平移1.3 旋转1.4 翻转1.5 仿射1.6 透视 二、低通滤波2.1 均值滤波2.2 高斯滤波2.3 中值滤波2.4 双边滤波2.5 自定义滤波 三、高通滤波3.1 Sobel3.2 Scharr3.3 Laplacian3.4 Canny 四、图像金字塔4.1 高斯金字塔4.2 拉普拉斯金字塔 五、形…...
使用若依框架RuoYi前后端分离版+运行+自动生成页面进行导入进行开发+工具(完整版)
若依后台预览 摘要: 随着前后端分离开发模式的流行,越来越多的开发者开始将项目的前端和后端分离开发,以提高开发效率和项目的灵活性。若依框架作为一款优秀的开源后台管理系统,提供了强大的权限管理和代码生成功能,非常适合前后端分离开发。 一、若依框架介绍 若依框架…...
开源博客项目Blog .NET Core源码学习(29:App.Hosting项目结构分析-17)
本文学习并分析App.Hosting项目中后台管理页面的按钮管理页面。 按钮管理页面用于显示、新建、编辑、删除页面按钮数据,以便配置后台管理页面中每个页面的工具栏、操作栏、数据列中的按钮的事件及响应url。按钮管理页面附带一新建及编辑页面,以支撑新…...
2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书
2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书 描述 hnust计组课设要用到的东西都在里面了 下载链接 https://pan.baidu.com/s/1tHooJmhkrwX47JCqsg379g?pwd1111...
CHATGPT升级plus(已有账号前提下)
注册wildcard(虚拟卡) 注册号账号后先进行充值,充值后选择CHATGPT一键升级按照他的流程来即可 Wildcard网址:Wildcard跳转注册 填写邀请码充值时少两美金合计14¥ 邀请码:OL3QXTRH...
通过血清拉曼光谱进行COVID-19的高效初步筛查
通过血清拉曼光谱进行COVID-19的高效初步筛查 原创 小王搬运工 时序课堂 2024-06-04 20:04 四川 论文地址:https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/full/10.1002/jrs.6080 论文源码:无 期刊:JOURNAL OF RAMAN SPE…...
Java 性能调优与监控工具详解
在Java开发中,性能调优和监控是确保应用程序高效、稳定运行的关键环节。本文将详细介绍Java性能调优的基本原则和常用的监控工具,并通过代码示例帮助读者理解如何进行实际操作。 一、性能调优的基本原则 在开始调优之前,了解以下基本原则是…...
LeetCode 1633, 122, 239
目录 1633. 各赛事的用户注册率题目链接表要求知识点思路代码 122. 买卖股票的最佳时机 II题目链接标签思路代码 239. 滑动窗口最大值题目链接标签思路代码 1633. 各赛事的用户注册率 题目链接 1633. 各赛事的用户注册率 表 表Users有字段user_id和user_name。表Register有…...
(十五)统计学基础练习题九(选择题T401-450)
本文整理了统计学基础知识相关的练习题,共50道,适用于想巩固统计学基础或备考的同学。来源:如荷学数据科学题库(技术专项-统计学三)。序号之前的题请看往期文章。 401) 402) 403) 4…...
用大白话讲解下 CNN和卷积核( 百度 AI 回答 )
CNN(卷积神经网络)和卷积核在图像处理中扮演着非常重要的角色。咱们来用大白话解释一下它们。 首先说CNN,它就像是一个聪明的机器,专门用来识别图片里的东西。CNN里面有很多层,每一层都有很多小单元,这些小…...
安全生产新篇章:可燃气体报警器检验周期的国家标准解读
随着工业化进程的加快,安全生产成为了重中之重。 可燃气体报警器作为预防火灾和爆炸事故的重要设备,其准确性和可靠性直接关系到企业的生产安全和员工的生命财产安全。 因此,国家对可燃气体报警器的检验周期有着明确的规定,以确…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)
React React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么,Fiber架构,面试向面试官介绍,详细解释 用户: React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么,Fiber架构,面试向面试官介绍&#x…...
