- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 WSO2 Enterprise Integrator Developer Advanced 类(class)的 labkit:https://wso2.com/training/enterprise-integrator-developer-advanced#request_training_enroll
我对API 和PROXY 的概念有什么区别有疑问。
在这个 labkit 中有一个关于如何构建自定义连接器的示例(这个问题与连接器主题并不严格相关)。
在示例中,它首先创建并部署自定义连接器,然后创建并使用此自定义连接器到此代理中:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="googlebooks_listVolume"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<property name="searchQuery"
expression="json-eval($.searchQuery)"/>
<googlebooks.listVolume>
<searchQuery>{$ctx:searchQuery}</searchQuery>
</googlebooks.listVolume>
<respond/>
</inSequence>
<outSequence>
<log/>
<send/>
</outSequence>
</target>
<description/>
</proxy>
它工作正常,我的连接器被正确调用。但我想问的是,这样的 PROXY 和 API 之间的确切区别是什么。
我读到这个:Difference between Proxy Service and API Service in wso2 Esb
好的...使用 API 我可以定义执行不同 CRUD 操作的多个资源,同时使用代理我有一个入口点。事实是,鉴于此,舒适度似乎只有一个区别:
我需要多个CRUD操作?我实现了一个 API。我需要一个单独的隔离操作?我实现代理。
但我认为一定还有其他...
我知道 API 基于 REST 概念。我还读到 proxy 用于公开 SOAP 网络服务。
最后一个断言对我来说不是很清楚。要调用之前的 PROXY(实现类似 WS 的东西),我会这样做:
curl -v -X POST -d "{"searchQuery":"rabbit"}" -H "Content-Type: application/json" http://localhost:8280//services/googlebooks_listVolume
所以在我看来这不是一个 SOAP 请求,因为我正在传递一个 JSON 对象,其中包含此 Web 服务使用的我的参数。
这也不是纯粹的 REST 网络服务,但我认为它绝对不是 SOAP 服务(据我所知使用 WSDL XML 消息。
那么,我错过了什么?
最佳答案
主要区别与您提到的相同。代理服务基本上是一个具有自己的 WSDL 文件的 SOAP 服务。 API 被视为具有资源映射到 HTTP 动词的 RESTful 服务。
那么如何使用上面给定的 curl 命令调用代理以及它是如何工作的?
原因是您随 curl 请求一起发送的 Content-Type
header 。 WSO2 EI 或 WSO2 ESB 理解各种内容类型 header ,并将读取指定格式的内容(在本例中为 JSON
),然后将其传递给底层消息中介引擎。即使服务器将其作为 JSON
消息接受,当消息传递到中介引擎(它执行所有与消息中介相关的工作)时,它也会作为下面的 soap 消息。所以实际上在中介引擎级别,代理服务仍会收到 soap 消息,但在传输级别,我们可以发送任何支持的内容类型。此转换对调用代理服务的用户不可见。因此,这就是您可以将 JSON
消息发送到基于 SOAP
的代理服务的原因。
关于jakarta-ee - WSO2 API 和代理有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52681195/
我想了解为什么一些 Jakarta EE 规范是空的。 例如 Jakarta Annotations规范由免责声明和快速描述(3 行)组成,但是有 Javadoc . 当 JCP 负责 J2EE 规范
我正在研究 OpenNTF 项目“XPages Jakarta EE Support”。 我正在尝试为 Person 对象上的 CRUD 操作设置 REST API。我设法创建 GET 和 POST
我正在研究 OpenNTF 项目“XPages Jakarta EE Support”。 我正在尝试为 Person 对象上的 CRUD 操作设置 REST API。我设法创建 GET 和 POST
我正在采用 Jakarta EE 9 并使用 EJB 和 WEB 模块开发一个 EE 应用程序。 EJB 已经完成并部署在 Glassfish 6(Jakarta EE 9 的 RI 实现)上。现在,
OpenLiberty(v20.0.0.2-beta 或其他版本)中是否有办法将 jakarta ee 9(通过 webProfile-9.0 或 jakartaee-9.0 或任何仅 jakarta
在使用Spring Boot 3.0.7并试图保持更新时,我遇到了这个错误,不知道它是什么意思。。加载的依赖项是Spring Security 6.0.9,问题存在于使用Java 17或19的情况下(
有没有办法在 JPA 实体监听器中检查当前事务是否已提交,如下所示? @ApplicationScoped public class EntityListener { @Inject
以下代码使用 javamail api 通过 gmail smtp 服务器发送邮件和附件。 public void doSendGmail(){ from = txtFrom.getT
大家好我有一个应用程序(spring+hibernate)需要同时发送数千封电子邮件我被告知这里最好的解决方案是有一个邮件服务器我不知道从哪里开始,或者是否有更好的框架或服务所以请大家给我一些信息,从
我正在尝试从 Java 邮件的文件夹中删除/删除消息(在我将其复制到另一个文件夹之后),这是我的代码: Flags deleted = new Flags("DELETED"); folder.se
某些页面可以接收称为“P1”的特定请求参数: page.do?P1=value1 现在,一个scriptlet正在测试request参数的存在,如果P1为“value1”,则会在页面上呈现一些信息。
我有一段非常类似于此http://java.sun.com/developer/onlineTraining/JavaMail/contents.html#JavaMailFetching的代码 我的
我在NetBeans中创建了一个Java Web应用程序项目,并在其中创建了一个启动bean: package malibu.util; import javax.annotation.PostCon
我有两个不同的项目:A 和 B。 B 包含一个拦截器,我想在项目 A 以及将来的项目 C 和 D 中使用它。 我在两个项目中都使用 jboss-javaee-6.0 版本 3.0.3.Final(这意
我一直在阅读 “Java 事务” ,我一直困惑它是什么?什么是有用的? 最佳答案 你可以谷歌搜索并找到这样的页面:http://www.java-tips.org/java-ee-tips/enter
这个问题在这里已经有了答案: What exactly is Java EE? (5 个回答) Difference between an application server and a servl
Web 应用程序的用户界面通常包含用于执行 CRUD 操作的各种按钮。在执行以下操作时,按钮标签的建议命名约定是什么? 用户创建(添加用户...或添加用户或添加用户) 事件创建(添加事件...或添加事
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我对java网页环境很陌生。最近尝试用Java开发一个电子商务平台。 因此,我使用 j_security_check 基于表单作为我的身份验证工具。身份验证完成后,成功重定向到所需页面。 但是,由于我
什么时候 我通过无状态服务从数据库中获取实体, 然后在另一个 bean 和 中修改它 然后想通过无状态服务将其保存到数据库中, 我注意到实体已分离。我认为因为无状态服务的持久化上下文,实体从被夺取到存
我是一名优秀的程序员,十分优秀!