Troubleshoot and Resolve Migration Issues

Note the following migration errors and troubleshooting actions if using the curl and postman commands.

Error Error Occurrence Scenario Verification/Workaround Steps

"message": "Storage Validation failed due to
[javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure]",
    "status": "FAILED"
<Error> <oracle.ics.abstraction.designtime>
<BEA-000000> <Storage Validation failed due to
[javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure]
oracle.ics.common.storage.StorageException: Storage Validation failed due to
[javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure]
Exporting an Oracle Integration Cloud Service instance. Create and test a REST Adapter connection for the storage bucket. This connection does not need to be added to an integration. The connection configuration only needs to be successfully tested on the Connections page.
  1. Create a REST Adapter connection.
  2. Go to the Connections page for the REST Adapter.
  3. From the Connection Type list, select REST API Base URL.
  4. From the TLS Version list, select TLSv1.2.
  5. In the Connection URL field, enter the storage bucket URL.
  6. In the optional Enable two way SSL for outbound connections field, select Yes.
  7. In the Security section, select Basic Authentication.
  8. In the Username field, enter the storage bucket username.
  9. In the Password field, enter the storage bucket password.
  10. Click Test.
  11. If the test is successful, click Save and close the connection.

Export should now be successful.

HTTP/1.1 401 Unauthorized
The required information to complete authentication was not provided
Exporting or importing design-time metadata with a tool such as postman or curl. If you are using an Oracle federated user, you must preface the storage user with the oracleidentitycloudservice identity store (for example, oracleidentitycloudservice/storageUser).
curl -k -v -H "Content-Type: application/json" -X POST -d '
{"storageInfo":{"storageUrl":" https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/
paasdevoic/cloneRepo","storageUser":"oracleidentitycloudservice/myemail@company.com",
"storagePassword":"generated_token"}}' -u InstanceAdminUser:InstanceAdminPassword
https://host/icsapis/v2/clonepod/exportArtifacts

Non-Oracle federated users can also be used. See Federating with Identity Providers.

<Jan 23, 2020, 12:46:03,699 PM UTC> <Warning> <oracle.suite.clone>
<BEA-000000> <CloneService running in Async mode>
Error reading SERVICE_CLONE_KEY csfKey trying with OIC_SERVICE_CLONE_KEY
access denied
("oracle.security.jps.service.credstore.CredentialAccessPermission"
"context=SYSTEM,mapName=oracle.clone,keyName=SERVICE_CLONE_KEY" "read")
Error reading csfKey used to encrypt json data
java.security.AccessControlException: access denied
("oracle.security.jps.service.credstore.CredentialAccessPermission"
"context=SYSTEM,mapName=oracle.clone,keyName=SERVICE_CLONE_KEY" "read")
        at
