标签: esb

Apache ServiceMix是否可能成为解决方案?它足够快吗?

我正在开发一个应用程序,它将以异步方式向多个服务提供商发送请求,整理响应并将结果显示给用户.

我打算创建一个用于处理每个服务提供者的组件.组件将松散耦合,因此添加或删除服务提供商应该非常容易.

在此输入图像描述

组件会

  1. 处理从Web Layer接收的请求并处理它以Servie Provider所需的格式进行翻译.
  2. 将请求发送给服务提供商
  3. 处理从服务提供商收到的响应,将其转换为我们的应用程序所需的格式.

我们可以在这里使用Apache Service Mix吗?它是否足够快以在不到5秒的时间内处理请求 - 响应周期(假设服务提供商在不到一秒的时间内发送响应).

要么

我们可以使用任何其他ESB并且ESB足够快以满足我们的要求吗?

提前致谢.

Shardul.

esb apache-camel mule apache-servicemix

1
推荐指数
1
解决办法
1640
查看次数

Mule ESB代理Web服务

目前,我们正在尝试使用Mule ESB构建代理,该代理提供内部Web服务,然后使用内部Web服务的提供参数转到外部soap服务.一旦我得到了,我将改变肥皂含量和布局.然后第三步结果必须由Mule计算.

但在我们到达第2步和第3步之前,先让代理开始.目前我正在查看http://www.mulesoft.org/documentation/display/MULE3USER/Proxying+Web+Services 但是提供的WSProxyService不起作用.代码似乎适用于Mule 2.2.我尝试重新创建它,看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:spring="http://www.springframework.org/schema/beans"
    xmlns:http="http://www.mulesoft.org/schema/mule/http"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.2/mule.xsd
    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/3.2/mule-http.xsd">

    <spring:bean name="WSProxyService" class="org.mule.module.cxf.WSProxyService">
        <spring:property name="wsdlFile" value="resources/tisclientws.wsdl"/>
    </spring:bean>

  <flow name="HttpProxyService">
      <http:inbound-endpoint address="http://localhost:8090/tis/proxy" exchange-pattern="request-response"/>
      <component>
        <spring-object bean="WSProxyService" />
      </component>
      <http:outbound-endpoint address="ADDRESSHERE/tisclientws.asmx" exchange-pattern="request-response"/>
  </flow>
</mule>
Run Code Online (Sandbox Code Playgroud)

然而,这给出了错误

Exception stack is:
1. Service not set, this service has not been initialized properly. (org.mule.api.lifecycle.InitialisationException)
  org.mule.module.cxf.WSProxyService:254 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/lifecycle/InitialisationException.html)
Run Code Online (Sandbox Code Playgroud)

谁能帮我?我没有运气就尝试了各种各样的事情

最后但同样重要的是,我还查看了http://www.mulesoft.org/documentation/display/MULE3USER/Consuming+Web+Services+with+CXF,但问题是提供的内部服务有多个参数而没有内部WSDL .


感谢您的回复,它帮助了很多.经过一些反复试验,我得到了......有点......

目前,代理为我提供了一个本地WSDL(按预期工作).但仔细观察后,WSDL的SOAP 1.2部分保持不变,仍然指向原始位置.更糟糕的是,调用SOAP 1.1部分时会出错(原始版本工作正常).

所以我正朝着正确的方向前进.现在只是解决这些问题.

除此之外,也许有人可以指出我正确的方向.假设我想从外部服务获取输出,只计算所有小时数,然后以XML格式将其返回到本地服务.这属于自定义变压器类别吗?

我使用了以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" …
Run Code Online (Sandbox Code Playgroud)

esb mule

1
推荐指数
1
解决办法
4453
查看次数

1
推荐指数
1
解决办法
2690
查看次数

WSO2 ESB - 转换 HTTP 202 接受的响应

下面的 Endpoint_BPS_CreateCaseService/UpdateCaseService 端点都指向在 WSO2 BPS 上运行的单向 BPEL 服务。WSO2 BPS 在被调用时立即返回 HTTP 202 接受消息。

如果我使用的客户端应用程序没有获得有效的 SOAP 信封作为响应,它就会抛出一个错误,因此我将使用 ESB 中的代理服务来包装 BPEL 流程。

如何使用 WSO2 ESB 代理服务将 SOAP 信封转发到下面的 Endpoint_BPS_*,然后将 SOAP 信封响应返回给我的客户端应用程序?

如果端点不可用或超时,我还想执行 faultSequence "ProcessFault"。我以前使用 OUT_ONLY 来解决上面的响应问题,但这意味着我无法检测端点问题。除非有可能以某种方式同时进行?

我尝试过的另一件事是克隆消息,但这有点混乱。

非常感谢任何帮助

<proxy xmlns="http://ws.apache.org/ns/synapse" name="BPSProxyService" transports="https,http" statistics="disable" trace="enable" startOnLoad="true">
   <target faultSequence="ProcessFault">
      <inSequence>
         <log level="full">
            <property name="MESSAGE" value="BEGIN BPSProxyService" />
         </log>
         <switch source="//*[local-name()='Operation']">
            <case regex="create">
               <send>
                  <endpoint key="Endpoint_BPS_CreateCaseService" />
               </send>
            </case>
            <case regex="update">
               <send>
                  <endpoint key="Endpoint_BPS_UpdateCaseService" />
               </send>
            </case>
         </switch>
      </inSequence>
      <outSequence>
         <property name="HTTP_SC" value="200" scope="axis2" /> …
Run Code Online (Sandbox Code Playgroud)

esb wso2 wso2esb

1
推荐指数
1
解决办法
4465
查看次数

尝试使用twitter连接器时java.lang.NoClassDefFoundError:org/mule/api/ConnectionException

