0
votes

I have a configuration as follows: 1 server with seperate Publisher (9446) and Store (port 9447). Both are configured with shared gov/config registry (note that the publisher is the same except localhost:9446/registry for the remote instance url:

<dbConfig name="govregistry">
    <dataSource>jdbc/WSO2SHAREDCONREG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost:9447/registry">
    <id>gov</id>
    <dbConfig>govregistry</dbConfig>
    <readOnly>false</readOnly>
    <enableCache>true</enableCache>
    <registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
    <instanceId>gov</instanceId>
    <targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
    <instanceId>gov</instanceId>
    <targetPath>/_system/nodes</targetPath>
</mount>

I have a Gateway and Key Manager on a different server. These are both deployed to different directories and the WSO2 documentation did not say to do anything additional for the registry.xml file so they look like:

<currentDBConfig>wso2registry</currentDBConfig>
<dbConfig name="wso2registry">
    <dataSource>jdbc/WSO2CarbonDB</dataSource>
</dbConfig>

When the API is published and then I attempt to use the 'try it' functionality I get the following error (regardless of if the API is set to require a token or not)... This error is on the gateway server:

[2014-01-23 21:54:31,111] ERROR - APIAuthenticationHandler API authentication failure
org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Access failure for API: /newphoneverify, version: 1.0.0 with key: null

Do I need to do something additional like setting up governance and config registry sharing on the keymanager and gateway as well?

2

2 Answers

0
votes

This happens if the OPTIONS verb of the API is not enabled with 'None' auth type. Check [1].

[1]https://wso2.org/jira/browse/APIMANAGER-1819

0
votes

I have the same problem:

Swagger UI does not works and return the same screenshots above, but if I use chrome/postman the API return the correct value so is just the swagger UI that has problems, I have an Apache in front of the API manager and the external name of the store is different from the internal name and apache proxypass the request.

I have configured the api-manager.xml and the API does not have authorization (all set to none) have really no idea on how to fix it.