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

  • 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 '14 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 '14 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 '14 at 9:33
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!

| improve this answer | |
  • FYI: the default keystore password is 'changeit' :) – Robert Jin Jul 16 '15 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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