当我尝试在我的mule app中使用twitter连接器时,我遇到以下错误.

我已经在我的依赖项中(并在我耳中)拥有mule-core.实际上,我的依赖看起来很好..

    <dependency>
        <groupId>org.mule</groupId>
        <artifactId>mule-core</artifactId>
        <version>3.4.0</version>
        <type>jar</type>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-twitter</artifactId>
        <version>LATEST</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

等..等..

这是堆栈:

 Caused by: java.lang.NoClassDefFoundError: org/mule/api/ConnectionException
13:44:06,985 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.connectivity.TwitterConnectorConnectionFactory.makeObject(TwitterConnectorConnectionFactory.java:37)
13:44:06,985 ERROR [stderr] ([].BATCH.stage1.02)    at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220)
13:44:06,985 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.connectivity.TwitterConnectorConnectionManager.acquireConnection(TwitterConnectorConnectionManager.java:315)
13:44:06,986 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.connectivity.TwitterConnectorConnectionManager.acquireConnection(TwitterConnectorConnectionManager.java:34)
13:44:06,986 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.process.ManagedConnectionProcessInterceptor.execute(ManagedConnectionProcessInterceptor.java:60)
13:44:06,986 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.process.ManagedConnectionProcessInterceptor.execute(ManagedConnectionProcessInterceptor.java:21)
13:44:06,987 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.process.RetryProcessInterceptor.execute(RetryProcessInterceptor.java:69)
13:44:06,987 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.connectivity.ManagedConnectionProcessTemplate.execute(ManagedConnectionProcessTemplate.java:35)
13:44:06,987 ERROR [stderr] ([].BATCH.stage1.02)    at org.mule.twitter.processors.UpdateStatusMessageProcessor.process(UpdateStatusMessageProcessor.java:150)
13:44:06,988 ERROR [stderr] ([].BATCH.stage1.02)    at …
Run Code Online (Sandbox Code Playgroud)

java twitter esb mule

1
推荐指数
1
解决办法
2227
查看次数

WSO2 ESB代理服务错误(传输错误:411错误:需要长度)

我在wso2 esb中有一个http代理服务,当我尝试这项服务时,我有一个错误如下:

<TryitProxyError xmlns:h="http://wso2.org/ns/TryitProxy" h:status="SOAP envelope     error">org.apache.axis2.AxisFault: Transport error: 411 Error: Length      Required</TryitProxyError>
Run Code Online (Sandbox Code Playgroud)

但是当在soapUI中尝试这个服务回复时...

esb wso2 wso2esb

1
推荐指数
1
解决办法
3046
查看次数

BizTalk 2013在源文件完成之前启动消息处理?

我们有一个庞大而复杂的文件需要很长时间才能反汇编(比方说,一小时).如果我们可以在消息离开接收管道时分离消息并在文件完成之前立即开始他们的行程,那将是很好的.我可以说这不容易,但它有可能吗?

sql-server biztalk esb biztalk-2013

1
推荐指数
1
解决办法
208
查看次数

如何在Mule Studio中为Java组件提供属性Bean?

在Mule Studio 3.5中,直接在XML和Flow中,我有以下声明:

<component class="fr.esb.bo.GenerateReportFileComponent" doc:name="BOreport">           
            <spring:property name="boServices" ref="boServices"/>
</component>
Run Code Online (Sandbox Code Playgroud)

当我用这个启动Mule时,我收到以下错误

org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'spring:property'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":abstract-interceptor, "http://www.mulesoft.org/schema/mule/core":interceptor-stack, "http://www.mulesoft.org/schema/mule/core":abstract-entry-point-resolver-set, "http://www.mulesoft.org/schema/mule/core":abstract-entry-point-resolver, "http://www.mulesoft.org/schema/mule/core":abstract-object-factory, "http://www.mulesoft.org/schema/mule/core":abstract-lifecycle-adapter-factory, "http://www.mulesoft.org/schema/mule/core":binding}' is expected.
Run Code Online (Sandbox Code Playgroud)

我明白了,但是如何将我的boServices bean提供给我的组件?使用定制变压器,这很好用.

java spring components esb mule

1
推荐指数
1
解决办法
1816
查看次数

数据集成软件和 ESB 有什么区别?

我一直在从事一个项目,该项目从各种第三方数据源收集数据并将数据挖掘到我们的数据存储 (DI) 中。为此,我们一直在使用 Pentaho。

我想知道这是否也可以用 ESB(骆驼或骡子)来完成?ESB 带来了哪些 DI 没有提供的其他特性?

我已经阅读了很多关于 ESB 和 DI 的文章,但没有一篇能够解决这个查询。我还阅读了有关第三方数据源的 mule 数据连接器的信息。

dependency-injection esb pentaho apache-camel mule

1
推荐指数
1
解决办法
712
查看次数

你什么时候会使用企业服务总线和像 Apache Camel 这样的集成框架?

我试图通过阅读这篇文章来解决何时使用 Apache Camel 是合适的还是不合适的 - https://dzone.com/articles/when-use-apache-camel。文章中提到,在服务数量较少的情况下,使用Camel这样的集成框架可能会有些矫枉过正,这是有道理的。但是我被这句话搞糊涂了

尽管 FuseSource 提供商业支持,但我不会将 Apache Camel 用于非常大的集成项目。在大多数情况下,ESB 是完成这项工作的正确工具。它提供了许多附加功能,例如 BPM 或 BAM。当然,您也可以使用多个单一的框架或产品并“创建”您自己的 ESB,但这是浪费时间和金钱(在我看来)。

这是因为集成框架缺少 ESB 提供的组件吗?如果有,那些是什么?

esb apache-camel fuseesb

1
推荐指数
1
解决办法
371
查看次数