SOAP API connection issue

Hello My client is M&G, they have below error:


We tried using private line and internet line both for below DDN. Application able to create the session but after session while rate extraction received below error-


PROD Private line SoapAPI : https://selectapi.datascope.extranet.refinitiv.biz/DataScopeApi/v1/ExtractionService.asmx


PROD Public line SoapAPI : https://selectapi.datascope.refinitiv.com/DatascopeApi/v1/ExtractionService.asmx


Able to create Session : Session id is - d7a81364-f956-4ea2-b8f7-75c910fdc7a0


Error Occurred while rate extraction :

Timestamp: 02/05/2023 19:31:44


Message: HandlingInstanceID: ea4b6a14-ae67-48e7-b125-cce4bd7a43da

An exception of type 'PruCap.Common.Business.ClientErrorException' occurred and was caught.

-------------------------------------------------------------------------------------------

05/02/2023 19:31:44

Type : PruCap.Common.Business.ClientErrorException, PruCap.Common.Business, Version=1.3.87.2, Culture=neutral, PublicKeyToken=null

Message : A security error has occurred.

Source : PruCap.Common.Business

Help link :

Error : PruCap.Common.Business.RefinitivService.ClientError

Data : System.Collections.ListDictionaryInternal

TargetSite : T Execute[T](System.Func`1[T])

HResult : -2146233088

Stack Trace : at PruCap.Common.Business.ApiUtility.Execute[T](Func`1 expression) in F:\PruCapAgent\_work\24\s\Release\PruCap.Common\PruCap.Common.Business\ApiUtility.cs:line 171

at PruCap.Common.Business.ExtractionUtility.ValidateInstruments(InstrumentValidationRequest validationRequest, ExtractionServiceClient proxy, CredentialsHeader& credentials) in F:\PruCapAgent\_work\24\s\Release\PruCap.Common\PruCap.Common.Business\ExtractionUtility.cs:line 36

at PruCap.Common.Business.CommonBusiness.GetReutersFXRates(String ScreenName, Int32 ReasonId, String ActionBy, String Action, IEnumerable`1 requestObj, CommunicationResults& communicationResults) in F:\PruCapAgent\_work\24\s\Release\PruCap.Common\PruCap.Common.Business\CommonBusiness.cs:line 972


Additional Info:


MachineName : MG22VINTZ04

TimeStamp : 02/05/2023 18:31:44

FullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

AppDomainName : /LM/W3SVC/1/ROOT/PruCapFXWebHost-3-133275255535730733

ThreadIdentity : C001891

WindowsIdentity : MGDOMAIN\SVCTDZ05


Best Answer

  • Jirapongse
    Answer ✓

    @Lynn.chen

    Thanks for reaching out to us.

    I tested with the simple C# application and it works fine.

        class Program
        {
            static void Main(string[] args)
            {
                var credential = new CredentialsHeader();
                credential.Username = "<DSS Username>";
                credential.Password = "<DSS Password>";
                using (var proxy = new ExtractionServiceClient())
                {
                    // Get API version
                    var getVersionRequest = new GetVersionRequest();
                    var header = new EjvServerHeader();
                    var versionInfo = new VersionInfo();
                    var getVersionResponse =   proxy.GetVersion(header, out versionInfo);
                   
                    Console.WriteLine("DSS version = " + versionInfo.DssVersion);
                    Console.WriteLine("API version = " + versionInfo.ApiVersion);


                    // Validate an instrument
                    var identifier = new InstrumentIdentifier
                    {
                        IdentifierValue = "TRI.N",
                        IdentifierType = "RIC"
                    };
                    var validateInstrumentsRequest =
                    new ValidateInstrumentsRequest
                    {
                        CredentialsHeader = credential,
                        request = new InstrumentValidationRequest
                        {
                            Identifiers = new[] { identifier }
                        }
                    };


                   
                    var instrumentValidateRequest = new InstrumentValidationRequest();
                    instrumentValidateRequest.Identifiers = new InstrumentIdentifier[] {new InstrumentIdentifier
                    {
                        IdentifierValue = "BHD=",
                        IdentifierType = "RIC"
                    }  };
                    var instrumentValidateResponse = new InstrumentValidationResponse();
                    var validateInstrumentsResponse =
                    proxy.ValidateInstruments(ref credential, header, instrumentValidateRequest, out instrumentValidateResponse);
                    // Re-assign credentials variable to new credentials instance
                    // returned by the API for future calls
                    
                    Console.WriteLine("User Verified. AuthenticationToken = " +
                   credential.AuthenticationToken);
                    
                    var instrument = instrumentValidateResponse.Instruments[0];
                    Console.WriteLine("RIC = " + instrument.IdentifierValue);
                    Console.WriteLine("Source = " + instrument.Source);
                    Console.WriteLine("AssetID = " + instrument.AssetId);


                    var eodRequest = new InstrumentExtractionRequestEndOfDay();
                    eodRequest.Instruments = instrumentValidateResponse.Instruments;
                    eodRequest.OutputFields = new string[] { "Mid Price","Open Price" };
                    var eodResponse = new ExtractionResponse();

                    proxy.Extract(ref credential, header, eodRequest, out eodResponse);

                    foreach(var col in eodResponse.Columns)
                    {
                        Console.WriteLine("{0}: {1}", col.Name, col.Values[0].ToString());
                    }
                }
                Console.ReadLine();

            }
        }

    The output is:

    1683522994000.png

    The problem may relate to the proxy or networking settings in the client environment.