Making the same proxy available at multiple endpoints

Hello

As a stopgap while we move to a new REST API, we are migrating our existing SOAP APIs from a legacy system to Apigee. The aim is that the Apigee implementations behave identically to the legacy system, and that our clients only have to change the endpoints on their SOAP clients. This will mean we can retire our legacy system sooner, without having to force major changes on our clients. So far so good, it is all going according to plan.

One of the APIs that we wish to migrate is actually exposed at two endpoints:

http://ourlegacyapiserver.com/api/feature

http://ourlegacyapiserver.com/api/feature-async

The only difference in implementation is that the -async version performs an additional XSLT transformation (which enables an asynchronous feature) before passing the request to the back office. The idea is that the XSLT transformation is applied or not depending on the BasePath.

How can I make the same Apigee implementation available at the two BasePaths?

I have made the following attempts, but nothing has worked!

Two BasePath sections

<HTTPProxyConnection>
    <BasePath>/apigw/feature</BasePath>
    <BasePath>/apigw/feature-async</BasePath>
    <VirtualHost>our.backend.com</VirtualHost>
</HTTPProxyConnection>

A wildcard in BasePath

<HTTPProxyConnection>
    <BasePath>/apigw/feature*</BasePath>
    <VirtualHost>our.backend.com</VirtualHost>
</HTTPProxyConnection>

Two HttpProxyConnection declarations

<HTTPProxyConnection>
    <BasePath>/apigw/feature</BasePath>
    <VirtualHost>our.backend.com</VirtualHost>
</HTTPProxyConnection>
<HTTPProxyConnection>
    <BasePath>/apigw/feature-async</BasePath>
    <VirtualHost>our.backend.com</VirtualHost>
</HTTPProxyConnection>

But none of these has worked.

I have seen on the forum mention of adding a second ProxyEndpoint to the proxy, but that would mean maintaining two copies of a relatively complicated series of policies. I really want to avoid this. What can I do?

0 1 110
1 REPLY 1

Not applicable

To make same proxy available on multiple base paths you cannot create in one revision.

Either you create separate revision or separate proxy for that.

If you want wildcard then use something like

/apigw/*

apigw/*/xyz

* with a string as you tried will work as whole as a string not a part of string and a part of wildcard.