2012-09-15 310 views
1

是否有我可以使用的WSO2 API管理器的API?正如說,獲取API的列表或其他。我聽說有一個SOAP API,但我找不到任何有關它的信息。我希望有人得到一些信息。我發現這個XML文件(下面列出),可能或可能不是我所需要的,但當涉及到SOAP時,我是一個完全noob的人,並且不知道我需要什麼。這是文件內容。這是WSDL文件的樣子嗎?WSO2 API管理器的API

<?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

是的,有一個與Jaggery可用於消費的API管理相關的功能在REST方式建立一個JavaScript API層。

目前,你可以在兩個jaggery應用[商店/發行商]中找到它們,下面的location。瀏覽到它,你會注意到'blocks'目錄中有幾個子目錄,根據api經理相關功能catogorized [例如:項目添加,列表,搜索等]。打開reuired catogory,將有一個名爲'ajax'的子文件夾,因爲我們正在通過AJAX方式傳遞請求。在這裏你可以找到jag文件其中包含可以以REST方式使用的相關API方法。然而,我們並沒有將這個API層與Web應用程序流分開,以使用戶很容易找到並使用API​​,但我們計劃在不久的將來將這個API層單獨添加到應用程序中。

目前,你可以做的只是去上面提到的位置,並找到相關的API方法來消耗。例如,如果你想在api-publisher中使用addAPI方法,你可以做什麼導航到location中'item-add'目錄的'ajax'子目錄。您會看到有一個名爲'add.jag'的文件。打開它並確定什麼是動作[例如:addAPI],以及什麼是請求參數[例如:APIName,版本等],然後通過使用REST客戶端發送http請求到API函數。[例如: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=/ *「;」

您可以從下載的包的下面位置找到三個基於此JavaScript層的示例[TwitterSearch,YahooPlaceFinder,YoutubeFinds]。 {API Manager HOME}/samples

導航到上述三個示例中的上述位置,並查看APIPopulator.sh腳本,以更好地瞭解API Manager相關的jaggery API是如何從這些腳本中消耗的。

除此之外,對於WSO2 API Manager實現其後端主要功能,我們還沒有使用過web服務調用,但是可以從here找到一個java API。您可以使用該API來執行您的自定義實現。您可以從here的這個Java API中找到我們的java [back-end]實現。

+0

謝謝你幫了很多 – avoliva