7

I have a new HTTPS deployer endpoint, and I can connect to it just fine in the browser on the CM server (although there is a non-trusted certificate issue) however when I try to publish I get an error. The following is in the transport log. Any ideas?

2014-07-03 10:16:37,051 ERROR HTTPSTransportConnector - Unable to execute File retrieval on destination: https://somesite.sdl.com:8285/HTTPUpload.aspx org.apache.http.client.ClientProtocolException: null at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:822) ~[httpclient.jar:4.1.3] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) ~[httpclient.jar:4.1.3] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732) ~[httpclient.jar:4.1.3] at com.tridion.transport.connection.connectors.HTTPSTransportConnector.retrieveFileIfPresent(HTTPSTransportConnector.java:247) ~[cd_transport.jar:na] at com.tridion.transport.connection.connectors.TransportPoolConnector.retrieveFileIfPresent(TransportPoolConnector.java:80) [cd_transport.jar:na] at com.tridion.transport.workers.EndpointMetaWorker.getMetadata(EndpointMetaWorker.java:54) [cd_transport.jar:na] at com.tridion.transport.workers.EndpointMetaWorker.getMetadata(EndpointMetaWorker.java:36) [cd_transport.jar:na] at com.tridion.transport.DestinationController.(DestinationController.java:108) [cd_transport.jar:na] at com.tridion.transport.DestinationControllerFactory.getDestinationController(DestinationControllerFactory.java:41) [cd_transport.jar:na] at com.tridion.transport.model.transaction.context.TransactionProcessor.createOrLoadTransaction(TransactionProcessor.java:134) [cd_transport.jar:na] at com.tridion.transport.model.transaction.context.TransactionProcessor.(TransactionProcessor.java:48) [cd_transport.jar:na] at com.tridion.transport.TransportService.handleTransaction(TransportService.java:253) [cd_transport.jar:na] Caused by: org.apache.http.HttpException: Scheme 'https' not registered. at org.apache.http.impl.conn.DefaultHttpRoutePlanner.determineRoute(DefaultHttpRoutePlanner.java:115) ~[httpclient.jar:4.1.3] at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:723) ~[httpclient.jar:4.1.3] at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:358) ~[httpclient.jar:4.1.3] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) ~[httpclient.jar:4.1.3] ... 11 common frames omitted

3
  • Can you put your transport service logging to DEBUG, retry and post the log here? Did you add the SSL certificate to JAVA_HOME/lib/security/cacerts ?
    – Raimond
    Jul 3, 2014 at 8:37
  • Could an error like this be cause by somesite.sdl.com:8285 serving an invalid (or self signed) SSL certificate?
    – Jan H
    Jul 3, 2014 at 9:02
  • 1
    It is indeed a certificate issue... Wouldn't it be nice if Java just for once had an error message that made sense ;o)
    – Will Price
    Jul 3, 2014 at 9:33

1 Answer 1

9

The problem is that the transport service JRE cannot find the SSL certificate. It needs to be imported as described in the SDL Tridion Docs [login required]

Run the following from command prompt (in jre/bin):

keytool -import -file mycertificate.cer -keystore c:\path\to\jre\lib\security\CACERTS

Then update cd_transport_conf:

<Sender Type="HTTPS" Class="com.tridion.transport.connection.connectors.HTTPSTransportConnector">
    <KeyStore Path="c:\path\to\jre\lib\security\CACERTS" Secret="my-keystore-password" />
</Sender>

Thanks for the hints Raimond and Jan!

1
  • FYI: the default keystore password is 'changeit' :)
    – Robert Jin
    Jul 16, 2015 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.