Rest API's and SOAP operations for an API-PROXY

Not applicable

How to get the available rest api's for specific api-proxy?

I followed this: http://{{Management-Server}}:8080/v1/o/{{organizatation}}/apis

then

http://{{mangament-server}}:8080/v1/o/{{organizati...

The json response has connection.basePath property (the REST API)

Now how to get the associated APIs (SOAP or REST) ? is the flows property ?

0 4 429
4 REPLIES 4

sarthak
Participant V

@Sawsan Abusharkh can you please elaborate what you mean by associated APIs ?

Have you seen the documentation mentioned here: http://apigee.com/docs/api/apis-0 about all the APIs in the API proxy ?

FYI - there are no SOAP APIs exposed by EDGE , only Rest APIs.

Not applicable

@sarthak thank you very much for answering I know that the edge exposes only REST API's,

but , when a REST API is called, another soap APIs at the backend can be called (by certain predefined map), right?

sarthak
Participant V

The examples you have mentioned above @Sawsan Abusharkh are of management APIs. When you make a management API call you cannot directly invoke a SOAP call at the backend. The management API calls are processed by different types of servers (called management servers) rather than by the servers which processes the runtime API calls (called Message Processors). So by default you do not have much control on what should happen when the mgmt API is called.

If you need to invoke a SOAP service on calling a mgmt API then I suggest you to do the following :

1. Proxy the Management API calls via EDGE. So you will have a proxy defined only for management APIs.

2. Inside that proxy you will have a business logic which makes a service callout when a specific management API call is invoked.

3. You can have multiple flows inside the proxy each defining one management API. And you can write a js policy or a service callout policy on that flow to invoke a backend SOAP service call.

Not applicable

@sarthak actually my purpose is not calling directly the soap operation on the management server, I am doing some analytics and monitoirng based on exposed analytics APIs to do some correlation between the Rest API and the corresponding soap operations (backend) of our system as I said to get these information:

1. List all the api proxies http://{{Management-Server}}:8080/v1/o/{{organizatation}}/apis

2. Inside that proxy you will have a business logic which makes a service callout when a specific management API call is invoked.

Exactly that's what I am talking about, that for each api-proxy there are rules (services) will be executed when this API will be called called.

To get the details of an API-Proxy (REST resources + mapped backend services)

  • Rest resource exposed by the edge:

http://{{mangament-server}}:8080/v1/o/{{organization}}/apis/{{api_name}}/revisions/{{revision_name}}/proxies/{{default_proxy}}

get the connection.basePath property

3. You can have multiple flows inside the proxy each defining one management API. And you can write a js policy or a service callout policy on that flow to invoke a backend SOAP service call.

  • to get the list of flows of apiproxy:

http://{{mangament-server}}:8080/v1/o/{{organization}}/apis/{{api_name}}/revisions/{{revision_name}}/proxies/{{default_proxy}}/flows