Problem : Fedex Shipping Service Error Mesages — Plz Help Me Understand

Problem : Fedex Shipping Service Error Mesages — Plz Help Me Understand

I am developing  an application using FEDEX SHIPPING SERVICE for shipping from my eCommerce website in ASP.NET .

While developing for some of the SERVICES i am getting ERROR MESSAGES and i couldn’t  figure out the problem.

Following are the SERVICE TYPE and ERROR MESSAGES :
————————–———-———-———-———-———-

Service Type:INTERNATIONAL_ECONOMY_FREIGHT
Error:Invalid Shipper load and count

Service Type:INTERNATIONAL_PRIORITY_FREIGHT
Error:Invalid Shipper load and count

Service Type:INTERNATIONAL_FIRST
Error:Service type not valid with commitment

Service Type:EUROPE_FIRST_INTERNATIONAL_PRIORITY
Error:Service type not valid with commitment

Service Type:GROUND_HOME_DELIVERY
Error:Shipments for home delivery service must be designated as residential delivery also.
————————–———-———-———-———-———-———-——-

Please help me to resolve the problem.

(FEDEX have provided VB.NET samples also.)


Solution : Fedex Shipping Service Error Mesages — Plz Help Me Understand

Here is the code that is working for International First.

I had the same account number for all account number variables.

I put a comment of CHANGE where I changed some of the sample code.

If you actually use the International Freight, let me know and maybe later this week I can try and find the additional fields you need.

EUROPE FIRST is for intra-European shipments only.  I don’t have any addresses that qualify to test, but this code should work for that also if both the shipper and receiver are in Europe with addresses that qualify.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
Imports ShipWebServiceClient.ShipServiceWebReference
Imports System.Web.Services.Protocols
Imports System.IO
 
