Location: https://apim.docs.wso2.com/en/latest/api-gateway/federated-gateways/configure-custom-gateway-agent/
Problem
The guide walks through building the custom gateway agent (connector) OSGi bundle
and dropping it into repository/components/dropins/, but it never mentions that
the custom gateway type must also be added to the gateway_type allowlist in
deployment.toml. Without this step, the connector bundle loads and registers its
OSGi services correctly, but the custom gateway type is not recognized by API
Manager — it does not appear in the Admin Portal gateway-type dropdown, and no
environment of that type can be created.
Steps to reproduce
- Follow the guide end to end: build the agent bundle, copy it into
<APIM_HOME>/repository/components/dropins/, restart.
- Observe that the built JAR is correct — it contains the DS descriptor
(OSGI-INF/<name>.component.xml) and the Service-Component MANIFEST header,
so the GatewayAgentConfiguration service is registered.
- The new gateway type still does not show up in the Admin Portal / under
GET /api/am/admin/v4/settings → gatewayTypes.
Root cause
API Manager only surfaces gateway types that are listed in
[apim] gateway_type in deployment.toml. This step is required but absent from
the doc.
Suggested fix
Add an explicit step (before the restart) instructing users to allowlist their
custom type in <APIM_HOME>/repository/conf/deployment.toml, e.g.:
[apim]
gateway_type = "Regular,APK,AWS,Azure,Kong,Envoy,APIPlatform,<YourType>"
a note:
The type string is case-sensitive and must match exactly in all of these
places:
- the
gateway_type entry in deployment.toml
GatewayAgentConfiguration.getType()
GatewayDeployer.getType()
- the top-level key in
GatewayFeatureCatalog.json
e.g. registering "CUSTOM" in the code while the toml lists Custom silently
fails to register the type — the bundle is fine, but the strings don't match.
Environment
- WSO2 API Manager / API Platform 4.x
- Docs page:
configure-custom-gateway-agent (latest)
Location: https://apim.docs.wso2.com/en/latest/api-gateway/federated-gateways/configure-custom-gateway-agent/
Problem
The guide walks through building the custom gateway agent (connector) OSGi bundle
and dropping it into
repository/components/dropins/, but it never mentions thatthe custom gateway type must also be added to the
gateway_typeallowlist indeployment.toml. Without this step, the connector bundle loads and registers itsOSGi services correctly, but the custom gateway type is not recognized by API
Manager — it does not appear in the Admin Portal gateway-type dropdown, and no
environment of that type can be created.
Steps to reproduce
<APIM_HOME>/repository/components/dropins/, restart.(
OSGI-INF/<name>.component.xml) and theService-ComponentMANIFEST header,so the
GatewayAgentConfigurationservice is registered.GET /api/am/admin/v4/settings→gatewayTypes.Root cause
API Manager only surfaces gateway types that are listed in
[apim] gateway_typeindeployment.toml. This step is required but absent fromthe doc.
Suggested fix
Add an explicit step (before the restart) instructing users to allowlist their
custom type in
<APIM_HOME>/repository/conf/deployment.toml, e.g.:a note:
The type string is case-sensitive and must match exactly in all of these
places:
gateway_typeentry indeployment.tomlGatewayAgentConfiguration.getType()GatewayDeployer.getType()GatewayFeatureCatalog.jsone.g. registering
"CUSTOM"in the code while the toml listsCustomsilentlyfails to register the type — the bundle is fine, but the strings don't match.
Environment
configure-custom-gateway-agent(latest)