Wednesday, December 16, 2015

#463 SOA CS --> API Manager Flavour

This is essentially a revamp of a previous post on API Manager,
albeit for the SOA CS environment.

You can read the original post here

I created an API Manager instance on SOA CS -

Here are the menu options -

Let's look at the Fusion Middleware Control -
Here we can create API Manager users.
I have covered this is a previous API Manager post, but to save you time,
here are the screenshots -

I create 2 users, curator, consumer -

Set the roles -

Above, the 2 api manager roles.
I assign my users to these.

I can now login to the API Manager Portal -

Url format: https://yourAPIManagerHost:7002/apimanager

The catalog is empty -

I create a simple credit card validation service and deploy it to a war file.

I then go to the weblogic console of API Manager and deploy the war.

Check out the WSDL


Now I go to the service bus console on API Manager -

Here I create a simple Service Bus process to call the web service and
validate a credit card.

I test the Proxy Service -

Next step is to publish the proxy, so that it will appear in the catalog -

Now I go back to the API Manager Portal -

Managed / Unmanaged

From the docs:

A managed API is an access-controlled API. Per-user metrics are also available for
managed APIs. In order to successfully invoke a managed API, a user will first need to
create an application and subscribe to a given managed API. The client must then invoke
the API providing the API Key for the call to be successful.

Unmanaged APis can be invoked without subscription and without passing an
entitlement key at runtime.

Here are the details from the console -

So how do I make this managed?
Simply go back to the SB console and set it.

The API Manager console is updated accordingly -

Now how does a consumer use this API?

Login to the portal as the consumer user -

Subscription is done via applications -

Now I just need to click on the icon on the right, to add the ValCC API.

Note the API Key: c77ab0d8-abc7-4d95-96fa-22fbba99077a

Embed this entitlement key as a http user header - X-API-KEY when invoking the API
X-API-KEY: c77ab0d8-abc7-4d95-96fa-22fbba99077a

The following test from SOAP-UI was done on another cloud instance, hence the different X-API-KEY value -

I get the following response, if I delete the header from the request -

No comments: