为什么Soap支持异步调用而Rest不支持?

2023-11-26

我在网上浏览了 Soap 与 Rest,发现大多数人都说 Soap 支持异步调用,而 Rest 不支持,但没有得到任何具体的例子。有人可以帮我吗?

这是我提到的资源之一

http://web.archive.org/web/20120421084456/http://www.prescod.net/rest/rest_vs_soap_overview/ http://searchsoa.techtarget.com/tip/REST-vs-SOAP-How-to-choose-the-best-Web-service http://seanmehan.globat.com/blog/2011/06/17/soap-vs-rest/

根据我的理解,两者应该是同步的。在这两种情况下,客户端通过soap或rest调用Web服务,客户端等待直到服务返回响应。那么为什么soap 支持异步行为而rest 不支持呢?


REST 纯粹是基于 HTTP 传输的调用,您将收到 200 OK 的响应 另一方面,

SOAP 使用两个品种,

  • 通过 HTTP 同步消息传递
  • 通过 HTTP 的异步消息传递

通过同步消息传递,请求者发出请求,传输层代码块等待提供者的响应。请求者在请求者最初建立用于发送请求的同一 HTTP 连接上接收响应。同步交换通常更容易实现,并且要求Provider能够在短时间内生成响应,特别是在小于HTTP超时值(一般为120秒)的时间内。 [使用本身同步运行的单个 HTTP 连接]

通过异步消息传递,一旦响应者确认请求,请求者就能够释放传输特定资源,并知道最终将收到响应。当提供者完成消息的处理时,它通过新的 HTTP 连接将响应发送回请求者。 [这里我们利用两个HTTP连接来实现异步消息传递

  • 第一个 HTTP 连接用于发送请求并接收确认 HTTP 响应 200/OK
  • 第二个HTTP Connection用于接收回调并响应HTTP Response 200/OK]

Rijoy https://soascribbles.wordpress.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Soap支持异步调用而Rest不支持? 的相关文章

  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • 场景生成器删除 fxml 文件中的导入

    我使用场景构建器 Gluon Scene Builder JavaFX Scene Builder 8 1 1 来创建应用程序的 UI 并使用 Eclipse 开发 JavaFX 现在 每次我在场景生成器中保存某些内容时 它都会从 fxml
  • 如何将 XMP XML 块序列化为现有的 JPEG 图像?

    我有许多 JPEG 图像 其中包含损坏的 XMP XML 块 我可以轻松修复这些块 但我不确定如何将 固定 数据写回图像文件 我目前正在使用 JAVA 但我愿意接受任何能让这项任务变得容易的事情 这是目标关于 XMP XML 的另一个问题
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • 如果单个 POST 请求创建多个资源,是否被认为是 RESTful?

    我们有客户 API 它采用 customer name customer mobile customer email 并在数据库中创建客户 我们还有接受 productId customer name customer mobile cus
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car

