Veröffentlicht 14. November 20168 j using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UPSShipWS; namespace Paket { class Class1 { public static void Main(string[] args) { Adresse versender = new Adresse(); versender.Anrede = "Herr"; versender.Name = "Blondie"; versender.Nachname = "Müller"; versender.Anschrift = "Musterstraße 8"; versender.Ort = "Bielefeld"; versender.Postleitzahl = "33607"; versender.Bundesland = "DE"; versender.Telefonnummer = "05211234"; Adresse empfänger = new Adresse(); empfänger.Anrede = "Frau"; empfänger.Name = "Anna"; empfänger.Nachname = "Mustermann"; empfänger.Anschrift = "Kirchstraße 7"; empfänger.Ort = "Köln"; empfänger.Postleitzahl = "12345"; empfänger.Bundesland = "DE"; empfänger.Telefonnummer = "052145678"; Pakettyp paket = new Pakettyp(); paket.Breite = "10"; paket.Höhe = "5"; paket.Tiefe = "6"; paket.Gewicht = "4"; paket.Unit = "kg"; Label ausdruck = new Label(); ausdruck.Höhe = "5"; ausdruck.Breite = "8"; ausdruck.Format = "Gif"; ausdruck.DistanceUnit = "cm"; string shipperNumber = "A32E55"; Package package = new Package ("6CCE28CFBB6BB67B", "intecadmin", "37170Uslar","Mein Paket", shipperNumber, shipperNumber, versender.AnschriftToArray(), versender.Ort, versender.Postleitzahl, versender.Name, versender.Nachname, versender.Telefonnummer, "DE" , "NRW", versender.AnschriftToArray()); package.setTestMode(); package.addPackage("BX", "CP", "8"); UPSShipWS.ShipWeb.ShipmentResultsType test = package.sendPackage(versender.AnschriftToArray(), versender.Ort, versender.Postleitzahl, versender.Bundesland, versender.Name, versender.Nachname, "NRW", empfänger.AnschriftToArray(), empfänger.Ort, empfänger.Postleitzahl, empfänger.Bundesland, empfänger.Name, empfänger.Nachname, empfänger.Telefonnummer, "NRW", "Standard", "ST", ausdruck.Höhe, ausdruck.Breite, ausdruck.Format); if(test == null) { Console.WriteLine(package.errorstring); } Console.WriteLine("Test Paket: " + test); Console.ReadKey(); } } } Als Fehlermeldung bekomme ich : ...an exeption has been raised as a rsult of client data...shipment can have only one type of unit of measurement for a weight... Weiss jemand wo der Fehler ist ? In der API steht: using System; using System.Collections.Generic; using System.Text; using UPSShipWS.ShipWeb; using UPSShipWS.VoidWeb; using UPSShipWS.TrackWeb; using System.ServiceModel; using System.Configuration; using System.Collections; namespace UPSShipWS { public class Package { private String AccessLicenseNumber; private String Username; private String Password; private String Description; private String ShipperNumber; private String AccountNumber; private String[] AddressLine; private String ShipperCity; private String ShipperPostalCode; private String ShipperName; private String ShipperAttentionName; private String ShipperPhone; private String ShipperCountryCode; private String ShipperStateProvinceCode; private String[] RequestOption; private ShipService shpSvc; private VoidService voidService; private TrackService track; public String errorstring; ArrayList packages = new ArrayList(); public Package( String AccessLicenseNumber, String Username, String Password, String Description, String ShipperNumber, String AccountNumber, String[] addressLine, String ShipperCity, String ShipperPostalCode, String ShipperName, String ShipperAttentionName, String ShipperPhone, String ShipperCountryCode, String ShipperStateProvinceCode, String[] RequestOption) { shpSvc = new ShipService(); voidService = new VoidService(); track = new TrackService(); setTestMode(); this.AccessLicenseNumber = AccessLicenseNumber; this.Username = Username; this.Password = Password; this.Description = Description; this.ShipperNumber = ShipperNumber; this.AccountNumber = AccountNumber; this.AddressLine = addressLine; this.ShipperCity = ShipperCity; this.ShipperPostalCode = ShipperPostalCode; this.ShipperName = ShipperName; this.ShipperAttentionName = ShipperAttentionName; this.ShipperPhone = ShipperPhone; this.ShipperCountryCode = ShipperCountryCode; this.RequestOption = RequestOption; this.ShipperStateProvinceCode = ShipperStateProvinceCode; } public void addPackage( String UomCode, String PackTypeCode, String PackageWeight ) { ShipWeb.PackageType package = new ShipWeb.PackageType(); PackageWeightType packageWeight = new PackageWeightType(); ShipUnitOfMeasurementType uom = new ShipUnitOfMeasurementType(); PackagingType packType = new PackagingType(); packageWeight.Weight = PackageWeight; uom.Code = UomCode; packageWeight.UnitOfMeasurement = uom; package.PackageWeight = packageWeight; packType.Code = PackTypeCode; package.Packaging = packType; this.packages.Add(package); } public void setTestMode() { shpSvc.Url = "https://wwwcie.ups.com/webservices/Ship"; voidService.Url = "https://wwwcie.ups.com/webservices/Track"; track.Url = "https://wwwcie.ups.com/webservices/Void"; } public void setProductionMode() { shpSvc.Url = "https://onlinetools.ups.com/webservices/Ship"; voidService.Url = "https://onlinetools.ups.com/webservices/Track"; track.Url = "https://onlinetools.ups.com/webservices/Void"; } public ShipmentResultsType sendPackage( String[] ShipFromAddressLine, String ShipFromCity, String ShipFromPostalCode, String ShipFromCountryCode, String ShipFromAttentionName, String ShipFromName, String ShipFromStateProvinceCode, String[] ShipToAddressLine, String ShipToCity, String ShipToPostalCode, String ShipToCountryCode, String ShipToAttentionName, String ShipToName, String ShipToPhone, String ShipToStateProvinceCode, String ShpmentChargeType, String ServiceCode, String LbelStockSizeHeight, String LabelStockSizeWidth, String LabelImageFormat ) { ShipmentResultsType result = null; ShipWeb.UPSSecurity upss = new ShipWeb.UPSSecurity(); ShipWeb.UPSSecurityServiceAccessToken upssSvcAccessToken = new ShipWeb.UPSSecurityServiceAccessToken(); ShipWeb.UPSSecurityUsernameToken upssUsrNameToken = new ShipWeb.UPSSecurityUsernameToken(); ShipWeb.RequestType request = new ShipWeb.RequestType(); ShipWeb.ShipmentType shipment = new ShipWeb.ShipmentType(); ShipperType ShipperTypeshipper = new ShipperType(); PaymentInfoType paymentInfo = new PaymentInfoType(); ShipmentChargeType shpmentCharge = new ShipmentChargeType(); BillShipperType billShipper = new BillShipperType(); ShipmentChargeType[] shpmentChargeArray = { shpmentCharge }; ShipFromType shipFrom = new ShipFromType(); ShipToType shipTo = new ShipToType(); ShipToAddressType shipToAddress = new ShipToAddressType(); ShipPhoneType shipToPhone = new ShipPhoneType(); ShipWeb.ServiceType service = new ShipWeb.ServiceType(); LabelSpecificationType labelSpec = new LabelSpecificationType(); LabelStockSizeType labelStockSize = new LabelStockSizeType(); LabelImageFormatType labelImageFormat = new LabelImageFormatType(); ShipAcceptRequest shipAcceptRequest = new ShipAcceptRequest(); ShipConfirmRequest shipmentRequest = new ShipConfirmRequest(); ShipperType shipper = new ShipperType(); upssSvcAccessToken.AccessLicenseNumber = AccessLicenseNumber; upss.ServiceAccessToken = upssSvcAccessToken; upssUsrNameToken.Username = Username; upssUsrNameToken.Password = Password; upss.UsernameToken = upssUsrNameToken; shpSvc.UPSSecurityValue = upss; request.RequestOption = RequestOption; shipmentRequest.Request = request; shipment.Description = Description; shipper.ShipperNumber = ShipperNumber; billShipper.AccountNumber = AccountNumber; shpmentCharge.BillShipper = billShipper; shpmentCharge.Type = ShpmentChargeType; paymentInfo.ShipmentCharge = shpmentChargeArray; shipment.PaymentInformation = paymentInfo; UPSShipWS.ShipWeb.ShipAddressType shipperAddress = new UPSShipWS.ShipWeb.ShipAddressType(); shipperAddress.AddressLine = AddressLine; shipperAddress.City = ShipperCity; shipperAddress.PostalCode = ShipperPostalCode; shipperAddress.StateProvinceCode = ShipperStateProvinceCode; shipperAddress.CountryCode = ShipperCountryCode; shipper.Address = shipperAddress; shipper.Name = ShipperName; shipper.AttentionName = ShipperAttentionName; ShipPhoneType shipperPhone = new ShipPhoneType(); shipperPhone.Number = ShipperPhone; shipper.Phone = shipperPhone; shipment.Shipper = shipper; try { UPSShipWS.ShipWeb.ShipAddressType shipFromAddress = new UPSShipWS.ShipWeb.ShipAddressType(); shipFromAddress.AddressLine = ShipFromAddressLine; shipFromAddress.City = ShipFromCity; shipFromAddress.PostalCode = ShipFromPostalCode; shipFromAddress.StateProvinceCode = ShipFromStateProvinceCode; shipFromAddress.CountryCode = ShipFromCountryCode; shipFrom.Address = shipFromAddress; shipFrom.AttentionName = ShipFromAttentionName; shipFrom.Name = ShipFromName; shipment.ShipFrom = shipFrom; shipToAddress.AddressLine = ShipToAddressLine; shipToAddress.City = ShipToCity; shipToAddress.PostalCode = ShipToPostalCode; shipToAddress.StateProvinceCode = ShipToStateProvinceCode; shipToAddress.CountryCode = ShipToCountryCode; shipTo.Address = shipToAddress; shipTo.AttentionName = ShipToAttentionName; shipTo.Name = ShipToName; shipToPhone.Number = ShipToPhone; shipTo.Phone = shipToPhone; shipment.ShipTo = shipTo; service.Code = ServiceCode; shipment.Service = service; shipment.Package = (ShipWeb.PackageType[])packages.ToArray(typeof(ShipWeb.PackageType)); labelStockSize.Height = LbelStockSizeHeight; labelStockSize.Width = LabelStockSizeWidth; labelSpec.LabelStockSize = labelStockSize; labelImageFormat.Code = LabelImageFormat; labelSpec.LabelImageFormat = labelImageFormat; shipmentRequest.LabelSpecification = labelSpec; shipmentRequest.Shipment = shipment; ShipConfirmResponse shipmentResponse = shpSvc.ProcessShipConfirm(shipmentRequest); shipAcceptRequest.Request = request; shipAcceptRequest.ShipmentDigest = shipmentResponse.ShipmentResults.ShipmentDigest; ShipAcceptResponse shipAccept = shpSvc.ProcessShipAccept(shipAcceptRequest); result = shipAccept.ShipmentResults; } catch (System.Web.Services.Protocols.SoapException ex) { errorstring = "<ERR>" + "<TYPE>SoapException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<CCMSG>" + ex.Detail.LastChild.InnerText + "</CCMSG>" + "<VALUE>" + ex.Detail.Value + "</VALUE>" + "<SCHEMA>" + ex.Detail.SchemaInfo + "</SCHEMA>" + "<SHIPURL>" + shpSvc.Url + "<SHIPURL>" +"</ERR>" ; } catch (System.ServiceModel.CommunicationException ex) { errorstring = "<ERR>" + "<TYPE>CommunicationException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "<SHIPURL>" + shpSvc.Url + "<SHIPURL>" + "</ERR>" ; } catch (Exception ex) { errorstring = "<ERR>" + "<TYPE>Exception</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "<SHIPURL>" + shpSvc.Url + "<SHIPURL>" + "</ERR>" ; } return result; } public UPSShipWS.VoidWeb.VoidShipmentResponse VoidPackage(String ShipmentIdentificationNumber) { UPSShipWS.VoidWeb.VoidShipmentResponse voidResponse = null; try { UPSShipWS.VoidWeb.VoidShipmentRequest voidRequest = new UPSShipWS.VoidWeb.VoidShipmentRequest(); VoidWeb.RequestType request = new VoidWeb.RequestType(); //String[] requestOption = { "1" }; //request.RequestOption = requestOption; voidRequest.Request = request; UPSShipWS.VoidWeb.VoidShipmentRequestVoidShipment voidShipment = new UPSShipWS.VoidWeb.VoidShipmentRequestVoidShipment(); voidShipment.ShipmentIdentificationNumber = ShipmentIdentificationNumber; voidRequest.VoidShipment = voidShipment; UPSShipWS.VoidWeb.UPSSecurity upss = new UPSShipWS.VoidWeb.UPSSecurity(); UPSShipWS.VoidWeb.UPSSecurityServiceAccessToken upssSvcAccessToken = new UPSShipWS.VoidWeb.UPSSecurityServiceAccessToken(); upssSvcAccessToken.AccessLicenseNumber = this.AccessLicenseNumber; upss.ServiceAccessToken = upssSvcAccessToken; UPSShipWS.VoidWeb.UPSSecurityUsernameToken upssUsrNameToken = new UPSShipWS.VoidWeb.UPSSecurityUsernameToken(); upssUsrNameToken.Username = this.Username; upssUsrNameToken.Password = this.Password; upss.UsernameToken = upssUsrNameToken; voidService.UPSSecurityValue = upss; voidResponse = voidService.ProcessVoid(voidRequest); } catch (System.Web.Services.Protocols.SoapException ex) { errorstring = "<ERR>" + "<TYPE>SoapException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<CCMSG>" + ex.Detail.LastChild.InnerText + "</CCMSG>" + "<VALUE>" + ex.Detail.Value + "</VALUE>" + "<SCHEMA>" + ex.Detail.SchemaInfo + "</SCHEMA>" + "</ERR>" ; } catch (System.ServiceModel.CommunicationException ex) { errorstring = "<ERR>" + "<TYPE>CommunicationException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "</ERR>" ; } catch (Exception ex) { errorstring = "<ERR>" + "<TYPE>Exception</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "</ERR>" ; } return voidResponse; } public UPSShipWS.TrackWeb.TrackResponse TrackPackage(String ShipmentIdentificationNumber) { UPSShipWS.TrackWeb.TrackResponse trackResponse = null; try { UPSShipWS.TrackWeb.TrackRequest tr = new UPSShipWS.TrackWeb.TrackRequest(); UPSShipWS.TrackWeb.UPSSecurity upss = new UPSShipWS.TrackWeb.UPSSecurity(); UPSShipWS.TrackWeb.UPSSecurityServiceAccessToken upssSvcAccessToken = new UPSShipWS.TrackWeb.UPSSecurityServiceAccessToken(); upssSvcAccessToken.AccessLicenseNumber = this.AccessLicenseNumber; upss.ServiceAccessToken = upssSvcAccessToken; UPSShipWS.TrackWeb.UPSSecurityUsernameToken upssUsrNameToken = new UPSShipWS.TrackWeb.UPSSecurityUsernameToken(); upssUsrNameToken.Username = this.Username; upssUsrNameToken.Password = this.Password; upss.UsernameToken = upssUsrNameToken; track.UPSSecurityValue = upss; UPSShipWS.TrackWeb.RequestType request = new UPSShipWS.TrackWeb.RequestType(); String[] requestOption = { "1" }; request.RequestOption = requestOption; tr.Request = request; tr.InquiryNumber = ShipmentIdentificationNumber; trackResponse = track.ProcessTrack(tr); } catch (System.Web.Services.Protocols.SoapException ex) { errorstring = "<ERR>" + "<TYPE>SoapException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<CCMSG>" + ex.Detail.LastChild.InnerText + "</CCMSG>" + "<VALUE>" + ex.Detail.Value + "</VALUE>" + "<SCHEMA>" + ex.Detail.SchemaInfo + "</SCHEMA>" + "</ERR>" ; } catch (System.ServiceModel.CommunicationException ex) { errorstring = "<ERR>" + "<TYPE>CommunicationException</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "</ERR>" ; } catch (Exception ex) { errorstring = "<ERR>" + "<TYPE>Exception</TYPE>" + "<MSG>" + ex.Message + "</MSG>" + "<TRACE>" + ex.StackTrace + "</TRACE>" + "</ERR>" ; } return trackResponse; } } }
14. November 20168 j Erwartest du echt, dass sich jemand hier im Forum deinen Beitrag überhaupt durchliest? Du kannst eine konkrete Frage stellen, wenn du etwas nicht verstehst oder wenn es konkreter ist. Aber sich durch deinen Code zu wühlen und zu gucken was du falsch gemacht wird hier niemand tun.
14. November 20168 j Stichwort: MVCE http://stackoverflow.com/help/mcve Sind zwar SO guidelines, gelten aber mehr oder minder für jedes Forum in dem man sich Hilfe sucht.
14. November 20168 j Als Fehlermeldung bekomme ich : ...an exeption has been raised as a rsult of client data...shipment can have only one type of unit of measurement for a weight... Weiss jemand wo der Fehler ist ?
14. November 20168 j vor 5 Minuten schrieb Luni88: Weiss jemand wo der Fehler ist ? Also wo der Fehler ist, müsstest du eigentlich selbst finden können. Stichwort: Debugging. Du hast das doch sicherlich nicht in einem Satz runtergecoded ohne dir mal Zwischenausgaben geben zu lassen und deine Fortschritte zu testen.
14. November 20168 j Im Editor gibt es hier auch so tolle Code-Tags, wenn du die um deinen Code packst ist das ganze ein bisschen besser lesbar. Du musst deinen Text auch nicht fett und unterstrichen hervorheben, wir lesen das auch so. Die Frage einfach zu wiederholen, ohne auf irgendwas einzugehen ist auch nicht so geil. Hast du schon versucht den Fehler einzugrenzen? Es geht wohl darum, dass du die Einheit für eine Gewichtsangabe falsch setzt. Bearbeitet 14. November 20168 j von PVoss
14. November 20168 j Magst du vielleicht mal die Zeile angeben, die die Exception schmeißt? So etwas ist immer sehr hilfreich... Ich werde jetzt nicht alles durch meinen geistigen Compiler jagen, auch wenn ich noch so gerne helfen würde.
14. November 20168 j Wo passiert das? In Welcher Zeile fliegst du denn? Wie sind zu dem Zeitpunkt die Variablen gefüllt? Öffne doch mal den Debugger und erleuchte uns und dich
14. November 20168 j Hallo, da sich die Post nun widerholt, wäre es das beste die Anmerkungen aus deinen anderen Thread zu beachten. (Genaue Fehlerbeschreibung, Eingrenzung des Fehlers, etc.) Dein Fehler scheint durch Falsche Eingabewerte hervorgerufen zu werden. Mehr kann und will ich zurzeit nicht weiter sagen, da Anmerkungen unsererseits anscheinend eh nicht berücksichtigt oder zumindest durch einen Kommentar zur Kenntnis genommen werden. Wenn nicht mehr kommt wird dieser Thread höchstwahrscheinlich auch nicht mehr zu deiner Problemlösung beitragen. Gruß
14. November 20168 j Also dein Screenshot bringt ja nicht wirklich was... Nenn uns bitte die Zeilennummer, welche diese Ausgabe macht, bzw. auch die, die sie verursacht.
14. November 20168 j vor 21 Minuten schrieb Luni88: Weiss jemand wo der Fehler ist ? Der Fehler hat nichts mit C# zu tun. Du benutzt offenbar das UPS-API falsch. Darum kann dir auch nur jemand helfen, der das API kennt. Das dürften nicht allzu viele sein, hier vermutlich niemand. Du erwartest jetzt hoffentlich nicht, dass sich jemand bei der UPS-Entwickler-Community anmeldet und die API-Dokumentation, die Beispiele, FAQs und so weiter für dich durchsucht. Das ist deine Aufgabe. Und wenn du damit nicht weiterkommst, gibt es dort bestimmt auch ein Forum, in dem sich jede Menge Leute herumtreiben, die sich mit dem API beschäftigten. Mir ist ehrlich gesagt schleierhaft, wie du darauf kommst, dass es eine gute Idee wäre, eine solche Frage ausgerechnet hier zu stellen.
14. November 20168 j (test == null) obwohl ich das Paket ja erstellt und gefüllt habe siehe Package package = new Package ("6CCE28CFBB6BB67B", "intecadmin", "37170Uslar","Mein Paket", shipperNumber, shipperNumber, versender.AnschriftToArray(), versender.Ort, versender.Postleitzahl, versender.Name, versender.Nachname, versender.Telefonnummer, "DE" , "NRW", versender.AnschriftToArray()); package.setTestMode(); package.addPackage("BX", "CP", "8"); UPSShipWS.ShipWeb.ShipmentResultsType test = package.sendPackage(versender.AnschriftToArray(), versender.Ort, versender.Postleitzahl, versender.Bundesland, versender.Name, versender.Nachname, "NRW", empfänger.AnschriftToArray(), empfänger.Ort, empfänger.Postleitzahl, empfänger.Bundesland, empfänger.Name, empfänger.Nachname, empfänger.Telefonnummer, "NRW", "Standard", "ST", ausdruck.Höhe, ausdruck.Breite, ausdruck.Format); Warum ??
14. November 20168 j vor 7 Minuten schrieb Luni88: (test == null) Ich werde aus deinem Code nicht besonders schlau. Was soll uns das sagen? Am besten wendest du dich an den API-Entwickler damit. Viel Erfolg bei der Lösung deines Problems.
14. November 20168 j Zeile: package.addPackage("BX", "CP", "8"); Den Unit of Measure Code "BX" gibt es nicht, allenfalls "BOX". Vllt. ist er deshalb ausgestiegen und hat 0 statt 1 ein "unit of measurement for a weight"
13. Dezember 20168 j Am 14.11.2016 um 11:22 schrieb Gast Luni88: Als Fehlermeldung bekomme ich : ...an exeption has been raised as a rsult of client data...shipment can have only one type of unit of measurement for a weight... Weiss jemand wo der Fehler ist ? 6 Steht doch in der Exception. shipment can have only one type of unit of measurement for a weight... Die Fehlermeldung besitzt genug Aussagekraft.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.