WSO2 EI - контекст API не распознан - PullRequest
0 голосов
/ 19 марта 2020

Я разрабатываю API в WSO2 EI 6.6 с контекстом API, который состоит из нескольких частей (/ context1 / context2 / ...). Я обнаружил, что он работает, только если у меня есть простой контекст, такой как / context1. В противном случае, когда я вызываю API, поведение выглядит так, как если бы не было совпадения с URL-адресом API.

Это правильно работает в ESB 4.9, и я обнаружил эту проблему при его создании в EI 6.6.

Здесь есть пример, который не работает с использованием этого URL http://host: порт / context1 / context2 / template

<api xmlns="http://ws.apache.org/ns/synapse" name="API1" context="/context1/context2">
   <resource methods="GET" uri-template="/template*">
      <inSequence>
        <send/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </resource>
</api>

И пример, который работает правильно, используя URL http://host: порт / context1 / template

<api xmlns="http://ws.apache.org/ns/synapse" name="API1" context="/context1">
   <resource methods="GET" uri-template="/template*">
      <inSequence>        
         <send/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </resource>
</api>

Любая помощь? Я правильно называю API? Это ошибка?

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Я попробовал приведенный ниже API, и он работал (http://localhost: 8280 / context1 / context2 / template2 ).

<api xmlns="http://ws.apache.org/ns/synapse" name="API1" context="/context1/context2">
   <resource methods="GET" uri-template="/template*">
      <inSequence>
         <loopback/>
      </inSequence>
      <outSequence>
         <payloadFactory media-type="json">
            <format>{"Hello" : "World"}</format>
            <args/>
         </payloadFactory>
         <send/>
      </outSequence>
   </resource>
</api>

Возможно, поведение посредника отправки изменилось. Можете ли вы подробнее рассказать о том, что вы пытаетесь сделать?

0 голосов
/ 20 марта 2020

Я нашел проблему. Я пытался использовать в контексте слово «одата», и это кажется зарезервированным словом в EI. Это имеет смысл, поскольку dss теперь находится внутри EI, и dss может генерировать открытые сервисы данных, и, вероятно, данные являются частью контекста для вызова этих дополнительных сервисов.

...