Динамическая конечная точка в WSO2 - PullRequest
0 голосов
/ 11 января 2012

У меня есть проблема. Во-первых, я создаю Службу, которая даст результату конкретную конечную точку. После того как я получу конкретную конечную точку, я хочу позвонить в эту службу. Но я не знаю, как это сделать. Я пробую шаблон Конечная точка, но все еще не может быть использован в Посреднике. Я видел документацию в: http://wso2.org/project/esb/java/4.0.0/docs/templates.html, и там говорилось, что «использование шаблона конечной точки является обобщенной формой конфигурации конечной точки, используемой в 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>

А вот код прокси:

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

когда я жестко запрограммировал его в прокси, он принимает код, но когда я оглядываюсь назад в режиме конструктора / исходного кода, он возвращается. Как я могу решить эту проблему?

Ответы [ 3 ]

1 голос
/ 21 января 2012

Я думаю, что вы ищете это.Вы можете установить параметр To с помощью медиатора заголовка

Вы также можете посмотреть эту ссылку

0 голосов
/ 10 апреля 2012

Кажется, что установка заголовка To работает только в том случае, если служба использует прослушиватель желаемого транспорта, а также отправителя. Поэтому, если вы пытаетесь создать динамическую конечную точку mailto в службе, которая прослушивает только http, она пытается перенаправить почту через транспорт http, и это не работает.

В качестве обходного пути я установил адрес конечной точки в адрес учетной записи электронной почты сервера (это также обеспечивает контрольный журнал отправленных писем) и установил свойство CC или BCC на транспортном уровне. например:

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

тогда

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

или

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

вы можете получить адрес электронной почты непосредственно в свойстве CC, но, выполнив это, вы сможете выполнить проверку свойства address.

0 голосов
/ 14 марта 2012

Когда вы делаете первый вызов службе, которая отправляет сведения о конечной точке, используйте посредник xslt / обогащение, чтобы выбрать сведения об этой конечной точке. Затем используйте посредник заголовка и установите значение «Кому» для этой конечной точки

...