2012-06-13 1 views
0

J'essaie d'exécuter le test PHP pour l'API UPS Freight Shipping fournie avec le SDK officiel UPS. J'ai finalement réussi à me connecter au service SOAP avec un nom d'utilisateur, un mot de passe et une clé API corrects, mais maintenant je reçois une erreur que je ne sais pas comment résoudre. L'erreur en revenant du serveur estErreur de l'API UPS: Document de demande d'expédition invalide

Invalid Ship Request Document

La réponse complète du serveur ressemble à ceci:

SoapFault Object 
(
[message:protected] => An exception has been raised as a result of client data. 
[string:private] => 
[code:protected] => 0 
[file:protected] => /my_home_dir/UPS_API/test.php 
[line:protected] => 224 
[trace:private] => Array 
    (
     [0] => Array 
      (
       [file] => /my_home_dir/UPS_API/test.php 
       [line] => 224 
       [function] => __soapCall 
       [class] => SoapClient 
       [type] => -> 
       [args] => Array 
        (
         [0] => ProcessFreightRate 
         [1] => Array 
          (
           [0] => Array 
            (
             [Request] => Array 
              (
               [RequestOption] => RateChecking Option 
              ) 

             [ShipFrom] => Array 
              (
               [Name] => Good Incorporation 
               [Address] => Array 
                (
                 [AddressLine] => 2010 WARSAW ROAD 
                 [City] => Roswell 
                 [StateProvinceCode] => GA 
                 [PostalCode] => 30076 
                 [CountryCode] => US 
                ) 

              ) 

             [ShipTo] => Array 
              (
               [Name] => Sony Company Incorporation 
               [Address] => Array 
                (
                 [AddressLine] => 2311 YORK ROAD 
                 [City] => TIMONIUM 
                 [StateProvinceCode] => MD 
                 [PostalCode] => 21093 
                 [CountryCode] => US 
                ) 

              ) 

             [PaymentInformation] => Array 
              (
               [Payer] => Array 
                (
                 [Name] => Payer inc 
                 [Address] => Array 
                  (
                   [AddressLine] => 435 SOUTH STREET 
                   [City] => RIS TOWNSHIP 
                   [StateProvinceCode] => NJ 
                   [PostalCode] => 07960 
                   [CountryCode] => US 
                  ) 

                ) 

               [ShipmentBillingOption] => Array 
                (
                 [Code] => 10 
                 [Description] => PREPAID 
                ) 

              ) 

             [Service] => Array 
              (
               [Code] => 308 
               [Description] => UPS Freight LTL 
              ) 

             [HandlingUnitOne] => Array 
              (
               [Quantity] => 20 
               [Type] => Array 
                (
                 [Code] => PLT 
                 [Description] => PALLET 
                ) 

              ) 

             [Commodity] => Array 
              (
               [CommodityID] => 
               [Description] => No Description 
               [Weight] => Array 
                (
                 [UnitOfMeasurement] => Array 
                  (
                   [Code] => LBS 
                   [Description] => Pounds 
                  ) 

                 [Value] => 750 
                ) 

               [Dimensions] => Array 
                (
                 [UnitOfMeasurement] => Array 
                  (
                   [Code] => IN 
                   [Description] => Inches 
                  ) 

                 [Length] => 23 
                 [Width] => 17 
                 [Height] => 45 
                ) 

               [NumberOfPieces] => 45 
               [PackagingType] => Array 
                (
                 [Code] => BAG 
                 [Description] => BAG 
                ) 

               [DangerousGoodsIndicator] => 
               [CommodityValue] => Array 
                (
                 [CurrencyCode] => USD 
                 [MonetaryValue] => 5670 
                ) 

               [FreightClass] => 60 
               [NMFCCommodityCode] => 
              ) 

             [ShipmentServiceOptions] => Array 
              (
               [PickupOptions] => Array 
                (
                 [HolidayPickupIndicator] => 
                 [InsidePickupIndicator] => 
                 [ResidentialPickupIndicator] => 
                 [WeekendPickupIndicator] => 
                 [LiftGateRequiredIndicator] => 
                ) 

               [OverSeasLeg] => Array 
                (
                 [Dimensions] => Array 
                  (
                   [Volume] => 20 
                   [UnitOfMeasurement] => Array 
                    (
                     [Code] => CF 
                     [Description] => String 
                    ) 

                  ) 

                 [Value] => Array 
                  (
                   [Cube] => Array 
                    (
                     [CurrencyCode] => USD 
                     [MonetaryValue] => 5670 
                    ) 

                  ) 

                 [COD] => Array 
                  (
                   [CODValue] => Array 
                    (
                     [CurrencyCode] => USD 
                     [MonetaryValue] => 363 
                    ) 

                   [CODPaymentMethod] => Array 
                    (
                     [Code] => M 
                     [Description] => For Company Check 
                    ) 

                   [CODBillingOption] => Array 
                    (
                     [Code] => 01 
                     [Description] => Prepaid 
                    ) 

                   [RemitTo] => Array 
                    (
                     [Name] => RemitToSomebody 
                     [Address] => Array 
                      (
                       [AddressLine] => 640 WINTERS AVE 
                       [City] => PARAMUS 
                       [StateProvinceCode] => NJ 
                       [PostalCode] => 07652 
                       [CountryCode] => US 
                      ) 

                     [AttentionName] => C J Parker 
                    ) 

                  ) 

                 [DangerousGoods] => Array 
                  (
                   [Name] => Very Safe 
                   [Phone] => Array 
                    (
                     [Number] => 453563321 
                     [Extension] => 1111 
                    ) 

                   [TransportationMode] => Array 
                    (
                     [Code] => CARGO 
                     [Description] => Cargo Mode 
                    ) 

                  ) 

                 [SortingAndSegregating] => Array 
                  (
                   [Quantity] => 23452 
                  ) 

                 [CustomsValue] => Array 
                  (
                   [CurrencyCode] => USD 
                   [MonetaryValue] => 23457923 
                  ) 

                 [HandlingCharge] => Array 
                  (
                   [Amount] => Array 
                    (
                     [CurrencyCode] => USD 
                     [MonetaryValue] => 450 
                    ) 

                  ) 

                ) 

              ) 

            ) 

          ) 

        ) 

      ) 

    ) 

[faultstring] => An exception has been raised as a result of client data. 
[faultcode] => Client 
[faultcodens] => http://schemas.xmlsoap.org/soap/envelope/ 
[detail] => stdClass Object 
    (
     [Errors] => stdClass Object 
      (
       [ErrorDetail] => stdClass Object 
        (
         [Severity] => Hard 
         [PrimaryErrorCode] => stdClass Object 
          (
           [Code] => 9121000 
           [Description] => Invalid Ship Request Document 
          ) 

        ) 

      ) 

    ) 

) 

Le code que j'utilise pour faire la demande peut être trouvée ici (les pouvoirs ont été supprimé pour des raisons de sécurité): http://pastebin.com/Yw7sPQdg

Répondre