Beispiel #1
0
        public static TResult PublishToBizTalk <T, V>(T request, CEHeader ceHeader, string entryPointuri, out V response) where V : class
        {
            CE ce = new CE();

            ce.Header = ceHeader;
            ce.Body   = SerializationUtility.SerializeToXmlElement(request);

            BasicHttpBinding httpBinding = new BasicHttpBinding();

            httpBinding.MaxReceivedMessageSize = 2147483647;
            httpBinding.SendTimeout            = TimeSpan.FromMinutes(20);
            EndpointAddress endpointAddress = new EndpointAddress(entryPointuri);


            var    client      = new WsCEClient(httpBinding, endpointAddress);
            string guidMessage = ceHeader.GUIDMessage;

            if (ce.Body.OuterXml.StartsWith("<OrderRequest"))
            {
                OrderRequest orderRequest = SerializationUtility.Deserialize <OrderRequest>(ce.Body);
                guidMessage = orderRequest.ServiceInstance[0].GUIDMessage;
            }

            if (ce.Body.GetElementsByTagName("IdRichiesta").Count > 0)
            {
                guidMessage = ce.Body.GetElementsByTagName("IdRichiesta")[0].InnerText;
            }
            if (string.IsNullOrEmpty(guidMessage))
            {
                guidMessage = ce.Body.GetAttribute("IdRichiesta");
            }

            if (ce.Body.GetElementsByTagName("GUIDMessage").Count > 0)
            {
                guidMessage = ce.Body.GetElementsByTagName("IdRichiesta")[0].InnerText;
            }


            guidMessage = ce.Header.GUIDMessage;

            if (string.IsNullOrEmpty(guidMessage))
            {
                throw new ArgumentException("IdRichiesta not found in request to submit");
            }

            ce.Header.GUIDMessage = guidMessage;

            try
            {
                client.SubmitRequest(ref ce);
                response = SerializationUtility.Deserialize <V>(ce.Body);
            }
            catch (Exception ex)
            {
                throw;
            }

            return(ce.Result);
        }
Beispiel #2
0
        protected void Init()
        {
            CEHeader = new CEHeader
            {
                BillingCenter = Ambiente.billingcenter,
                CodiceFiscale = Ambiente.codicefiscale,
                ContractId    = Ambiente.contractid,
                ContractType  = Ambiente.contracttype,
                CostCenter    = Ambiente.costcenter,
                Customer      = Ambiente.customer,
                IdCRM         = string.Empty,
                SenderSystem  = Ambiente.sendersystem,
                UserId        = Ambiente.smuser,
                PartitaIva    = Ambiente.partitaiva,
                IDSender      = string.Empty,
                UserType      = Ambiente.usertype
            };

            CE        = new CE();
            CE.Header = CEHeader;

            CE.Header.GUIDMessage = IdRichiesta;

            _httpHeaders = GetHttpHeaders(Ambiente);

            string uri = null;

            switch (Servizio.TipoServizioId)
            {
            case (int)TipoServizioId.POSTA1:
            case (int)TipoServizioId.POSTA4:
                uri = Ambiente.LolUri;
                break;

            case (int)TipoServizioId.ROL:
                uri = Ambiente.RolUri;
                break;

            default:
                break;
            }

            var enpointAddress = new System.ServiceModel.EndpointAddress(uri);

            BasicHttpBinding myBinding = new BasicHttpBinding();

            myBinding.SendTimeout            = TimeSpan.FromMinutes(3);
            myBinding.MaxReceivedMessageSize = 2147483647;

            WsCEClient = new WsCEClient(myBinding, enpointAddress);
        }
Beispiel #3
0
        protected CEHeader GetCeHeader()
        {
            CEHeader result = new CEHeader();

            result.BillingCenter = "BillingCenter";
            result.ContractId    = "ContractId";
            result.BillingCenter = "BillingCenter";
            result.Customer      = "Customer";
            result.IdCRM         = "IdCRM";
            result.IDSender      = "IDSender";
            result.SenderSystem  = "SenderSystem";
            result.UserId        = "UserId";
            result.UserType      = "UserType";
            result.CodiceFiscale = "CodiceFiscale";
            result.PartitaIva    = "PartitaIva";
            result.CostCenter    = "CostCenter";
            result.ContractType  = "ContractType";
            return(result);
        }