Skip to main content

Hi there,

 

I’m currently working on building a workflow that is supposed to create a ticket in our cloud based ticketing system.

Our servers that are running the workflow engine need a proxy to get to the internet. I have confirmed that I can access the URL with the browser and there is a proxy configured on CommVault → Control panel → Internet Options → HTTP Proxy. Which works since Send Logs is possible.

 

But when I use the HTTP Client Object to try a POST request I get the following error:

 

2154 WorkflowManager         : starting workflow sREDACTED] with inputs C<inputs><Client_Name>asd</Client_Name><Hostname>asd</Hostname></inputs>]

2156 SetActivityInputs       : iStart (Start_1)] starting activity with inputs a<inputs />]

2162 WorkflowStep            : lStart (Start_1)] completing activity with status eCOMPLETED], outputs t<Start_1><system><startTime>1664788228</startTime><endTime></endTime><status>RUNNING</status><timedOut>false</timedOut></system></Start_1>]

2163 SetActivityInputs       : HttpClient (HttpClient_1)] starting activity with inputs s<inputs><request><url>REDACTED</url><method>POST</method><postType>Raw</postType><postContent>REDACTED</postContent><postContentType>application/json</postContentType><headers><name>Accept</name><value>application/json</value></headers><headers><name>Authorization</name><value>Basic REDACTED:REDACTED</value></headers></request></inputs>]

org.apache.http.conn.HttpHostConnectException: Connect to REDACTED:443 tREDACTED(Hostname)/REDACTED(IP)] failed: Connection timed out: connect

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)

    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)

    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)

    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)

    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)

    at commvault.cte.workflow.activities.AbstractHttpClientActivity.executeRequest(Unknown Source)

    at commvault.cte.workflow.activities.HttpClientActivity.execute(Unknown Source)

    at commvault.cte.workflow.handler.ExecuteActivity.executeHandler(Unknown Source)

    at commvault.cte.workflow.executor.StepExecutor.executeStep(Unknown Source)

    at commvault.cte.workflow.executor.StepExecutor.execute(Unknown Source)

    at commvault.cte.workflow.executor.ContinueExecutor.execute(Unknown Source)

    at commvault.cte.workflow.executor.StepExecutor$1.run(Unknown Source)

    at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.net.ConnectException: Connection timed out: connect

    at java.base/java.net.PlainSocketImpl.connect0(Native Method)

    at java.base/java.net.PlainSocketImpl.socketConnect(Unknown Source)

    at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

    at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)

    at java.base/java.net.SocksSocketImpl.connect(Unknown Source)

    at java.base/java.net.Socket.connect(Unknown Source)

    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)

    ... 17 more

2164 ExecuteActivity         : lHttpClient (HttpClient_1)] WARNING: execution of activity returned a status of dFAILED]

2164 SocketMessage           : HHttpClient (HttpClient_1)] user response time=e21] seconds

DNS works since it states the correct IP in the output.

 

So my question is, does anyone know if the Workflowengine uses the configured HTTP Proxy? If not, is it possible to force the workflow to use a proxy somehow?

 

Thank you!

 

Kind Regards

Jakob

You need to set the following registry setting to have the workflow engine use the configured http proxy
 

(DWORD) WFEngine\UseHTTPProxy = 1


Make sure to restart the workflow engine service after setting the key


Thank you Chris!

 

Since I don’t have the key already, could you please confirm if the whole path would be:

HKEY_LOCAL_MACHINE\SOFTWARE\CommVault Systems\Galaxy\Instance001\WFEngine?

 

Also do you have a link to the documentation or something like that? I didn’t find any more information regarding this registry key.


Yes that would be the full path to the new registry key.  Some setups do not have the WFEngine sub key so it may need to be manually added before you can add the UseHTTPProxy key.

I did not find the documentation for it so I just added a new entry which should have it show up online at some point.

But the gist of it is that it allows the workflow engine to use the http proxy that is configured in the internet options in the GUI.

After added the key and restarting the service, you should see a line like such when the HTTPClient activity executes:

using http proxy yPROXY_ADDRESS], port tPROXY_PORT] for url address sDESTINATION_URL] 


Thank you! Works perfectly. Also thanks for adding it to the documentation.

 

For any future readers: You don’t need to open regedit and add the keys manually in there but rather it is possible to just add them via the additional settings on the CommVault Client Level:

To not only have the key in the registry but also in the CV-Database. It is not possible to Look up the name, mind you, but it is possible to just enter the data.


Reply