question

Upvotes
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.

@rakeshgowdacs

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in answering your question?

If yes please click the 'Accept' text next to the reply, and then close the question. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

1 Answer

· Write an Answer
Upvotes
22.2k 59 14 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.