Notifications

506 views

Description

HTTPS connections fail with "Method failed" if trustmanager_trust_all is false and remote CA signed certificates are not explicitly added. Symptoms of this issue include:

  • Connections to remote HTTPS services (REST,SOAP,LDAP) could fail with "java.io.IOException: Method failed"
  • The remote services certificates are self-signed and not explicitly added to the instance
  • The com.glide.communications.trustmanager_trust_all system property is set to false.

The following example shows a sample of a data source using an HTTPS Web Service.

com.glide.db.impex.datasource.DataSourceException: com.glide.db.impex.datasource.DataSourceException: java.io.IOException: Method failed:(REMOTESERVER) null with code: 0
at com.glide.processors.ImportProcessorWorker.loadDataSource(ImportProcessorWorker.java:181)
at com.glide.processors.ImportProcessorWorker.startWork(ImportProcessorWorker.java:104)
at com.glide.worker.AbstractProgressWorker.startAndWait(AbstractProgressWorker.java:86)
at com.glide.worker.HierarchicalProgressWorker.startAndWait(HierarchicalProgressWorker.java:37)
at com.glide.worker.ProgressWorkerThread.run(ProgressWorkerThread.java:53)
Caused by: com.glide.db.impex.datasource.DataSourceException: java.io.IOException: Method failed: (REMOTESERVER) null with code: 0
at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:312)
at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:252)
at com.glide.db.impex.CSVLoader.setDataSource(CSVLoader.java:127)
at com.glide.db.impex.JDBCLoader.setImportDataSource(JDBCLoader.java:551)
at com.glide.db.impex.datasource.CSVDataSource.getLoader(CSVDataSource.java:21)
at com.glide.processors.ImportProcessorWorker.loadDataSource(ImportProcessorWorker.java:139)
... 4 more
Caused by: java.io.IOException: Method failed: (REMOTESERVER) null with code: 0
at com.glide.protocol.http.HTTPURLConnection.connect(HTTPURLConnection.java:38)
at com.glide.protocol.http.HTTPURLConnection.getInputStream(HTTPURLConnection.java:46)
at com.glide.db.impex.datasource.DataSource.writeFile(DataSource.java:336)
at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:305)
... 9 more

Steps to Reproduce

 

  1. Go to /sys_properties_list.do and set the system property com.glide.communications.trustmanager_trust_all to false.

  2. Create a new data source with the following values:

    • File Retrieval Method: HTTPS
    • File path: Path of the file on destination server to be retrieved
    • Server: IP of the destination server

    For more information, see the product documentation topic Create a data source.

  3. Click Test Load 20 Records.

  4. Make sure the destination server is secured with a self-signed certificate and not by a trusted domain CA.

    Connection URL: https://serverip or dns /datafile

  5. Click Load All Records.

    An error message appears similar to the following example:

    com.glide.db.impex.datasource.DataSourceException: java.io.IOException: Method failed: (https://serverip or dns /datafile) null with code: 0

 

 

Workaround

Choose from one of the following workarounds:

  • Set the system property com.glide.communications.trustmanager_trust_all to true.
  • On the remote Web Service, replace the self-signed certificate with another one that is signed by a trusted Java Certificate Authority.

Related Problem: PRB1201373

Seen In

There is no data to report.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-03-20 11:08:28
Published:2017-10-20