问题标签 [synapse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2637 浏览

wso2 - 将属性从 inSequence 传递到 outSequence

我正在向 HL7 TCP/IP 端口发送带有代理的消息,并在 outSequence 中获得响应。但我的问题是 inSequence 中设置的所有属性都不再可用。它们都是空的。我测试了所有不同的范围(传输、轴 2、轴 2 客户端),但它们都不起作用。

我在这篇文章中看到它应该是可能的。HL7 发件人是否破坏了属性? 如何在 outSequence 中使用我的 inSequence 属性?

我的代理示例(从 ActiveMQ JMS 获取消息并发送到 HL7 端口 4000):


我正在使用 WSO2 ESB 4.0.3 并安装了 HL7 功能。作为接收者,我使用 7edit 应用程序。

0 投票
2 回答
943 浏览

exception-handling - WSO2 ESB 捕获传输异常 (MessageBuilder)

当我使用 WSO2 ESB 代理读取消息时,我需要定义一个特定的数据类型,然后应用某个 MessageBuilder(在axis2.xml 中定义)。

但是当 MessageBuilder 失败时(即我尝试使用 XMLBuilder 读取文本文件)我在控制台中得到一个异常,但我的“faultSequence”没有被调用。但是如果出现任何读取问题,我需要进行一定的错误处理。

如何从代理中的传输层 (MessageBuilder) 捕获异常?

0 投票
1 回答
466 浏览

wso2 - WSO2 Esb 任务启动和停止事件

我目前正在 wso2 esb 中实现一个自定义任务,它检查服务器上的一些进程并在进程未启动时启动它们。但是,如果服务器上的 wso2 carbon 实例停止,我也需要停止这些进程。Apache synapse 任务接口只有执行方法。apache synapse 或 wso2 carbon 中是否有提供启动和停止等方法的接口,或者是否可以将突触调度程序任务转换为 osgi 包?

谢谢

0 投票
1 回答
280 浏览

xml - WSO2 esb 对复杂服务的建议 - 验证当前方法

任何人都可以验证这种方法吗?我对 ESB 很陌生,所以在我看来,最好的方法似乎是一个非常复杂的流程。我正在使用 WSO2 ESB(Apache Synapse)。

用例:

  1. 用简单的两列读入 cvs 文件。
  2. 对于每一行,取其中一个值并传递给查找服务 (ldap) 以检索更多数据
  3. 从检索到的数据中获取一个值(对于每一行)并查找到另一个 Web 服务
  4. 将所有行合并为一条消息,然后将生成的消息提交到外部 Web 服务

到目前为止的想法是 1) 使用 vfs 和 smooks 来解析 csv。这似乎很简单,我已经到了可以在迭代调解器中创建单独的 xml 消息来处理每一行的地步。然后对于 2) 将每一行传递给自定义调解器以进行 ldap 查找。对于 3) 获取该结果并使用其中一个元素传递给调出调解器,该调停器获取返回值(基本上是进行枚举查找)然后 4) 不知道还没有那么远。

到目前为止,3 的解决方案看起来非常复杂。Callout 调解器期待一条消息,该消息是完整的 Web 服务消息,它与 xml 行的外观完全不同。我可以使用 xslt 将其转换为 web 服务的正确输入,但结果是完整的 ws 响应 - 我可以使用属性中介获得我感兴趣的值,但不知道如何将其插入回消息中。

总而言之,这似乎不太适合 esb,但直觉上似乎是我应该这样做的方式。我当然可以只用 Java 写这一切,但很多位似乎都在 esb 中。

那么,有什么建议吗?真的很高兴继续研究细节,但如果它是错误的,那就不是了。

谢谢康拉德

0 投票
1 回答
905 浏览

wso2 - WSO2 ESB SOAP 1.2 子代码错误

我有一个代理服务 stup 来对模式执行验证,如果验证失败则抛出错误。

这工作正常,请求按预期得到验证。

问题是:是否可以将子代码添加到 SOAP 1.2 错误中以获得类似于以下内容的内容:

先感谢您。弗拉基米尔。

0 投票
2 回答
1638 浏览

comparison - WSO2 ESB 中介序列与代理服务

WSO2 ESB 具有用于实现 EAI 模式的中介序列和代理服务。我目前是新手,无法区分何时使用中介序列或代理服务。两者似乎在大多数用例中都运行良好。我应该什么时候使用每个?

0 投票
3 回答
5829 浏览

rest - WSO2 Synapse:设置 URL 参数

我正在尝试做一些看似简单但无法正常工作的事情。基本上我希望 WSO2 API 管理器将 URL 参数添加到 REST 调用。

设置和问题

我安装了 WSO2 API 管理器。我还有一个运行着一个名为someservlet的虚假 servlet 的 Tomcat ,它只记录它接收到的任何内容并返回 ok。我已将 servlet 作为 API 添加到管理器中,因此我可以直接调用 servlet 或通过 WSO2 API mgr。

