question

Upvotes
Accepted
1 0 1 1

Error when starting LPC

Program received channel reconnecting notification for socket 12 associated with LPC. Error: -1</local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/ripcutils.c:256> Error: 1002 Curl failed. Curl error number: 56 Curl error text: Received HTTP code 403 from proxy after CONNECT

rdp-apirefinitiv-data-platform
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @dan.reinmund,

In order for us to be of help with this question, please provide, or ask the developers to provide as much information as possible surrounding this error:

1. Is this the first time run, after LPC is installed, or is the issue happening intermittently, or the run was always successful, and rmdstestclient-verified, and this is the first time the issue described has occurred?

2. From the nature of the error, it looks like LPC is failing to connect upstream, are the firewall opening provisions and connectivity upstream for LPC confirmed with client's network group/admin, per LPC Installation Guide? Please see Wikipedia entry on status=403.

< private comment>

Please encourage developers to register on developers portal and post questions on dev forums directly, saving them time?

Upvotes
Accepted
20 0 0 1

Hi,

See my comment above. You were correct that CONNECT requests also needed to be allowed in our proxy. That was the issue.
LPC is now running correctly after adding this in proxy config:

acl SSL_ports port 14002
http_access deny CONNECT !SSL_ports

Thank you very much for your help!

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
20 0 0 1

Hi,

1. This is the first time run after LPC is installed.
2. Rules were added to our firewall to allow connectivity to api.refinitiv.com and amer-{1..3}-t{1..3}.streaming-pricing-api.refinitiv.com:14002

I am not sure how to figure the details of the curl call that is failing.
We are configured to use ssl, not rssl.
We created an appKey but it doesn't look like it was required at any step of lpc setup.
I tried both:
*lpc*tokenServiceURL: https://api.refinitiv.com:443/auth/oauth2/beta1/token and
*lpc*tokenServiceURL: https://api.refinitiv.com:443/auth/oauth2/v1/token
with the same outcome.


Thank you for your help
T





icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @tlandot,

Just confirming, rules on firewall are in place to open to api.refinitiv.com on port 443 and pricing endpoints both 443 and 14002 per LPC Installation Guide?

Thanks

Upvotes
20 0 0 1
Pricing endpoints have been authorized on 14002 but not 443.

Will correct and get back here.



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
20 0 0 1

Actually, ports 443, 14002 and 80 were already allowed for endpoints.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
20 0 0 1

Here is complete lpc log until the error happens:


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.336813 2021>

lpc (version lpc1.2.0.L1 ( aafda90 112)) Initialization Start.

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.336843 2021>

The Configuration Database is using the file /spare/local/belemprod/elektron/refinitiv/lpc.cnf .

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.336854 2021>

lpc main thread Using Epoll Event Notifier.

<END>


<ServerSharedMemory: Info: Tue May 25 16:11:55.336907 2021>

Allocated

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.337221 2021>

RSSL connections are disabled. Reason : enableRsslServer is set to False.

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.346886 2021>

Refinitiv Real-Time Legacy Protocol Converter is configured to perform service discovery queries for connections.

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:55.346912 2021>

Creating login message for Refinitiv Real-Time Legacy Protocol Converter dictionary download. Client servers may not start until dictionary is downloaded.

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Info: Tue May 25 16:11:56.588297 2021>

Standard endpoint found via Service Discovery. Using endpoint address amer-3-t1.streaming-pricing-api.refinitiv.com and port 14002.

<END>


<belemtrade7.cme.tower-research.com.1.lpc: Warning: Tue May 25 16:11:57.174447 2021>

Program received channel reconnecting notification for socket 12 associated with LPC. Error: -1</local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/ripcutils.c:256> Error: 1002 Curl failed. Curl error number: 56 Curl error text: Received HTTP code 403 from proxy after CONNECT


<END>


<belemtrade7.cme.tower-research.com.1.lpc: Warning: Tue May 25 16:11:57.308151 2021>

Program received channel reconnecting notification for socket 12 associated with LPC. Error: -1</local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/ripcutils.c:256> Error: 1002 Curl failed. Curl error number: 56 Curl error text: Received HTTP code 403 from proxy after CONNECT


<END>


<belemtrade7.cme.tower-research.com.1.lpc: Warning: Tue May 25 16:11:57.541907 2021>

Program received channel reconnecting notification for socket 12 associated with LPC. Error: -1</local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/ripcutils.c:256> Error: 1002 Curl failed. Curl error number: 56 Curl error text: Received HTTP code 403 from proxy after CONNECT


<END>


<belemtrade7.cme.tower-research.com.1.lpc: Warning: Tue May 25 16:11:57.826056 2021>

Program received channel reconnecting notification for socket 12 associated with LPC. Error: -1</local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/ripcutils.c:256> Error: 1002 Curl failed. Curl error number: 56 Curl error text: Received HTTP code 403 from proxy after CONNECT


<END>



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
20 0 0 1

And here are logs from our proxy:


