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()); } }
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); }