我可以跑

并且 servlet 工作正常,它告诉我它已收到路径/toto和参数blobsecret

我可以跑

它的作用完全相同。到现在为止还挺好。

我想要的是运行:

(请注意,我已经删除了秘密参数)

...并且仍然得到相同的结果。

所以基本上我希望 API 管理器添加 URL 参数secret=pass

我尝试的第一件事:财产调解员

使用带有属性 REST_URL_POSTFIX的 Synapse XML 配置。

我编辑了 API 配置文件,并添加了

现在如果我跑

就好像我运行了someservlet/1.0/blob?toto=titi:我所有的路径和参数都消失了,并被配置的路径和参数所取代。嘿,这就是它应该工作的方式,不是吗!

问题:

  1. 这不会向 URL 添加任何内容,它会设置 URL 后缀,这意味着现有参数会消失(在上面的示例中,blab=blib
  2. 它必须以“/”开头才能成为有效值,所以我不能只添加&secret=pass(当然,因为问题 1,这无论如何都没用)

所以基本上这不能让我附加最后的&secret=pass

我尝试的第二件事:重写 URL 中介

我找到了这个中介,虽然它可能无法解决问题,但它是一个很好的线索:我可以用secret=foo调用,然后让中介用secret=pass替换它。

我把它放在配置文件中:

这行不通。起初我以为我没有正确的动作参数。但错误信息是:

畸形?异常堆栈跟踪中有更多详细信息:

所以发生的事情是中介(记录或重写)收到一条消息,其“To:”字段指向一个没有协议的 URL!

当然,我一直在谷歌搜索,在某些情况下,我发现其他人有logMediator: To: /blabla,而其他(大多数)情况下他们有logMediator: To: http://blabla。我真的不明白是什么导致了这种差异。:-(

所以这就是我卡住的地方!:-(

可以尝试的选项

我知道可能有一个应该有效的大锤解决方案:

  1. 使用属性存储完整路径和所有参数
  2. 实现我自己的中介器(例如在 Java 中)来修改这些参数
  3. 使用属性 REST_URL_POSTFIX将修改后的后缀放在调用上

但是我觉得这个问题应该有一个更简单的解决方案。

我有一种希望,有人会给我指出一个我没有找到的简单资源(中介、样本、语法错误等),而这正是我想要的。乐观... :-)

谢谢阅读。有任何想法吗?

0 投票
1 回答
231 浏览

xpath - 带有 XPath 扩展的 WSO2 Developer Studio

我们在 WSO2 ESB 4.5.1 中使用额外的 XPath 变量扩展了 Apache Synapse。在 synapse.properties 中,我们指向新的 XPath 类:synapse.xpath.var.extensions=com.avintis.esb.xpath.CountXpathVariableResolver,com.avintis.esb.xpath.UUIDXpathVariableResolver

从 wso2server.bat 开始, 一切正常,上述扩展正常工作。

但是从 eclipse 的 Developer Studio开始,服务器可以正常启动并且可以正常工作,但是我们的XPath 扩展无法识别并且无法正常工作

我刚刚看到服务器启动参数确实包含我们的库和类,以及正确的 synapse.properties 和声明。那么从eclipse开始这里可能有什么问题?

环境:WSO2-ESB 4.5.1,Developer Studio 2.1.0

0 投票
0 回答
896 浏览

apache - WSO2 API 管理器 Synapse-HttpComponents-NIO 在 curl 获得 200 时获得 404

我正在使用已发布的 API 调用位于 API 管理器同一主机上的 PHP API。客户端应用程序是 SoapUI 或 curl。

我发出调用,它被传递到返回的 httpd 服务器:

显然,第一个是对 WSO2 使用自己的发布 URL 发布的最终 API 的调用,因此结果调用由 Synapse-HttpComponents-NIO 进行:curl call API-Manager 并使用 Synapse-HttpComponents-NIO 调用 PHP API。
第二个是直接从 curl 发出到 PHP API 的相同调用。
日志来自 HTTPD。

很明显,httpd 收到了调用,我无法理解为什么 Synapse-HttpComponents-NIO 客户端得到 404 而 curl 得到正确的结果。
谢谢卢卡
_

0 投票
1 回答
192 浏览

apache - 是否可以在没有 Axis2 的情况下使用 Synapse 进行 ReST 和 SOAP 调用,可能使用 CXF 和/或 Jersey?

我的任务是想出一种在没有 Axis2 的情况下使用 Synapse ESB 的方法,主要是对 Web 服务进行 ReST 和 SOAP 调用。

例如,是否有 CXF 支持?

我进行了很多搜索,但找不到一个不使用 Axis2 来进行 ReSTful 调用的体面示例。如果我能找到一种使用 CXF 或 Jersey 的方法,那就太好了。

有人知道吗?请帮忙..