美文网首页
第十七章 创建Web客户端 - 其他调整

第十七章 创建Web客户端 - 其他调整

作者: Cache技术分享 | 来源:发表于2024-06-04 08:11 被阅读0次

第十七章 创建Web客户端 - 其他调整

其他调整

如果 WSDL 未指定 Web 服务的位置,则 SOAP 向导不会指定 Web 客户端的 LOCATION 参数。这是一种罕见的情况。在这种情况下,编辑 Web 客户端类以包含 LOCATION 参数。例如:

Parameter LOCATION = "https://devsys:52773/csp/mysamples/GSOP.AddComplexWS.cls";

或者指定 Web 客户端实例的 Location 属性。

使用生成的 Web 客户端类

如上一节所述,生成 Web 客户端类后,通常不会编辑生成的类。相反,可以编写代码来创建该 Web 客户端的实例并提供客户端错误处理。在此代码中,执行以下操作:

  1. 创建 Web 客户端类的实例。
  2. 设置其属性。可以在此处控制以下项目:
  • Web 客户端的端点(它使用的 Web 服务的 URL)。要控制这一点,请设置 Location 属性,该属性会覆盖 Web 客户端类的 LOCATION 参数。
  • 指定代理服务器的设置。
  • 控制 HTTP 基本身份验证的设置。
  1. 根据需要调用Web客户端的方法。
  2. 执行客户端错误处理。
  3. (可选)检查 Web 客户端收到的 HTTP 响应,如本主题后面所述。

下面显示了终端中会话的一个简单示例:

GSOAP>set client=##class(Proxies.CustomerLookupServiceSoap).%New()

GSOAP>set resp=client.GetCustomerInfo("137")
 
GSOAP>w resp
 
11@Proxies.CustomerResponse

GSOAP>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 message
    Set addmessage=##class(GSOAPClient.AddComplexUnwrapped.s0.Add).%New()
    Set addmessage.a = arg1
    Set addmessage.b = arg2

    Set client=##class(AddComplexSoap).%New()
    
    //send the Add message to client and get response
    Set addresponse=client.Add(addmessage)
    
    //get the result from the response message
    Set ans=addresponse.AddResult
    
    Quit ans
 
}

}

该方法具有通常预期的签名;也就是说,它接受两个复数并返回一个复数。该方法创建 Web 客户端期望的消息。该消息的元素是两个复数。

正如所看到的,当 Web 客户端使用未包装的消息时,需要编写稍微多一些的代码来将用户友好形式的参数转换为 Web 客户端使用的消息。

相关文章

  • CAT+Feign+hystrix整合消息调用链路

    Feign Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口...

  • Java学习笔记—总所周知的微服务架构SpringCloud中F

    Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个...

  • Ajax

    Ajax(asynchronous JavaScript and XML)是使用客户端上的许多Web技术,创建异步...

  • Meteor+Angular实现轻论坛(3)—节点添加和发帖

    节点添加功能 我们如果使用其他的web框架,就需要实现一系列的REST服务通过客户端去连接服务端,并且需要创建数据...

  • SpringCloud组件之Feign

    Feign是一个声明式的Web服务客户端。这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其...

  • XSS和CSRF

    XSS 跨站脚本攻击 一般发生在客户端,攻击者将恶意代码注入到web客户端,而影响其他浏览此web页面的用户。更多...

  • 《HTTP权威指南》

    第1章 http概述 Web客户端与服务器 浏览器就是一个web客户端,当访问一个页面时www.baidu.com...

  • 构建web服务(http)

    http模块创建编写服务器 创建web服务 访问服务时的响应request: 请求对象用来获取客户端的一些请求信息...

  • SpringCloud---Feign(消费端的调用框架)

    介绍 Feign是一个公开的Web服务客户端。它使编写Web服务客户机更容易。用Feign创建接口和注释。它具有可...

  • 12. response下载文件

    HttpServletResponse web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求...

网友评论

      本文标题:第十七章 创建Web客户端 - 其他调整

      本文链接:https://www.haomeiwen.com/subject/cmcyqjtx.html