0

我在同一台机器上成功安装了 WSO2 EBS 和 WSO2 应用程序服务器,还解决了端口冲突问题。我在 wso2 门户中提到的应用服务器中安装了后端服务。我的问题是如何在 ebs 序列选项中创建 ebs 到 appserver 之间的序列,用于 ebs - appserver - ebs 之间的消息流。

注意:参考 http://wso2.com/library/articles/2011/01/wso2-esb-by-example-service-chaining

如果上述条件不可能,请说明如何在 ebs 与上述 URL 中提到的应用服务器之间建立消息流。

您能否尽快发送有关此问题的任何文件、视频、屏幕截图。

谢谢你。

4

3 回答 3

0

您可以根据需要在 ESB 中定义自己的序列。但是当您从客户端访问这些序列时,您需要在 ESB 中实现代理服务。该代理服务允许您调用该代理服务中的任意数量的序列。在您的情况下,您需要访问位于 WSO2 应用程序服务器中的后端服务。您可以从中介访问这些服务。有关示例列表,请参阅以下链接

http://docs.wso2.org/wiki/display/ESB460/Proxy+Service+Samples

于 2013-06-20T04:56:03.313 回答
0

在这个服务链场景中(在你提到的链接中),发生的事情是服务托管在应用程序服务器(AS)中。然后将服务的这个托管 URL 定义为 ESB 中的端点。因此,当 ESB 中的代理服务接收到请求时,会对消息执行中介,然后将其发送到发送中介中定义的端点。从该端点接收到的响应然后通过 ESB 到达消费者。

如果您正在研究如何实现服务链方案,本文档将提供更详细的信息。

http://wso2.com/library/articles/2012/11/enterprise-service-integration-wso2-esb

希望这可以帮助.....

于 2013-06-19T10:33:47.820 回答
0

在此示例中,我有一个代理服务,它接收来自客户端的传入消息。通过这个传入的消息,我从中提取了我需要的信息,在这种情况下,使用属性调解器的偏移量和限制,如您在这一行中看到的:

  <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="offset" expression="//p:listarPersonas/p:offset"/>

我在这个序列中使用日志中介,因为我需要查看存储在属性中的值来调试东西。

之后,我使用 payloadFactory 创建了一条新消息,因为我需要使用该格式将此消息发送到应用程序服务器。

   <payloadFactory>
      <format>
         <p:listar_persona_paginado xmlns:p="http://ws.wso2.org/dataservice">            
            <p:offset>$1</p:offset>            
            <p:limit>$2</p:limit>         
         </p:listar_persona_paginado>
      </format>
      <args>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:offset"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:limit"/>
      </args>
   </payloadFactory>

然后我使用发送中介将创建的消息发送到应用程序服务器中的端点:

   <send>
      <endpoint>
         <address uri="http://127.0.0.1:9765/services/buscarPersona"/>
      </endpoint>
   </send>

所有的部分在一起:

<sequence xmlns="http://ws.apache.org/ns/synapse">
   <log>
      <property name="SECUENCIA" value="ENTRADA DEL LISTADO DE PERSONAS"/>
      <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="offset" expression="//p:listarPersonas/p:offset"/>
      <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="limit" expression="//p:listarPersonas/p:limit"/>
   </log>
   <payloadFactory>
      <format>
         <p:listar_persona_paginado xmlns:p="http://ws.wso2.org/dataservice">            
            <p:offset>$1</p:offset>            
            <p:limit>$2</p:limit>         
         </p:listar_persona_paginado>
      </format>
      <args>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:offset"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:limit"/>
      </args>
   </payloadFactory>
   <send>
      <endpoint>
         <address uri="http://127.0.0.1:9765/services/buscarPersona"/>
      </endpoint>
   </send>
</sequence>
于 2013-06-19T18:02:24.037 回答