/*
         * Sends a CNP request asynchronously.
         */
        private async Task <cnpOnlineResponse> SendToCnpAsync(cnpOnlineRequest request, CancellationToken cancellationToken)
        {
            var xmlRequest  = request.Serialize(this.config.GetVersion());
            var xmlResponse = await this.communication.HttpPostAsync(xmlRequest, this.config, cancellationToken).ConfigureAwait(false);

            return(this.DeserializeResponse(xmlResponse));
        }
        /*
         * Sends a CNP request.
         */
        private cnpOnlineResponse SendToCnp(cnpOnlineRequest request)
        {
            var xmlRequest  = XML_HEADER + request.Serialize(this.config.GetVersion());
            var xmlResponse = this.communication.HttpPost(xmlRequest, config);

            return(this.DeserializeResponse(xmlResponse));
        }
        private cnpOnlineResponse SendToCnp(cnpOnlineRequest request)
        {
            var xmlRequest  = request.Serialize();
            var xmlResponse = _communication.HttpPost(xmlRequest, _config);

            try
            {
                var cnpOnlineResponse = DeserializeObject(xmlResponse);
                Console.WriteLine(cnpOnlineResponse.response);
                if (!"0".Equals(cnpOnlineResponse.response))
                {
                    if ("2".Equals(cnpOnlineResponse.response) || "3".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpInvalidCredentialException(cnpOnlineResponse.message);
                    }
                    else if ("4".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpConnectionLimitExceededException(cnpOnlineResponse.message);
                    }
                    else if ("5".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpObjectionableContentException(cnpOnlineResponse.message);
                    }
                    else
                    {
                        throw new CnpOnlineException(cnpOnlineResponse.message);
                    }
                }
                return(cnpOnlineResponse);
            }
            catch (InvalidOperationException ioe)
            {
                throw new CnpOnlineException("Error validating xml data against the schema", ioe);
            }
        }
Beispiel #4
0
        private async Task <cnpOnlineResponse> SendToCnpAsync(cnpOnlineRequest request, CancellationToken cancellationToken)
        {
            string xmlRequest  = request.Serialize();
            string xmlResponse = await _communication.HttpPostAsync(xmlRequest, _config, cancellationToken).ConfigureAwait(false);

            return(DeserializeResponse(xmlResponse));
        }
        private cnpOnlineResponse SendToCnp(cnpOnlineRequest request)
        {
            var xmlRequest  = request.Serialize();
            var xmlResponse = _communication.HttpPost(xmlRequest, _config);

            if (xmlResponse == null)
            {
                throw new WebException("Could not retrieve response from server for given request");
            }
            try
            {
                var cnpOnlineResponse = DeserializeObject(xmlResponse);
                if (_config.ContainsKey("printxml") && Convert.ToBoolean(_config["printxml"]))
                {
                    Console.WriteLine(cnpOnlineResponse.response);
                }
                if (!"0".Equals(cnpOnlineResponse.response))
                {
                    if ("2".Equals(cnpOnlineResponse.response) || "3".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpInvalidCredentialException(cnpOnlineResponse.message);
                    }
                    else if ("4".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpConnectionLimitExceededException(cnpOnlineResponse.message);
                    }
                    else if ("5".Equals(cnpOnlineResponse.response))
                    {
                        throw new CnpObjectionableContentException(cnpOnlineResponse.message);
                    }
                    else
                    {
                        throw new CnpOnlineException(cnpOnlineResponse.message);
                    }
                }
                return(cnpOnlineResponse);
            }
            catch (InvalidOperationException ioe)
            {
                throw new CnpOnlineException("Error validating xml data against the schema", ioe);
            }
        }