第八章 指定自定义 HTTP 请求

文章目录

  • [第八章 指定自定义 HTTP 请求](#第八章 指定自定义 HTTP 请求)
  • [自定义 `Web` 客户端的回调](#自定义 Web 客户端的回调)

第八章 指定自定义 HTTP 请求

默认情况下,Web 客户端使用 HTTPSOAP 消息传输到 Web 服务并接收响应。Web 客户端会自动创建并发送 HTTP 请求,但可以创建自定义 HTTP 请求。为此,请使用以下步骤:

  1. 在创建 %Net.HttpReques 的实例并根据需要设置属性。有关此类的信息,请参阅使用 Internet 实用程序或 %Net.HttpRequest类文档。
  2. Web 客户端的 HttpRequest 属性设置为等于此实例。

如果希望在同一会话中支持对 SOAP 服务的多次调用,这尤其有用。默认情况下, Web 客户端不支持使用同一会话对 SOAP 服务进行多次调用。要解决此问题,创建一个新的 %Net.HttpRequest 实例,并将其用作 Web 客户端的 HttpRequest 属性。此更改强制对所有调用重复使用相同的 HTTP 请求,这将在对下一个请求的响应中返回所有 cookie

自定义 Web 客户端的回调

可以通过覆盖其回调方法来定制 Web 客户端的行为:

%OnSOAPRequest()
java 复制代码
Method %OnSOAPRequest(mode As %String, 
                      client As %SOAP.WebClient,  
                      action As %String,  
                      oneWay As %Boolean,  
                      method As %String,  
                      requestStream As %BinaryStream)

Web 客户端调用传输类的 DoSOAPRequest() 方法(发出实际的 SOAP 请求)之前调用。默认的 DoSOAPRequest() 方法包含在 %SOAP.WebClient 中,并使用 HTTP 进行请求/响应。

  • mode 指定 SOAP 请求的类型("SOAP""binary")。
  • clientWeb 客户端实例的 OREF
  • action 包含 SOAPAction 标头的值。
  • 如果无需发送任何正文,则 oneWay 为真。
  • method参数是正在调用的 Web 方法的名称。
  • requestStream 参数包含流中的 SOAP 请求消息。
java 复制代码
Method %OnSOAPResponse(mode As %String, 
                       client As %SOAP.WebClient, 
                       action As %String, 
                       oneWay As %Boolean, 
                       method As %String, 
                       requestStream As %BinaryStream, 
                       responseStream As %BinaryStream, 
                       sc As %Status)

Web 客户端调用传输类的 DoSOAPRequest() 方法后调用。sc 参数是传输类的 DoSOAPRequest() 方法返回的状态。其他参数与 %OnSOAPRequest() 相同。

%OnSOAPFinished()
java 复制代码
%OnSOAPFinished()

Web 客户端执行完所有处理后调用。sc 参数是调用的 Web 方法返回的状态。modeclientmethod 参数与其他回调方法相同。

相关推荐
王二端茶倒水10 小时前
从千兆到万兆:宽带运营不能只卖套餐,要管用户生命周期从千兆到万兆:宽带运营需要管理用户生命周期
后端·网络协议·架构
extrao3 天前
🚀 Kea DHCP4 自动分配系统完整搭建
网络协议
喵个咪3 天前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
不做菜鸟的网工4 天前
BGP特性
网络协议
明月_清风7 天前
开发者网络概念全扫盲:一篇搞定
后端·网络协议
刘马想放假7 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水8 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议
162723816088 天前
EtherCAT 分布式时钟(DC)原理与配置实战:把多轴真正"对齐到同一时刻"
网络协议
王二端茶倒水8 天前
宽带无线项目,怎么从一次性交付变成长期运营收入?
网络协议