internal static ChangePinResponseInternal ChangePinInternal(ChangePinRequestInternal internalRequest) { UMarketSCClient utibaClient = new UMarketSCClient(); ChangePinResponseInternal internalResponse = null; using (OperationContextScope scope = new OperationContextScope(utibaClient.InnerChannel)) { HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty(); messageProperty.Headers.Add(HttpRequestHeader.UserAgent, UserAgent); OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, messageProperty); //throw new Exception("Exception fuerte"); string passwordHash = GenerateHash(internalRequest.SessionID, internalRequest.Initiator, internalRequest.CurrentPin); pinResponse pinChangeUtiba = utibaClient.pin(new pin() { pinRequest = new pinRequestType() { sessionid = internalRequest.SessionID, device_type = internalRequest.DeviceType, new_pin = internalRequest.NewPin, pin = passwordHash, initiator = internalRequest.Initiator } }); internalResponse = new ChangePinResponseInternal() { ResponseCode = pinChangeUtiba.pinReturn.result, ResponseMessage = pinChangeUtiba.pinReturn.result_message, TransactionID = pinChangeUtiba.pinReturn.transid }; } return(internalResponse); }
public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID) { ChangePinRequestBody request = requestObject as ChangePinRequestBody; ChangePinResponseBody response = null; logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[ChangePinProvider] [SEND-DATA] pinRequest {sessionId=" + sessionID + ",device_type=" + request.DeviceType + ",new_pin=******,pin=******,initiator=" + request.Agent + "}"); string currentPinHash = Utils.GenerateHash(sessionID, request.Agent, request.OldPin); //string newPinHash = Utils.GenerateHash(sessionID, internalRequest.Initiator, internalRequest.CurrentPin); pinResponse pinChangeUtiba = utibaClientProxy.pin(new pin() { pinRequest = new pinRequestType() { sessionid = sessionID, device_type = request.DeviceType, new_pin = request.NewPin, pin = currentPinHash, initiator = request.Agent } }); logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[ChangePinProvider] [RECV-DATA] pinResponse {transid=" + pinChangeUtiba.pinReturn.transid + ",result=" + pinChangeUtiba.pinReturn.result + ",result_namespace=" + pinChangeUtiba.pinReturn.result_namespace + ",result_message=" + pinChangeUtiba.pinReturn.result_message + "}"); if (pinChangeUtiba != null) { response = new ChangePinResponseBody() { ResponseCode = Utils.BuildResponseCode(pinChangeUtiba.pinReturn.result, pinChangeUtiba.pinReturn.result_namespace), ResponseMessage = pinChangeUtiba.pinReturn.result_message, TransactionID = pinChangeUtiba.pinReturn.transid }; } return(response); }