2012-09-15 7 views
1

Есть ли API для API-интерфейса WSO2, который я могу использовать? Как говорится, получите список API или что-то еще. Я слышал, что для этого есть SOAP API, но я ничего не могу найти об этом. Я надеюсь, что у кого-то есть информация. Я нашел этот XML-файл (указанный ниже), который может быть или не быть тем, что мне нужно, но я полный noob, когда речь заходит о SOAP, и не знаю, что мне нужно. Вот содержимое файла. Это будет выглядеть файл WSDL?API для диспетчера API WSO2

<?xml version="1.0" encoding="UTF-8"?><serviceGroup name="API" successfullyAdded="true"> 
    <service name="API" exposedAllTransports="true" serviceDeployedTime="1347567758279" successfullyAdded="true"> 
     <operation name="getAPI"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/list</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <operation name="updateAPI"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/add</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <operation name="getAPIDependencies"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/list</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <operation name="addAPI"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/add</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <operation name="getAPIArtifactIDs"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/list</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <operation name="deleteAPI"> 
      <parameter name="AuthorizationAction">/permission/admin/manage/resources/govern/apis/add</parameter> 
      <module name="addressing" version="4.0" type="engagedModules"/> 
      <module name="relay" version="4.0" type="engagedModules"/> 
     </operation> 
     <bindings> 
      <binding name="APISoap12Binding"> 
       <operation name="getAPI"/> 
       <operation name="updateAPI"/> 
       <operation name="getAPIDependencies"/> 
       <operation name="addAPI"/> 
       <operation name="deleteAPI"/> 
       <operation name="getAPIArtifactIDs"/> 
      </binding> 
      <binding name="APIHttpBinding"> 
       <operation name="getAPI"/> 
       <operation name="updateAPI"/> 
       <operation name="getAPIDependencies"/> 
       <operation name="addAPI"/> 
       <operation name="deleteAPI"/> 
       <operation name="getAPIArtifactIDs"/> 
      </binding> 
      <binding name="APISoap11Binding"> 
       <operation name="getAPI"/> 
       <operation name="updateAPI"/> 
       <operation name="getAPIDependencies"/> 
       <operation name="addAPI"/> 
       <operation name="deleteAPI"/> 
       <operation name="getAPIArtifactIDs"/> 
      </binding> 
     </bindings> 
     <policies/> 
     <module name="addressing" version="4.0" type="engagedModules"/> 
     <module name="relay" version="4.0" type="engagedModules"/> 
     <parameter name="enableMTOM">true</parameter> 
     <parameter name="adminService">true</parameter> 
     <parameter name="AuthorizationAction">/permission/admin/login</parameter> 
     <parameter name="hiddenService">true</parameter> 
    </service> 
</serviceGroup> 

ответ

2

Да, есть JavaScript API слой построен с Jaggery, который может быть использован для потребления API диспетчера функций, связанных с таким образом REST.

В настоящее время вы можете найти их в двух приложениях jaggery [store/publisher] со следующими location. Перейдите к нему, и вы заметите, что в каталоге «blocks» имеется несколько подкаталогов в соответствии с условиями, которые api связанные с менеджером функции catogorized [например: item-add, listing, search и т. д.]. Откройте повторно отозванный catogory и появится подпапка под названием «ajax», так как мы передаем запросы по AJAX. Помимо этого вы можете найти файл jag который содержит соответствующие API-методы, которые можно использовать в режиме REST.

Однако мы не отделяем этот уровень API от потока веб-приложений, чтобы пользователь мог легко находить и использовать API, но мы планируем добавить этот API-интерфейс отдельно в приложения в ближайшем будущем.

На данный момент, что вы можете сделать, просто перейдите в указанное выше место и найдите соответствующий метод API для потребления. Скажите, например, если вы хотите использовать метод addAPI в api-издателе, что вы можете сделать перейдите в подкаталог 'ajax' каталога'item-add 'в location. Вы увидите, что есть файл под названием' add.jag'.Откройте его и определите, что это за действие [например: addAPI] и что такое параметры запроса [например: APIName, версия и т. д.] вам необходимо передать процесс обработки. Затем отправьте HTTP-запрос на функцию API с помощью клиента REST. [например: CURL]. Например, здесь будет выполняться ваш запрос http путь.

"http://ip:port/publisher/site/blocks/item-add/ajax/add.jag -d "действие = addAPI & имя = API1 & версия = 1.0.0 & описание = API & конечная точка = http://search.twitter.com&wsdl=&tags=open,social&tier=Silver&thumbUrl=https://lh6.ggpht.com/RNc8dD2hXG_rWGzlj09ZwAe1sXVvLWkeYT3ePx7zePCy4ZVV2XMGIxAzup4cKM85NFtL=w124&context=/api2&tiersCollection=Gold&resourceCount=0&resourceMethod-0=POST&uriTemplate-0=/ *";"

Вы можете найти три образца [TwitterSearch, YahooPlaceFinder, YoutubeFinds], написанные на основе этого уровня JavaScript из нижележащего местоположения загруженного вами пакета. {API-менеджер HOME}/образцы

Перейдите к каждой из трех надстроек в указанном выше местоположении и посмотрите на скрипт APIPopulator.sh, чтобы лучше понять, как из них был использован API jaggery API Manager.

Добавление к выше, для реализации WSO2 API Manager его основных функциональных возможностей, мы не использовали вызовы веб-сервисов, а java API, которые можно найти в here. Вы можете использовать этот API для выполнения своих пользовательских реализаций. Вы можете найти нашу реализацию java [back-end] из этого java-интерфейса от here.

+0

Спасибо, что вам очень помогли – avoliva