java.security.AccessControlContext.checkPermission(AccessControlContext.
java:4
72)
Exporting or importing design-time metadata with a tool such as postman or curl. Ensure that you specify the -u InstanceAdminUser:InstanceAdminPassword command and have the ServiceAdministrator role. For example:
curl -k -v -H "Content-Type: application/json" -X POST -d '
{"storageInfo":{"storageUrl":" https://swiftobjectstorage.us-region-1.oraclecloud.com/v1/
paasdevoic/cloneRepo","storageUser":"myemail@company.com",
"storagePassword":"generated_token"}}' -u InstanceAdminUser:InstanceAdminPassword
https://host/ic/api/common/v1/exportServiceInstanceArchive
Note: Unnecessary use of -X or --request, POST is already 
inferred.
*   Trying IP_Address...
* TCP_NODELAY set
* Connected to icsdevx-xxxxxxx.integration.emx.oraclecloud.com
(IP_Address) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=US; ST=California; L=Redwood City; O=Oracle Corporation;
OU=Cloud Network Operations; CN=*.integration.emx.oraclecloud.com
*  start date: Aug 20 00:00:00 2018 GMT
*  expire date: Feb 18 12:00:00 2020 GMT
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
*  SSL certificate verify result: unable to get local issuer 
certificate (20), continuing anyway.
* Server auth using Basic with user 'joe.smith@mycompany.com'
> POST /icsapis/v2/clonepod/exportArtifacts HTTP/1.1
> Host: icsdevx-xxxxxxx.integration.emx.oraclecloud.com
> Authorization: Basic 
dmlja2llLmNoYWxsaXNAY2FwZ2VtaW5pLmNvbTpBdXNzeTIwMjAtUk1KIQ==
> User-Agent: curl/7.67.0
> Accept: */*
> Content-Type:application/json
> Content-Length: 185
>
* upload completely sent off: 185 out of 185 bytes
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Date: Mon, 06 Jan 2020 15:29:56 GMT
< Server: Oracle-Application-Server-11g
< Content-Length: 0
< X-ORACLE-DMS-ECID: 005ardKsdLz6qIbLlIt1iZ0005OG0000WQ
< Set-Cookie:
iscs_auth=LyZ7ehU2hYkdGJ4twSktcP1MloYQU7zIJ7uRE4dTQwaU7xdGBv6I!-
 176121991;
path=/; HttpOnly
< Connection: close
< Content-Type: text/plain
< Content-Language: en
<
* Closing connection 0
* TLSv1.2 (OUT), TLS alert, close notify (256):
Exporting design-time metadata to an Oracle Storage Cloud Service instance. For example:
curl -k -v -H "Content-Type:application/json" -X POST -d
'{"storageInfo":{"storageUrl":"https://swiftobjectstorage.uk-london-1.oraclecloud.com
 /v1/ljk1mltckxeg/bucket-ICSToOICMigrationTest","storageUser":"admin",
"storagePassword":"password"}}' -u firstname.lastname@email.com:PASSWORD!
https://instance_name.integration.em3.oraclecloud.com/icsapis/v2/clonepod/exportArtifacts
Paste your payload into a validator to verify that the JSON payload is correct before exporting (for example: https://jsonformatter.curiousconcept.com).
{"message":"Unable to export the package error: Unexpected 
character encountered (lex state 13): '\"'","status":"FAILED"} 

The following issue appears in the AdminServer Diagnostic log.

[oracle.ics.common.storage] [tid: pool-3988-thread-1] [userId:
myname@mycompany.com] [ecid: 005at1bsSGe4yk4_rT8DyY0004BH000bMq,0:3:11] [APP:
icswebapp] Unable to connect to OCI Autonomous Storage
[https://Storage-edtc.storage.oraclecloud.com/v1/Storage-d82c38bb83b9469583e0f8
5ff6ebde97/abctest123] due to [Invalid storage container
[https://Storage-edtc.storage.oraclecloud.com/v1/Storage-d82c38bb83b9469583e0f8
5ff6ebde97/abctest123] provided. Please use a valid OCI storage. For example
: [[
https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/{namespace}/{bucket}/]
Exporting design-time metadata to the storage container, some security files were downloaded to the storage container, but export failed later. Use an Oracle Cloud Infrastructure object storage bucket. Classic Storage is not supported. See Step 3: Create an Object Storage Bucket and Construct the Storage URL (If Not Using the Application Migration Service).
HTTP/1.1 409 Conflict
JSESSIONID=vOcYMt6ElFcsYfM1PfqLaqnWzqZgayrUxNo2UzdIAtOHDi29hgSi!1807206143;
path=/; HttpOnly
< Set-Cookie: _WL_AUTHCOOKIE_JSESSIONID=q73LlAtuQ8uJOMCbK0MK; path=/; 
 secure; HttpOnly
< Access-Control-Allow-Methods: GET, POST, DELETE, PUT, OPTIONS
< X-ORACLE-DMS-ECID: cc73d0a0-6f91-4f43-be43-297ce161f691-001626c3
< Access-Control-Allow-Origin: *
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Strict-Transport-Security: max-age=31536000; includeSubdomains;
<
* Connection #0 to host prod-1ics-vaabc.usgov-central-1.oraclecloud.com 
 left intact
* Closing connection #0
Error connecting to Cloud Storage URL  
https://storage-vaabc.console.oraclecloud.com/v1/dev2ics/cloneRepo : 
Verify URL and credentials are correct[opc@dev-2ics-wls-1 ~]$ 
Exporting design-time metadata. Use an Oracle Cloud Infrastructure object storage bucket. Classic Storage is not supported. See Step 3: Create an Object Storage Bucket and Construct the Storage URL (If Not Using the Application Migration Service).