While attempting to do a migration from 3.5 CR16 to 4.5 using the in-built Migration Tool after it runs through for a bit, I get a 500 Internal Server Error when it goes to enable APIs and will not complete.
There is an additional slash in the code.
Release : 3.5 CR 16
Component : API PORTAL
A code fix is being worked on. In the meantime, you can use the following workaround to complete the migration.
Log into your 3.5 portal in the Admin section: https://yourhostname.com/admin
Navigate to SYSTEM/template_resources/js/papi-migrator/papi-api.js
use the edit button to make changes to papi-api.js
Find the line var putData = PapiMigrator.buildPutData('/api-management/1.0/apis/' + key, null, apiJSON);
From this line you will remove the slash before api-management so the line looks like the below
var putData = PapiMigrator.buildPutData('api-management/1.0/apis/' + key, null, apiJSON);
then publish papi-api.js, once published with the change, clear your cache and reload the migration page.
This should now get passed the 500 Internal Server Error
If you have any SOAP API's you may find that the migration process requests WSDLs on your SOAP APIs that don't exist. If this is the case, you can create a dummy WSDL on the legacy portal 3.5, run the migration and then remove them once published on the target 4.X portal. You would need to do this for all SOAP API's on your legacy 3.5 portal that do not have WSDLs.
Defect DE467324 has been logged with engineering and an update will be made to CR 16 to resolve these issues.