static void Main(string[] args) { try { LBRecovery lb_recovery = new LBRecovery(); LabelRecoveryRequest label_recovery_request = new LabelRecoveryRequest(); UPSSecurity upss = new UPSSecurity(); UPSSecurityServiceAccessToken upssSvcAccessToken = new UPSSecurityServiceAccessToken(); upssSvcAccessToken.AccessLicenseNumber = "Your access license number"; upss.ServiceAccessToken = upssSvcAccessToken; UPSSecurityUsernameToken upssUsrNameToken = new UPSSecurityUsernameToken(); upssUsrNameToken.Username = "******"; upssUsrNameToken.Password = "******"; upss.UsernameToken = upssUsrNameToken; lb_recovery.UPSSecurityValue = upss; RequestType request = new RequestType(); label_recovery_request.Request = request; label_recovery_request.TrackingNumber = "Your tracking number"; LabelRecoveryResponse label_recovery_response = lb_recovery.ProcessLabelRecovery(label_recovery_request); LabelImageType image = (LabelImageType)label_recovery_response.Items[0]; Console.WriteLine("Image Base64:\n " + image.GraphicImage); Console.ReadKey(); } catch (System.Web.Services.Protocols.SoapException ex) { Console.WriteLine(""); Console.WriteLine("---------LBRecovery Web Service returns error----------------"); Console.WriteLine("---------\"Hard\" is user error \"Transient\" is system error----------------"); Console.WriteLine("SoapException Message= " + ex.Message); Console.WriteLine(""); Console.WriteLine("SoapException Category:Code:Message= " + ex.Detail.LastChild.InnerText); Console.WriteLine(""); Console.WriteLine("SoapException XML String for all= " + ex.Detail.LastChild.OuterXml); Console.WriteLine(""); Console.WriteLine("SoapException StackTrace= " + ex.StackTrace); Console.WriteLine("-------------------------"); Console.WriteLine(""); } catch (Exception ex) { Console.WriteLine(""); Console.WriteLine("-------------------------"); Console.WriteLine(" General Exception= " + ex.Message); Console.WriteLine(" General Exception-StackTrace= " + ex.StackTrace); Console.WriteLine("-------------------------"); } finally { Console.ReadKey(); } }
public LabelRecoveryRequestModel PopulateRequestData(CustomSettings customSettings, string trackingNumber) { // UPS Security UsernameToken usernameToken = new UsernameToken(); usernameToken.Username = customSettings.UPSSecurity_UserToken_Username; usernameToken.Password = customSettings.UPSSecurity_UserToken_Password; ServiceAccessToken serviceAccessToken = new ServiceAccessToken(); serviceAccessToken.AccessLicenseNumber = customSettings.UPSSecurity_ServiceAccessToken_AccessLicenseNumber; UPSSecurity UPSSecurity = new UPSSecurity(); UPSSecurity.UsernameToken = usernameToken; UPSSecurity.ServiceAccessToken = serviceAccessToken; // UPS Security -END // Label Specification LabelImageFormat labelImageFormat = new LabelImageFormat(); labelImageFormat.Code = "GIF"; LabelSpecification labelSpecification = new LabelSpecification(); labelSpecification.LabelImageFormat = labelImageFormat; labelSpecification.HttpUserAgent = "Mozilla/4.5"; // Label Specification - END Translate translate = new Translate(); translate.LanguageCode = "eng"; translate.DialectCode = "US"; translate.Code = "01"; LabelRecoveryRequest labelRecoveryRequest = new LabelRecoveryRequest(); labelRecoveryRequest.LabelSpecification = labelSpecification; labelRecoveryRequest.Translate = translate; labelRecoveryRequest.TrackingNumber = trackingNumber; // the below tracking number is allowed on the UPS test environment. //labelRecoveryRequest.TrackingNumber = "1Z12345E8791315413"; LabelRecoveryRequestModel labelRecoveryModel = new LabelRecoveryRequestModel(); labelRecoveryModel.UPSSecurity = UPSSecurity; labelRecoveryModel.LabelRecoveryRequest = labelRecoveryRequest; return(labelRecoveryModel); }
public async Task <LabelRecoveryResponse> GetLabel(GetLabelParameter parameter) { if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } if (parameter.Credentials == null) { throw new ArgumentNullException(nameof(parameter.Credentials)); } var client = _httpClientFactory.GetHttpClient(); var security = new AccessRequestType { AccessLicenseNumber = parameter.Credentials.LicenseNumber, Password = parameter.Credentials.Password, UserId = parameter.Credentials.UserName }; var request = new LabelRecoveryRequest { Request = new RequestType { RequestAction = "LabelRecovery", TransactionReferenceType = new TransactionReference { CustomerContext = "Your Test Case Summary Description", XpciVersion = "1.0014" } }, TrackingNumber = parameter.TrackingNumber }; var serializerSecurity = new XmlSerializer(typeof(AccessRequestType)); var serializerBody = new XmlSerializer(typeof(LabelRecoveryRequest)); var xmlSecurity = ""; var xmlBody = ""; using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerSecurity.Serialize(writer, security); xmlSecurity = sww.ToString(); } } using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerBody.Serialize(writer, request); xmlBody = sww.ToString(); } } var xml = xmlSecurity + "" + xmlBody; var body = new StringContent(xml); var req = new HttpRequestMessage { Method = HttpMethod.Post, Content = body, RequestUri = new Uri(_labelRecovery) }; var serializedContent = await client.SendAsync(req).ConfigureAwait(false); var res = await serializedContent.Content.ReadAsStringAsync(); var deserializer = new XmlSerializer(typeof(LabelRecoveryResponse)); using (TextReader reader = new StringReader(res)) { return((LabelRecoveryResponse)deserializer.Deserialize(reader)); } }