2012-09-15 231 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