[Tue May 25 16:10:47 2021].962      0 10.100.200.55 TCP_DENIED/403 4052 CONNECT amer-3-t1.streaming-pricing-api.refinitiv.com:14002 - HIER_NONE/- text/html
[Tue May 25 16:10:48 2021].245      0 10.100.200.55 TCP_DENIED/403 4052 CONNECT amer-3-t1.streaming-pricing-api.refinitiv.com:14002 - HIER_NONE/- text/html
[Tue May 25 16:10:48 2021].529      1 10.100.200.55 TCP_DENIED/403 4052 CONNECT amer-3-t1.streaming-pricing-api.refinitiv.com:14002 - HIER_NONE/- text/html

Do we need to have our ip whitelisted?

Or maybe we are not authenticating correctly?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
32.2k 40 11 20

Hello @tlandot,

There is no need to be whitelisted on the service side.

---

Please confirm that you have installed LPC:

  • According LPC Installation Guide?
  • On one of the supported platforms?
  • There were no errors during the installation, and you have added your assigned user with long password successfully?
  • Sounds redundant, but the curl library provided with LPC is in your running user PATH and LD_LIBRARY_PATH, user you run LPC as is root, and does not lack permissions for folders?

---

I can think of two ways to verify authentication. You can pick whichever is more comfortable to you, so you can obtain more info.

If you are more in admin, test with curl, see this previous discussion thread for details.

If you are more in dev, import and run our RDP Postman Starter collection, replace username, password andclient_id with your machineId, password and clientId, and run Authernictaion request.

With both, you should get back a token, and scopes. Pls confirm you get back token, do not post it. Post scopes that you get back please?

---

403 usually means that you are not permissioned to access the service. Would expect you have the connectivity through firewall both to authentication endpoint and service discovery endpoint and amers pricing endpoint, which is where you seem to experience 403.

---

I would also enable full trace/debug in LPC config, remove log and restart LPC to see if you can gain more information in log about the response from the pricing endpoint.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
20 0 0 1

Hi, thank you for your help.


  • According LPC Installation Guide?
    I believe so
  • On one of the supported platforms?
    Not exactly as we are on CentOS7. Installation script defaulted to using linux7_x86_64 version (which seems like a reasonable choice)
  • There were no errors during the installation, and you have added your assigned user with long password successfully?
    No errors with installation. user_list.txt looks ok.
  • Sounds redundant, but the curl library provided with LPC is in your running user PATH and LD_LIBRARY_PATH, user you run LPC as is root, and does not lack permissions for folders?
    User running LPC is not root. Would it need to be?
    There is no libraries errors when starting lpc. Would there be any?
    ../lib is added to the path by ./start_lpc script
    provided libcurl.so was already in there
    I added the below links after looking
    ls -ltrh ../lib/-rwxr-x--- 1 belemprod belem 473K May 25 09:48 libcurl.so
    lrwxrwxrwx 1 belemprod belem 26 May 26 10:49 libcrypto.so.10 -> /usr/lib64/libcrypto.so.10
    lrwxrwxrwx 1 belemprod belem 23 May 26 10:50 libssl.so.10 -> /usr/lib64/libssl.so.10
    lrwxrwxrwx 1 belemprod belem 22 May 26 10:52 libnsl.so.0 -> /usr/lib64/libnsl.so.1
    I also did try to run lpc.debug instead of lpc and log level is *.debug but I did not see any extra information (nothing more than what already posted above)


  • I will see if I can try what you suggested with postman


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
32.2k 40 11 20

Hello @tlandot,

After looking up the specific error that you face, it seems that there may be an additional action required on the proxy, to allow the traffic through, see this previous external discussion thread and this previous external discussion thread.

Would try running this error and solution by your organization's network admin/group, see if they would recognize the issue?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

thank you
will do

this looks like a very good track - waiting to hear back

That was the issue.
LPC is now running correctly after adding this in proxy config:

acl SSL_ports port 14002        
http_access deny CONNECT !SSL_ports

Thank you very much for your help.

Upvotes
20 0 0 1

I successfully ran the curl example you put above (https://community.developers.refinitiv.com/questions/77838/ema-api-having-ssl-connect-error-after-server-migr.html) and received an access_token.

To so so, I had to include my appKey (client ID) in the curl request.

Yet, the clientID was never requested when installing lpc. Am I suppose to add it somewhere?



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Do you see "scopes" with your token? Could you please paste scopes, not the token?

populated fields are:
"access_token":"[removed]",
"refresh_token":"[removed]",
"expires_in":"300" ,
"scope":"",
"token_type":"Bearer"

scope is empty

Sorry, my miss. Did not look at the curl closely. Try adding to curl request, at the end ...&scope=trapi" Do you see scope ?

Unfortunately, with status=403 we only know that you are not permissioned. But at what point, at proxy or at streaming endpoint, we do not know.

So I suggest to verify both: verify on proxy, while verifying you have authentication happening and scopes assigned properly, as well.

With authentication request, in the raw, you certainly need clientid, however LPC will generate and supply it on your behalf.

Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.