Module Module1
 
    Sub Main()
        Dim request As ProcessShipmentRequest = New ProcessShipmentRequest() ' Build a request object
        '
        request.WebAuthenticationDetail = New WebAuthenticationDetail()
        request.WebAuthenticationDetail.UserCredential = New WebAuthenticationCredential()
        request.WebAuthenticationDetail.UserCredential.Key = "XXX" ' Replace "!!!!XXX" with the Key
        request.WebAuthenticationDetail.UserCredential.Password = "XXX" ' Replace "!!!!XXX" with the Password
        '
        request.ClientDetail = New ClientDetail()
        request.ClientDetail.AccountNumber = "XXX" ' Replace "!!!!XXX" with clients account number
        request.ClientDetail.MeterNumber = "XXX" ' Replace "!!!!XXX" with clients meter number
        '
        request.TransactionDetail = New TransactionDetail()
        request.TransactionDetail.CustomerTransactionId = "***International Ground Shipment v3 Request using VB.NET***" ' The client will get the same value back in the response
        '
        request.Version = New VersionId() ' WSDL version information, value is automatically set from wsdl
        '
        request.RequestedShipment = New RequestedShipment()
        request.RequestedShipment.ShipTimestamp = DateTime.Now ' Ship date and time
        request.RequestedShipment.DropoffType = DropoffType.REGULAR_PICKUP
        request.RequestedShipment.ServiceType = ServiceType.INTERNATIONAL_FIRST ' Service types are STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND ...
        request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING ' Packaging type FEDEX_BOK, FEDEX_PAK, FEDEX_TUBE, YOUR_PACKAGING, ...
        '
        request.RequestedShipment.Shipper = New Party() ' Sender information
        request.RequestedShipment.Shipper.AccountNumber = "XXX" ' Replace "!!!!XXX" with clients account number
        request.RequestedShipment.Shipper.Contact = New Contact()
        request.RequestedShipment.Shipper.Contact.PersonName = "Sender Name"
        request.RequestedShipment.Shipper.Contact.CompanyName = "Sender Company Name"
        request.RequestedShipment.Shipper.Contact.PhoneNumber = "888-888-8888"
        '
        request.RequestedShipment.Shipper.Address = New Address()
        request.RequestedShipment.Shipper.Address.StreetLines = New String(0) {"PUT IN VALID ADDRESS"} '!!!!
        request.RequestedShipment.Shipper.Address.City = "CITY"
        request.RequestedShipment.Shipper.Address.StateOrProvinceCode = "ST"
        request.RequestedShipment.Shipper.Address.PostalCode = "99999"
        request.RequestedShipment.Shipper.Address.CountryCode = "US"
        '
        request.RequestedShipment.Recipient = New Party() ' Recipient information
        request.RequestedShipment.Recipient.Contact = New Contact()
        request.RequestedShipment.Recipient.Contact.PersonName = "Recipient Name"
        request.RequestedShipment.Recipient.Contact.CompanyName = "Recipient Company Name"
        request.RequestedShipment.Recipient.Contact.PhoneNumber = "9012637906"
        '
        request.RequestedShipment.Recipient.Address = New Address()
        request.RequestedShipment.Recipient.Address.StreetLines = New String(0) {"VALID ADDRESS"}
        request.RequestedShipment.Recipient.Address.City = "CITY"
        request.RequestedShipment.Recipient.Address.StateOrProvinceCode = ""
        request.RequestedShipment.Recipient.Address.PostalCode = ""
        request.RequestedShipment.Recipient.Address.CountryCode = ""
        request.RequestedShipment.Recipient.Address.Residential = False
        '
        request.RequestedShipment.ShippingChargesPayment = New Payment() ' Payment information
        request.RequestedShipment.ShippingChargesPayment.PaymentType = PaymentType.SENDER
        request.RequestedShipment.ShippingChargesPayment.Payor = New Payor()
        request.RequestedShipment.ShippingChargesPayment.Payor.AccountNumber = "XXX" ' Replace "!!!!XXX" with payors account number
        request.RequestedShipment.ShippingChargesPayment.Payor.CountryCode = "US"
        '
        request.RequestedShipment.InternationalDetail = New InternationalDetail() ' International details
        request.RequestedShipment.InternationalDetail.DutiesPayment = New Payment()
        request.RequestedShipment.InternationalDetail.DutiesPayment.PaymentType = PaymentType.SENDER
        request.RequestedShipment.InternationalDetail.DutiesPayment.Payor = New Payor()
        request.RequestedShipment.InternationalDetail.DutiesPayment.Payor.AccountNumber = "XXX" ' Replace "!!!!XXX" with payors account number
        request.RequestedShipment.InternationalDetail.DutiesPayment.Payor.CountryCode = "US"
        request.RequestedShipment.InternationalDetail.CustomsValue = New Money()
        request.RequestedShipment.InternationalDetail.CustomsValue.Amount = 10.0
        request.RequestedShipment.InternationalDetail.CustomsValue.Currency = "USD"
        '
        request.RequestedShipment.InternationalDetail.Commodities = New Commodity(0) {New Commodity()} ' Commodity details
        request.RequestedShipment.InternationalDetail.Commodities(0).NumberOfPieces = 1
        request.RequestedShipment.InternationalDetail.Commodities(0).Description = "Books"
        request.RequestedShipment.InternationalDetail.Commodities(0).CountryOfManufacture = "US"
        request.RequestedShipment.InternationalDetail.Commodities(0).Weight = New Weight()
        request.RequestedShipment.InternationalDetail.Commodities(0).Weight.Value = 10.0  ' CHANGE
        request.RequestedShipment.InternationalDetail.Commodities(0).Weight.Units = WeightUnits.LB
        request.RequestedShipment.InternationalDetail.Commodities(0).Quantity = 1
        request.RequestedShipment.InternationalDetail.Commodities(0).QuantityUnits = "EA"
        request.RequestedShipment.InternationalDetail.Commodities(0).UnitPrice = New Money()
        request.RequestedShipment.InternationalDetail.Commodities(0).UnitPrice.Amount = 10.0   'CHANGE
        request.RequestedShipment.InternationalDetail.Commodities(0).UnitPrice.Currency = "USD"
        request.RequestedShipment.InternationalDetail.Commodities(0).CustomsValue = New Money()
        request.RequestedShipment.InternationalDetail.Commodities(0).CustomsValue.Amount = 10.0  'CHANGE
        request.RequestedShipment.InternationalDetail.Commodities(0).CustomsValue.Currency = "USD"
        '
        request.RequestedShipment.LabelSpecification = New LabelSpecification() ' Label specification
        request.RequestedShipment.LabelSpecification.ImageType = LabelSpecificationImageType.PNG ' Image types PDF, PNG, DPL, ...
        request.RequestedShipment.LabelSpecification.ImageTypeSpecified = True
        request.RequestedShipment.LabelSpecification.LabelFormatType = LabelFormatType.LABEL_DATA_ONLY
        request.RequestedShipment.LabelSpecification.LabelFormatTypeSpecified = True
        '
        request.RequestedShipment.RateRequestTypes = New RateRequestType(0) {RateRequestType.ACCOUNT} ' Rate types requested LIST, MULTIWEIGHT, ...
        request.RequestedShipment.PackageCount = 1
        '
        request.RequestedShipment.RequestedPackages = New RequestedPackage(0) {New RequestedPackage()}
        request.RequestedShipment.RequestedPackages(0).Weight = New Weight() ' Package weight information
        request.RequestedShipment.RequestedPackages(0).Weight.Value = 10.0  'CHANGE
        request.RequestedShipment.RequestedPackages(0).Weight.Units = WeightUnits.LB
        request.RequestedShipment.RequestedPackages(0).CustomerReferences = New CustomerReference(0) {New CustomerReference()} ' Reference details
        request.RequestedShipment.RequestedPackages(0).CustomerReferences(0).CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE
        request.RequestedShipment.RequestedPackages(0).CustomerReferences(0).Value = "TC007_07_PT1_ST01_PK01_SNDUS_R"
        '
        Dim shipService As ShipService = New ShipServiceWebReference.ShipService() ' Initialize the service
        '
        Try
            Dim reply As ProcessShipmentReply = shipService.processShipment(request) ' This is the call to the ship web service passing in a request object and returning a reply object
            If (reply.HighestSeverity = NotificationSeverityType.SUCCESS) Then ' check if the call was successful
                Console.WriteLine("--- Package details ---")
                For Each packageDetail As CompletedPackageDetail In reply.CompletedShipmentDetail.CompletedPackageDetails ' Package details / Rating information for each package
                    Console.WriteLine("Tracking # {0}", packageDetail.TrackingId.TrackingNumber)
                    Console.WriteLine("--- Rate details ---")
                    For Each packageRateDetail As PackageRateDetail In packageDetail.PackageRating.PackageRateDetails
                        If (Not packageRateDetail.BillingWeight Is Nothing) Then
                            Console.WriteLine(" Billing weight {0} {1}", packageRateDetail.BillingWeight.Value, packageRateDetail.BillingWeight.Units)
                        End If
                        If (Not packageRateDetail.BaseCharge Is Nothing) Then
                            Console.WriteLine("    Base charge {0} {1}", packageRateDetail.BaseCharge.Amount, packageRateDetail.BaseCharge.Currency)
                        End If
                        If (Not packageRateDetail.NetCharge Is Nothing) Then
                            Console.WriteLine("     Net charge {0} {1}", packageRateDetail.NetCharge.Amount, packageRateDetail.NetCharge.Currency)
                        End If
                        For Each surcharge As Surcharge In packageRateDetail.Surcharges ' Individual surcharge for each package
                            Console.WriteLine("{0} surcharge {1} {2}", surcharge.SurchargeType, surcharge.Amount.Amount, surcharge.Amount.Currency)
                        Next
                        If (Not packageRateDetail.TotalSurcharges Is Nothing) Then
                            Console.WriteLine("Total surcharge {0} {1}", packageRateDetail.TotalSurcharges.Amount, packageRateDetail.TotalSurcharges.Currency)
                        End If
                    Next
                    If (Not packageDetail.Label.Parts(0).Image Is Nothing) Then
                        'Save Label Buffer 
                        Dim FileName As String
                        FileName = "c:\" + packageDetail.TrackingId.TrackingNumber + ".pdf"
                        Dim LabelFile As New FileStream(FileName, FileMode.Create)
                        LabelFile.Write(packageDetail.Label.Parts(0).Image, 0, packageDetail.Label.Parts(0).Image.Length)
                        LabelFile.Close()
 
                        'Display Label in Acrobat
                        Dim info As New System.Diagnostics.ProcessStartInfo(FileName)
                        info.Verb = "open"
                        info.UseShellExecute = True
                        System.Diagnostics.Process.Start(info)
                    End If
                Next
            Else
                For Each notification As Notification In reply.Notifications
                    Console.WriteLine(notification.Message)
                Next
            End If
        Catch e As SoapException
            Console.WriteLine(e.Detail.InnerText)
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
        Console.WriteLine("Press any key to quit !")
        Console.ReadKey()
    End Sub
 
End Module