...
- Log in to APIM admin console (
https://<Server Host>:9443/carbon
) as admin and select Browse menu under Resources. The Registry opens. Go to
/_system/governance/apimgt/externalstores/external-api-stores.xml
resource resource and configure the<ExternalAPIStores>
element of each external API store that you need to publish APIs to. For example,Code Block language html/xml <ExternalAPIStores> <ExternalAPIStore id=”Store1” type="wso2"> <StoreURL>http://localhost:9763/store</StoreURL> <DisplayName>Store1</DisplayName> <Endpoint>http://localhost:9763/store</Endpoint> <Username>xxxx</Username> <Password>xxxx</Password> </ExternalAPIStore> </ExternalAPIStores>
Uncomment the
<ExternalAPIStores>
element in<AM_Home>/repository/conf/api-manager.xml
file of the API Publisher node, and configure an <ExternalAPIStores> element for each external API store that you need to publish APIs to. For example,Code Block language html/xml <ExternalAPIStores> <ExternalAPIStore id=”Store1” type="wso2"> <StoreURL>http://localhost:9763/store</StoreURL> <DisplayName>Store1</DisplayName> <Endpoint>http://localhost:9763/store</Endpoint> <Username>xxxx</Username> <Password>xxxx</Password> </ExternalAPIStore> </ExternalAPIStores>
Note the following in the configuration above:
Element/Attribute Description id
The external store identifier, which is a unique value. type
Type of the Store. APIM 1.5.0 release supports only WSO2-specific API Stores. Other types will be supported in future releases. <StoreURL>
URL of the API store of the current APIM deployment. This is the URL to the API in the original publisher's store. APIs that are published to external stores will be redirected to this URL. <DisplayName>
The name of the Store that is displayed in the publisher UI. <Endpoint>
URL of the API Store. <Username>
&<Password>
Credentials of a user who has permissions to create and publish APIs.
To secure the user credentials given above, add a secure vault configuration as follows:
For each external API Store, add a configuration similar to the one below in <AM_HOME>/repository/conf/security/cipher-tool.properties file.
Code Block ExternalAPIStores.ExternalAPIStore.Password_{store_id}=api-manager.xml//APIManager/ExternalAPIStores/ExternalAPIStore[@name='External_Store_id_defined_in_api-manager.xml']/Password,true
Add the following configuration to <AM_HOME>/repository/conf/security/cipher-text.properties file:
Code Block ExternalAPIStores.ExternalAPIStore.Password_{store_id}=[user_password]
Generate encrypted values for the passwords using the cipher tool.
Use the encrypted password in the configuration in step 1.
Start the API Manager and create an API.
Click on the newly created API to see a new tab called External API Stores added to the API Publisher console.
Note the following:- You can select multiple external API stores and click Save to publish your API to them.
- I f the API creator updates the API after publication to external stores, either the creator or a publisher can simply push those changes to the published stores by selecting the stores and clicking Save again.
- If the API creator deletes the API, each external store that it is published to will receive a request to delete the API.
Log in to an external user store that the API is published to and note the API advertised in its storefront. Click this API.
A link appears as View Publisher Store and it directs you to the original publisher’s store through which you can subscribe to the API.
...