1

使用できる WSO2 API Manager の API はありますか? 言うように、API のリストなどを取得します。このための SOAP API があると聞きましたが、それについては何も見つかりません。誰かが情報を持っていることを願っています。この XML ファイル (以下にリスト) を見つけましたが、これは必要なものかもしれないし、そうでないかもしれませんが、SOAP に関しては完全に初心者であり、必要なものを知りません。ファイルの内容はこちら。これは WSDL ファイルのようなものですか?

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

1 に答える 1

2

はい、REST の方法で API Manager 関連の機能を使用するために使用できるJaggeryで構築された JavaScript API レイヤーがあります。

現在、それらは次の場所にある 2 つのジャガリー アプリケーション [store/publisher] 内にあります。そこに移動すると、API マネージャー関連の機能が分類された用語に従って、「blocks」ディレクトリ内にいくつかのサブディレクトリがあることがわかります。 [例:item-add,listing,search,etc].必要なカテゴリを開くと、AJAX 方式でリクエストを渡しているため、'ajax' というサブ フォルダが作成されます。 REST 方式で使用できる API メソッド。

まだ、この API レイヤーを Web アプリケーション フローから分離して、ユーザーが API を簡単に見つけて使用できるようにしていませんが、近い将来、この API レイヤーをアプリに分離して追加する予定です。

現時点では、上記の場所に移動して、使用する関連 API メソッドを見つけるだけです。たとえば、api-publisher で addAPI メソッドを使用したい場合、「 'item-add' ディレクトリの ajax' サブディレクトリ .'add.jag'というファイルがあるのがわかります。それを開いて、アクション[例:addAPI] とリクエスト パラメータ[例:APIName,version,etc] アクションを処理するために渡す必要があります。次に、REST クライアントを使用して API 関数に http 要求を送信します。[例:CURL]。たとえば、ここで http 要求は次のようになります。

" http://ip:port/publisher/site/blocks/item-add/ajax/add.jag -d "action=addAPI&name=API1&version=1.0.0&description=API&endpoint= 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/ "Template-"

ダウンロードしたパックの以下の場所から、この JavaScript レイヤーに基づいて作成された 3 つのサンプル [TwitterSearch、YahooPlaceFinder、YoutubeFinds] を見つけることができます。{API Manager HOME}/samples

上記の場所内の上記の 3 つのサンプルにそれぞれ移動し、APIPopulator.sh スクリプトを見て、API Manager 関連の jaggery API がそれらからどのように消費されたかをよりよく理解してください。

上記に加えて、バックエンドの主要な機能の WSO2 API Manager 実装については、Web サービスの呼び出しではなく、ここから見つけることができる Java API を使用しました。その API を使用してカスタム実装を行うことができます。ここからこの Java API の java[back-end] 実装。

于 2012-09-15T07:56:04.707 に答える