Пример #1
0
        private void ShowRedeemTokenUI()
        {
            RedeemTokenRequestDto redeemTokenRequestDto = new RedeemTokenRequestDto();

            try
            {
                Console.WriteLine("=====================Request building start======================");
                redeemTokenRequestDto.CustomerTransactionID = Read_String_Input("Please Enter Customer Transaction ID:", true);
                redeemTokenRequestDto.CustomerCode          = Read_String_Input("Please enter the CustomerCode:", false);
                redeemTokenRequestDto.Password = Read_String_Input("Please enter the Password:"******"Please enter the Username:"******"Please enter the TOKEN:", false);
                Console.WriteLine("=====================Request building End======================");

                var RedeemTokenSvc = _serviceProvider.GetService <IRedeemTokenWebServiceClient>();
                var tokenizationServiceResponseDto = RedeemTokenSvc.CallRedeemTokenWebService(redeemTokenRequestDto);
                if (tokenizationServiceResponseDto != null)
                {
                    var response = tokenizationServiceResponseDto as RedeemTokenResponseDto;
                    Console.WriteLine("=====================Response Start======================");
                    Console.WriteLine("Response:");
                    Console.Write(PrettyXml(response.PageContent) + "\n");
                    Console.WriteLine("=====================Response End======================");
                }
                else
                {
                    Console.WriteLine("Response is null, Please check with input values given and try again");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error while RedeemToken : " + ex.Message.ToString());
            }
        }
Пример #2
0
        public RedeemTokenResponseDto CallRedeemTokenWebService(RedeemTokenRequestDto request)
        {
            RedeemTokenResponseDto response = new RedeemTokenResponseDto();
            int?   statusCode  = null;
            string pageContent = string.Empty;
            string soapBody    = $@"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tok=""http://www.magensa.net/Token/"" xmlns:tok1=""http://schemas.datacontract.org/2004/07/TokenWS.Core"" xmlns:sys=""http://schemas.datacontract.org/2004/07/System.Collections.Generic"">
  <soapenv:Header/>
  <soapenv:Body>
    <tok:RedeemToken>
      <tok:RedeemTokenRequest>
        <tok1:AdditionalRequestData>
          <sys:KeyValuePairOfstringstring>
            <sys:key></sys:key>
            <sys:value></sys:value>
          </sys:KeyValuePairOfstringstring>
        </tok1:AdditionalRequestData>
        <tok1:Authentication>
          <tok1:CustomerCode>{request.CustomerCode}</tok1:CustomerCode>
          <tok1:Password>{request.Password}</tok1:Password>
          <tok1:Username>{request.Username}</tok1:Username>
        </tok1:Authentication>
        <tok1:CustomerTransactionID>{request.CustomerTransactionID}</tok1:CustomerTransactionID>
        <tok1:Token>{request.Token}</tok1:Token>
      </tok:RedeemTokenRequest>
    </tok:RedeemToken>
  </soapenv:Body>
</soapenv:Envelope>
";


            try
            {
                string soapAction = "http://www.magensa.net/Token/ITokenService/RedeemToken";

                MagensaSOAPClient soapClient     = new MagensaSOAPClient(host: Host, certificateFileName: CertificateFileName, certificatePassword: CertificatePassword);
                HttpWebResponse   webResponse    = soapClient.CallWebService(soapAction, soapBody);
                Stream            responseStream = webResponse.GetResponseStream();
                using (StreamReader sr = new StreamReader(responseStream))
                {
                    response.StatusCode  = (int)webResponse.StatusCode;
                    response.PageContent = sr.ReadToEnd();
                }
                responseStream.Close();
                webResponse.Close();
            }
            catch (WebException ex)
            {
                HttpStatusCode sCode = ((HttpWebResponse)ex.Response).StatusCode;
                response.StatusCode  = (int)sCode;
                response.PageContent = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
            }
            catch (Exception ex)
            {
                response.StatusCode  = null;
                response.PageContent = ex.Message;
            }
            return(response);
        }