Esb WSO2中的动态端点

Esb WSO2中的动态端点,esb,wso2,Esb,Wso2,我有一个问题,首先,我做了一个服务,它将为结果提供一个特定的端点。在获得特定端点后,我想调用该服务。但我不知道怎么做。我尝试使用模板端点,但仍然无法在Mediator中使用。我在中看到了文档,它说“使用端点模板是ESB中使用的端点配置的一种通用形式。与序列模板不同,端点模板总是使用“$”前缀值(即:-不是xpath表达式)进行参数化” 以下是我的模板代码: <template xmlns="http://ws.apache.org/ns/synapse" name="TemplateEnd

我有一个问题,首先,我做了一个服务,它将为结果提供一个特定的端点。在获得特定端点后,我想调用该服务。但我不知道怎么做。我尝试使用模板端点,但仍然无法在Mediator中使用。我在中看到了文档,它说“使用端点模板是ESB中使用的端点配置的一种通用形式。与序列模板不同,端点模板总是使用“$”前缀值(即:-不是xpath表达式)进行参数化”

以下是我的模板代码:

<template xmlns="http://ws.apache.org/ns/synapse" name="TemplateEndPoint">
   <endpoint name="$name">
      <address uri="$uri">
         <suspendOnFailure>
            <progressionFactor>1.0</progressionFactor>
         </suspendOnFailure>
         <markForSuspension>
            <retriesBeforeSuspension>0</retriesBeforeSuspension>
            <retryDelay>0</retryDelay>
         </markForSuspension>
      </address>
   </endpoint>
</template>

1
0
0
以下是代理的代码:

<send>
  <endpoint template="TemplateEndPoint">
    <parameter name="uri" value="http://localhost:8080/axis2/services/TaskService.TaskServiceHttpEndpoint/getTask" />
    <parameter name="name" value="Testing" />
  </endpoint>
</send>


当我在代理中硬编码时,它接受代码,但当我在设计/源代码视图中回顾时,它将返回到。我怎样才能解决这个问题?

我想你正在寻找这个。您可以使用header mediator将
设置为
参数


您还可以查看一下

当您第一次调用发送端点详细信息的服务时,使用xslt中介器/enrich中介器选择该端点详细信息。然后使用标头中介器并将“设置为”该端点的值

似乎只有当服务使用所需传输的侦听器和发送器时,才可以设置To报头。因此,如果您试图在仅侦听http的服务上执行动态mailto端点,它会尝试通过http传输路由mailto,但它不起作用

作为一种解决方法,我将端点地址设置为服务器电子邮件帐户的地址(这还提供了对发送电子邮件的审核跟踪),并在传输级别设置CC或BCC属性。e、 g:

<property name="mailAddress" expression="/xpath/to/email/address" scope="default"/>

然后



您可以直接在CC属性中获取电子邮件地址,但通过这种方式可以对address属性执行验证

<property name="CC" expression="get-property('mailAddress')" scope="transport" />
<property name="BCC" expression="get-property('mailAddress')" scope="transport" />