question

Upvotes
Accepted
1 0 0 0

HttpClient ODPS connection based on json response like success how to integrate with ThomsonReuters RFA

How to connect HttpClient class of opendac like below class to RFA API class

public class HttpClient

{

public static void Main(string[] args)

{

string url = "";


while (true)

{

string curLine = "";

string urlError = "Please enter a valid URL";

Console.Write("Enter ODPS URL > ");

try

{

curLine = Console.ReadLine().Trim();

}

catch (IOException)

{

Environment.Exit(0);

}

if (curLine.Length < 8 || !curLine.StartsWith("http://"))

{

Console.WriteLine(urlError);

continue;

}

if (!curLine.EndsWith("/"))

{

url = curLine + "/";

}

else

{

url = curLine;

}

break;

}


bool usePersistent = true;


while (true)

{

string curLine = "";

string inputError = "Please enter only a character from y, Y, n, and N";

Console.Write("Use persistent connection (y, n) > ");

try

{

curLine = Console.ReadLine().Trim();

}

catch (IOException)

{

Environment.Exit(0);

}

if (curLine.Equals("n", StringComparison.OrdinalIgnoreCase))

{

usePersistent = false;

}

else if (!curLine.Equals("y", StringComparison.OrdinalIgnoreCase))

{

Console.WriteLine(inputError);

continue;

}

break;

}


if (!usePersistent)

{

ServicePointManager.Expect100Continue = false;

ServicePointManager.DefaultConnectionLimit = 1000; // You can adjust this value based on your requirement

ServicePointManager.MaxServicePoints = 1000; // You can adjust this value based on your requirement

ServicePointManager.UseNagleAlgorithm = false;

ServicePointManager.EnableDnsRoundRobin = true;

ServicePointManager.SetTcpKeepAlive(false, 0, 0);

}


while (true)

{

Console.Write("ODPS command > ");

string curLine = Console.ReadLine().Trim();

if (curLine.Length == 0)

{

continue;

}

if (curLine.StartsWith("q", StringComparison.OrdinalIgnoreCase))

{

break;

}

string sendUrl = url + curLine;

try

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendUrl);

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

using (Stream dataStream = response.GetResponseStream())

{

StreamReader reader = new StreamReader(dataStream);

string responseFromServer = reader.ReadToEnd();

Console.WriteLine(responseFromServer);

}

response.Close();

}

catch (WebException e)

{

if (e.Status == WebExceptionStatus.ProtocolError)

{

Console.WriteLine("Error contacting ODPS: " + ((HttpWebResponse)e.Response).StatusCode);

}

else

{

Console.WriteLine("Error contacting ODPS: " + e.Message);

}

}

catch (Exception e)

{

Console.WriteLine("Error contacting ODPS: " + e.Message);

}

}

}

}


#technology#productrfa-apiopen-dacs
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.

1 Answer

· Write an Answer
Upvotes
Accepted
23.7k 61 15 21

Hi @rakeshgowdacs,

You can use the OpenDACS API instead of ODPS to integrate with RFA. Depending on your use case, much of the user DACS entitlement checking can also be done automatically by the RFA/RTMDS. Please see this article to learn more about the use of OpenDACS API which is build on top of RFA SDK package.

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.

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.