ok, I hope this helps someone, the solution was 2 fold. first the proxy wasn't getting acknowledged, due to leading protocol def, http:// I used just the IP address and the cononical name with no http:// and I was able to receive a 504 Gateway timeout error. so the HTTP4 endpoint is working as it was set to look like
http4://myhost:443/path
http4://uaa-svc-prod.app-api.aws-usw02-pr.io:443/oauth/token
I was able to get the request working by first making a hard endpoint
<to uri="http4://uaa-svc-prod.app-api.aws-usw02-pr.io:443/oauth/token?throwExceptionOnFailure=false" />
so the endpoint http4 override by setting
m.setHeader(Exchange.HTTP_URI, tokenUrl);
worked.
I then tried using the XML setting he override in the route.
<log message="HTTP4 POST headers: ${headers}" loggingLevel="DEBUG"/>
<setHeader headerName="CamelHttpUri">
<simple>${header.TOKENURL}?throwExceptionOnFailure=false</simple>
</setHeader>
<to uri="http4://uaa-svc-prod.app-api.aws-usw02-pr.io:443/oauth/token?throwExceptionOnFailure=false" />
this worked also. :) however I was still getting the 504 gateway timeout error returned.
I tried using the https:// URI in for the override URI
https://uaa-svc-prod.app-api.aws-usw02-pr.io/oauth/token
and the http4:// endpoint was overridden with the https:// URI and now I am getting a CamelHttpResponseCode=401, CamelHttpResponseText=Unauthorized
so, it is working now, happy happy joy joy...
in conclusion do not include the http:// protocol def in the proxy setting. Use either the IP or the cononical name.
<camelContext
id="com.ge.digital.passthru.coreCamelContext"
trace="true"
xmlns="http://camel.apache.org/schema/blueprint"
allowUseOriginalMessage="false"
streamCache="true"
errorHandlerRef="deadLetterErrorHandler" >
<properties>
<property key="http.proxyHost" value="PITC-Zscaler.proxy.corporate.america.com"/>
<property key="http.proxyPort" value="80"/>
</properties>
when defining the HTTP4:// endpoint use the syntax
http4:hostname[:port][/resourceUri][?options]
and the URI set by Exchange.HTTP_URI over riding the endpoint def contains the https://myhost/path where you are calling.
this is what worked for me, I hope this helps newbies like myself.
thanks everyone.