第十章 SOAP 消息变体

2024-05-28 09:28
文章标签 消息 第十章 变体 soap

本文主要是介绍第十章 SOAP 消息变体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第十章 SOAP 消息变体
  • 概述
    • Binding Style
    • 编码格式
  • 消息变化是如何确定的

第十章 SOAP 消息变体

本主题讨论 SOAP 消息的主要变体以及 IRIS 数据平台 Web 服务和客户端如何生成它们。

对于Web 服务或客户端,几个关键字和一个参数指定每个 Web 方法使用的消息变体。如果手动创建 Web 服务,这些项目的默认值通常合适。如果使用 SOAP 向导创建 Web 服务或客户端,系统将根据 WSDL 的要求设置值。但是,在某些情况下,可能会发现有必要选择特定的消息变体。

概述

SOAP 消息采用以下模式之一,由 WSDL 正式确定:

  • Document/literal 文档/文字 — 这是Web 服务中的默认消息模式,也是最常用的模式。

该消息模式采用文档式绑定和文字编码格式;绑定和编码格式将在小节中简要讨论。

  • RPC/encoded —— 这是第二常见的模式。
  • RPC/literal——这种模式被IBM广泛使用。
  • Document/encoded文档/编码——这种模式极其罕见,不推荐。它也不符合 WS-I Basic Profile 1.0

非正式地,文档/文字消息可以有一个额外的变体:它们可以是包装的(IRIS 中的默认设置)或未包装的。在包装消息中,消息包含单个部分,其中包含子部分。这对于采用多个参数的方法是相关的。在包装消息中,参数是该消息内的子部分。在展开的消息中,消息由多个部分组成,每个部分一个参数。

RPC 消息可以有多个部分。

Binding Style

每个 Web 方法都有一个用于 Web 方法的输入和输出的绑定样式。绑定样式可以是文档或 RPC。绑定样式决定如何将 WSDL 绑定转换为 SOAP 消息。它还控制 SOAP 消息正文的格式。

编码格式

每个 Web 方法还具有编码格式,可以是文字格式或编码格式(即 SOAP 编码格式)。 SOAP 1.1SOAP 1.2 的编码细节略有不同。有关文字格式和 SOAP 编码格式之间的差异的详细信息,请参阅将对象投影到 XML

消息变化是如何确定的

对于 web服务或web客户端,服务或客户端类的详细信息控制每个web方法使用的消息模式。这些细节如下:

  • SoapBindingStyle类关键字和SoapBindingStyle方法关键字。method关键字优先。
  • SoapBodyUse类关键字和SoapBodyUse方法关键字。method关键字优先。
  • ARGUMENTSTYLE类参数。

下表总结了如何确定web方法的消息模式:

Message ModeSoapBindingStyleSoapBodyUseARGUMENTSTYLE
wrapped document/literaldocument (default)literal (default) wrapped (default)
unwrapped document/literaldocumentliteral message
rpc/encodedrpcencodedIgnored
rpc/literalrpcliteralIgnored
document/encodeddocumentencoded Ignored

当使用SOAP向导生成web服务或客户端类时,向导将为开始使用的WSDL设置这些关键字和参数的值。

重要:对于手动创建的web服务,默认值通常是合适的。当使用SOAP向导从WSDL创建web客户端或服务时,将为该WSDL设置这些关键字。如果修改了这些值,web客户端或服务可能不再工作。

这篇关于第十章 SOAP 消息变体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010176

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

SpringBoot 自定义消息转换器使用详解

《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似