Example #1
0
        public ShipmentResponse CallUPSShipmentRequest(string serviceCode, int ShipmentID)
        {
            //var dbShipment = ShipmentModule.GetShipmentByID(ShipmentID);
            var shipmentDetails = ShipmentModule.GetShipmentShipmentDetails(ShipmentID);

            var shpSvc          = new ShipService();
            var shipmentRequest = new ShipmentRequest();

            AddUpsSecurity(shpSvc);
            var request = new RequestType();

            String[] requestOption = { "1" }; //{ "nonvalidate" };
            request.RequestOption   = requestOption;
            shipmentRequest.Request = request;
            var shipment = new ShipmentType();

            shipment.Description = "Ship webservice example";
            AddShipper(shipment);
            AddShipFromAddress(shipment);
            AddShipToAddress(shipment);
            AddBillShipperAccount(shipment);
            //AddPaymentInformation(shipment);

            var service = new ServiceType();

            service.Code     = serviceCode;
            shipment.Service = service;

            PackageType[] pkgArray;
            pkgArray = new PackageType[shipmentDetails.Count];
            var i = 0;

            foreach (var box in shipmentDetails)
            {
                AddPackage(box.UnitWeight.Value, Convert.ToInt32(box.UnitPrice), box.DimensionH.Value, box.DimensionD.Value, box.DimensionL.Value, PackagingTypeCode, "USD", pkgArray, i);
                i = i + 1;
            }
            shipment.Package = pkgArray;

            var labelSpec      = new LabelSpecificationType();
            var labelStockSize = new LabelStockSizeType();

            labelStockSize.Height    = "3";
            labelStockSize.Width     = "2";
            labelSpec.LabelStockSize = labelStockSize;
            var labelImageFormat = new LabelImageFormatType();

            labelImageFormat.Code              = "GIF";//"SPL";
            labelSpec.LabelImageFormat         = labelImageFormat;
            shipmentRequest.LabelSpecification = labelSpec;
            shipmentRequest.Shipment           = shipment;

            var shipmentResponse = shpSvc.ProcessShipment(shipmentRequest);

            return(shipmentResponse);
        }
        public ShipmentResponse CallUPSShipmentRequest(string serviceCode, int shipmentID, ref string szError)
        {
            //var dbShipment = ShipmentModule.GetShipmentByID(ShipmentDetailID);
            try
            {
                var shipmentDetails = ShipmentModule.GetShipmentShipmentDetails(shipmentID);

                var shpSvc          = new ShipService();
                var shipmentRequest = new ShipmentRequest();
                AddUpsSecurity(shpSvc);
                var      request       = new RequestType();
                string[] requestOption = { "nonvalidate" };
                request.RequestOption   = requestOption;
                shipmentRequest.Request = request;
                var shipment = new ShipmentType();
                shipment.Description = "Ship webservice";
                AddShipper(shipment);
                AddShipFromAddress(shipment);
                AddShipToAddress(shipment);
                AddBillShipperAccount(shipment);
                //AddPaymentInformation(shipment);

                var service = new ServiceType();
                service.Code     = serviceCode;
                shipment.Service = service;

                PackageType[] pkgArray;
                pkgArray = new PackageType[shipmentDetails.Count];
                var i = 0;
                foreach (var box in shipmentDetails)
                {
                    AddPackage(
                        box.BoxNo,
                        box.UnitWeight.Value,
                        (int)box.DeclaredValue,
                        box.DimensionH.Value,
                        box.DimensionD.Value,
                        box.DimensionL.Value,
                        PackagingTypeCode,
                        "USD",
                        pkgArray,
                        i);
                    i = i + 1;
                }
                shipment.Package = pkgArray;

                var labelSpec      = new LabelSpecificationType();
                var labelStockSize = new LabelStockSizeType();
                labelStockSize.Height    = "3";
                labelStockSize.Width     = "2";
                labelSpec.LabelStockSize = labelStockSize;
                var labelImageFormat = new LabelImageFormatType();
                labelImageFormat.Code              = "GIF"; //"SPL";
                labelSpec.LabelImageFormat         = labelImageFormat;
                shipmentRequest.LabelSpecification = labelSpec;
                shipmentRequest.Shipment           = shipment;

                var shipmentResponse = shpSvc.ProcessShipment(shipmentRequest);
                return(shipmentResponse);
            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                string message = string.Empty;
                message = message + Environment.NewLine + "SoapException Message= " + ex.Message;
                message = message + Environment.NewLine + "SoapException Category:Code:Message= " + ex.Detail.LastChild.InnerText;
                message = message + Environment.NewLine + "SoapException XML String for all= " + ex.Detail.LastChild.OuterXml;
                message = message + Environment.NewLine + "SoapException StackTrace= " + ex.StackTrace;
                szError = string.Format("Error processing API Validate Address call (webservice error): {0} UPS API Error: {1}", ex.Message, ex.Detail.LastChild.InnerText);
                return(null);
            }
        }