随机推荐

  • ggplot:仅在满足某些条件时才绘制图层

    有没有过滤的方法within ggplot本身 也就是说 说我想这样做 p lt ggplot iris aes x Sepal Width y Sepal Length species geom point size 4 shape 4
  • 扩展 Scala 集合

    我想要一个在尝试覆盖现有键的值时抛出的映射 我试过 trait Unoverwriteable A B extends scala collection Map A B case class KeyAlreadyExistsExceptio
  • 如何在 yacc 中将 yylval 与字符串一起使用

    我想传递令牌的实际字符串 如果我有一个名为 ID 的令牌 那么我希望我的 yacc 文件真正知道 ID 的名称 我想我必须使用 yylval 将字符串从 Flex 文件传递 到 yacc 文件 我怎么做 通过 yylval 返回字符串或任何
  • Castle DynamicProxy:代理接口时如何代理等于?

    我需要使用 Castle DynamicProxy 通过向 ProxyGenerator CreateInterfaceProxyWithTarget 提供接口实例来代理接口 我还需要确保对 Equals GetHashCode 和 ToS
  • 测试所有图片是否加载完毕

    这是我尝试测试所有图像是否已加载的能力 for var i 0 i lt imgCount i loadArr i false imgArr i new Image imgArr i src img i png imgArr i onloa
  • 为什么 pip 安装我的软件包的旧版本?

    我刚刚将我的包的新版本上传到 PyPi 1 2 1 0 r4 我可以下载 Egg 文件并使用 easy install 安装它 并且版本检查正确 但是当我尝试使用 pip 安装时 它会安装版本 1 1 0 0 即使我明确指定 pip 的版本
  • R:使用前一行的值更新(视条件而定)

    我想用组内前一行的值更新表中的值 并且可能在给定条件下停止更新 这是一个例子 set seed 12345 field lt data table time 1 3 player letters 1 2 prospects round rn
  • 纹理视图获取表面

    我正在使用 ExoPlayer 库 它需要一个 Surface 但是我找不到任何方法来检索 Textureview 的底层 Surface 有任何想法吗 Surfaceview 有一个方法 surfaceView getHolder get
  • 可以物理访问源生成器创建的文件吗?

    是否有任何标准方法 选项 如何排列通过生成的文件Source Generators并添加到构建过程中也在项目结构中物理可见 因此开发人员可以查看结果代码 例如通过 VS 解决方案资源管理器窗口 我的意思是除了将代码直接保存到生成器的文件中之
  • Spring Data - 如果参数具有空值,则忽略该参数

    我想要一个带有两个参数的 Spring 数据存储库接口 有没有办法让它具有以下行为 MyObject findByParameterOneAndParameterTwo String parameterOne String paramete
  • Javac 缺少有效最终优化

    Fact javac被编程来检测变量是否final或者如果它可以被视为有效地 final Proof 这段代码说明了这一点 public static void finalCheck String str1 hello Runnable r
  • WiX RemoveFolderEx 不起作用?

    我希望 WiX 在卸载时删除 AppData 文件夹 因此我查看了 RemoveFolderEx 并遵循了一些有关如何使其工作的帖子 指南 据我所知 我的实现应该有效 但事实并非如此 我正在使用以下内容
  • 如何一次构建多个包二进制文件

    我在不同的地方看到过这个讨论 答案包括 使用 cmd foo cmd bar 类型的文件夹结构 这对我不起作用 这有效 du a 8 src cmd bin1 main go 8 src cmd bin1 8 src cmd bin2 ma
  • ESLint 与 React 给出 `no-unused-vars` 错误

    我已经设置了eslint eslint plugin react 当我运行 ESLint 时 linter 返回no unused vars每个 React 组件的错误 我假设它没有识别出我正在使用 JSX 或 React 语法 有任何想法
  • android 显示软键盘时如何向上移动布局

    我的登录屏幕有两个EditTexts和我的布局中的登录按钮 问题是 当我开始打字时 会显示软键盘并覆盖登录按钮 当布局出现时 如何将布局向上或键盘上方推 我不想使用ScrollView 只想实现它而不向下滚动 那怎么办呢 Set windo
  • 防止服务器中出现多个实例相同的用户名

    我开发了一个托管在一台服务器上的应用程序 许多用户通过远程桌面连接访问它 但有时我在任务管理器中看到同一用户打开了 2 个实例 我需要防止同一用户无法打开多个实例 但请注意 该程序可以由不同的用户多次打开 请原谅我的英语 谢谢 PS 我使用
  • 在 Java Lambda 中,为什么对捕获的变量调用 getClass()

    如果你看一下字节码 Consumer
  • 使用VBA查找Windows中安装的MySQL ODBC驱动程序的版本

    使用 Visual Basic 进行应用程序 如何查明用户计算机上的 Windows 中安装了哪个版本的 MySQL ODBC 驱动程序 我有一个 Microsoft Access 应用程序 它使用 MySQL ODBC 驱动程序进行连接
  • 如何在mysql json表中使用where子句进行查询

    我使用的是mysql 5 7 x 我可以创建一个 mysql json 表 CREATE TABLE t1 jdoc JSON 我可以插入行 INSERT INTO t1 VALUES key1 value1 key2 value2 INS
  • 为什么Soap支持异步调用而Rest不支持?

    我在网上浏览了 Soap 与 Rest 发现大多数人都说 Soap 支持异步调用 而 Rest 不支持 但没有得到任何具体的例子 有人可以帮我吗 这是我提到的资源之一 http web archive org web 20120421084