Exception i SaveCartAsPurchaseOrder, SerializedCart [11.3]

Member since: 2004

Hi!

I sometimes get this expection when I try to create a purchase order from a SerializedCart:

[ArgumentNullException: Value cannot be null.
Parameternamn: value]
   System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic, CacheInternal cache) +1843728
   System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace) +139
   System.Web.Caching.AspNetCache.Insert(String key, Object item, CacheInsertOptions options) +130
   System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration) +132
   EPiServer.Framework.Cache.HttpRuntimeCache.Insert(String key, Object value, CacheEvictionPolicy evictionPolicy) +337
   Mediachase.MetaDataPlus.Configurator.MetaDataTypes.GetDatabaseValueStringDictionary(MetaDataContext context, MetaObject metaObject, Nullable`1 workId, MetaField metaField, Object value) +171
   Mediachase.MetaDataPlus.MetaObject.GetMetaObjectUpdateParameters(MetaDataContext context) +281
   Mediachase.MetaDataPlus.MetaObject.AcceptChanges(MetaDataContext context) +143
   Mediachase.Commerce.Storage.MetaStorageBase.AcceptChanges(MetaDataContext context, Boolean saveSystem) +334
   Mediachase.Commerce.Orders.OrderForm.AcceptChanges() +243
   Mediachase.Commerce.Storage.MetaStorageCollectionBase`1.AcceptChanges() +841
   Mediachase.Commerce.Orders.OrderGroup.AcceptChanges() +149
   Mediachase.Commerce.Orders.PurchaseOrder.AcceptChanges() +230
   EPiServer.Commerce.Order.PurchaseOrderProvider.Save(IPurchaseOrder purchaseOrder) +80
   EPiServer.Commerce.Order.Internal.SerializableCartProvider.SaveAsPurchaseOrder(ICart cart) +508
   EPiServer.Commerce.Order.DefaultOrderRepository.SaveAsPurchaseOrder(IOrderGroup orderGroup) +432
   Designonline.Site.Features.Checkout.Controllers.CheckoutController.PrepareAndCreateOrder(ICart klarnaCheckoutCart) in D:\Projekt\Scandinavian Design Online\Development\ScandinavianDesignCenter\Sources\Designonline.Site\Features\Checkout\Controllers\CheckoutController.cs:1546
   Designonline.Site.Features.Checkout.Controllers.CheckoutController.Finish(CheckoutPage currentPage, ICart klarnaCheckoutCart) in D:\Projekt\Scandinavian Design Online\Development\ScandinavianDesignCenter\Sources\Designonline.Site\Features\Checkout\Controllers\CheckoutController.cs:1492
   Designonline.Site.Features.Checkout.Controllers.CheckoutController.KlarnaPush(CheckoutPage currentPage, String klarnaOrder, String orderGroupId) in D:\Projekt\Scandinavian Design Online\Development\ScandinavianDesignCenter\Sources\Designonline.Site\Features\Checkout\Controllers\CheckoutController.cs:1967
   lambda_method(Closure , ControllerBase , Object[] ) +240
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +71
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +385
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +185
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +67
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +43
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +67
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +607
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134

It seems to have something to do with the Metadata but there is only one "value cannot be null" property and that one has a value.
The exception looks like it occours when it tries to cache some Metadata?

Any suggestions?

Thanks!

/Kristoffer

#185203 Nov 11, 2017 2:18
  • Member since: 2011

    Hi,

    Can you post how does your cart look like? 

    #185207 Nov 11, 2017 13:23
  • Member since: 2004

    Hi!

    This json gives me the cache error:

    {  
       "Id":1,
       "Created":"2017-11-10T19:04:01.513Z",
       "Currency":"SEK",
       "CustomerId":"dcb01835-895a-4025-8c74-8c9d2181903c",
       "Forms":[  
          {  
             "OrderFormId":-1,
             "AuthorizedPaymentTotal":0.0,
             "CapturedPaymentTotal":0.0,
             "HandlingTotal":0.0,
             "Name":"Default",
             "Shipments":[  
                {  
                   "ShipmentId":-1,
                   "ShippingMethodId":"d9188b0b-ab86-4113-8960-75e4181896ed",
                   "ShippingMethodName":null,
                   "ShippingAddress":{  
                      "Id":"e0bf678b-2815-41d2-b225-6283bf37a2d9",
                      "FirstName":"Kristoffer",
                      "LastName":"Lindén",
                      "Organization":"",
                      "Line1":"Allmoge",
                      "Line2":null,
                      "City":"Spånga",
                      "CountryCode":"SWE",
                      "CountryName":"SWE",
                      "PostalCode":"12345",
                      "RegionCode":null,
                      "RegionName":null,
                      "DaytimePhoneNumber":"070 830 82 84",
                      "EveningPhoneNumber":null,
                      "FaxNumber":null,
                      "Email":"kristoffer@authority.se",
                      "Properties":{  
    
                      }
                   },
                   "ShipmentTrackingNumber":null,
                   "OrderShipmentStatus":1,
                   "PickListId":null,
                   "WarehouseCode":"default",
                   "LineItems":[  
                      {  
                         "LineItemId":-1,
                         "Code":"29449-01",
                         "DisplayName":null,
                         "PlacedPrice":559.2,
                         "Quantity":1.0,
                         "ReturnQuantity":0.0,
                         "InventoryTrackingStatus":0,
                         "IsInventoryAllocated":false,
                         "IsGift":false,
                         "Properties":{  
    
                         },
                         "AllowBackordersAndPreorders":false,
                         "InStockQuantity":0.0,
                         "BackorderQuantity":0.0,
                         "PreorderQuantity":0.0,
                         "InventoryStatus":0,
                         "MaxQuantity":0.0,
                         "MinQuantity":0.0,
                         "EntryAmount":0.0,
                         "OrderAmount":0.0
                      },
                      {  
                         "LineItemId":-2,
                         "Code":"28662-01",
                         "DisplayName":null,
                         "PlacedPrice":199.2,
                         "Quantity":1.0,
                         "ReturnQuantity":0.0,
                         "InventoryTrackingStatus":0,
                         "IsInventoryAllocated":false,
                         "IsGift":false,
                         "Properties":{  
    
                         },
                         "AllowBackordersAndPreorders":false,
                         "InStockQuantity":0.0,
                         "BackorderQuantity":0.0,
                         "PreorderQuantity":0.0,
                         "InventoryStatus":0,
                         "MaxQuantity":0.0,
                         "MinQuantity":0.0,
                         "EntryAmount":0.0,
                         "OrderAmount":0.0
                      },
                      {  
                         "LineItemId":-3,
                         "Code":"25221-02",
                         "DisplayName":null,
                         "PlacedPrice":3119.2,
                         "Quantity":1.0,
                         "ReturnQuantity":0.0,
                         "InventoryTrackingStatus":0,
                         "IsInventoryAllocated":false,
                         "IsGift":false,
                         "Properties":{  
    
                         },
                         "AllowBackordersAndPreorders":false,
                         "InStockQuantity":0.0,
                         "BackorderQuantity":0.0,
                         "PreorderQuantity":0.0,
                         "InventoryStatus":0,
                         "MaxQuantity":0.0,
                         "MinQuantity":0.0,
                         "EntryAmount":0.0,
                         "OrderAmount":0.0
                      }
                   ],
                   "Properties":{  
    
                   },
                   "ShipmentDiscount":0.0,
                   "OperationKeys":{  
    
                   }
                }
             ],
             "Promotions":[  
    
             ],
             "CouponCodes":[  
    
             ],
             "Payments":[  
                {  
                   "Amount":4847.0,
                   "AuthorizationCode":null,
                   "BillingAddress":{  
                      "Id":"a9e006c3-d0e6-418d-9735-4861b707f5ad",
                      "FirstName":"Kristoffer",
                      "LastName":"Lindén",
                      "Organization":"",
                      "Line1":"Allmoge",
                      "Line2":null,
                      "City":"Spånga",
                      "CountryCode":"SWE",
                      "CountryName":"SWE",
                      "PostalCode":"12345",
                      "RegionCode":null,
                      "RegionName":null,
                      "DaytimePhoneNumber":"070 830 82 84",
                      "EveningPhoneNumber":null,
                      "FaxNumber":null,
                      "Email":"kristoffer@authority.se",
                      "Properties":{  
    
                      }
                   },
                   "CustomerName":null,
                   "ImplementationClass":null,
                   "PaymentId":0,
                   "PaymentMethodId":"e5448302-25f8-4ae4-90a7-bfa525f3ffdb",
                   "PaymentMethodName":"KlarnaCheckout",
                   "PaymentType":0,
                   "ProviderTransactionID":null,
                   "Status":"Pending",
                   "TransactionID":null,
                   "TransactionType":"Authorization",
                   "ValidationCode":null,
                   "Properties":{  
    
                   }
                }
             ],
             "Properties":{  
                "SelectedServicePoint":[  
                   {  
                      "Key":"pickupaddress",
                      "Value":"SPÅNGAVÄGEN 353"
                   },
                   {  
                      "Key":"pickupcountry",
                      "Value":"SE"
                   },
                   {  
                      "Key":"pickupagentno",
                      "Value":"SE-969800"
                   },
                   {  
                      "Key":"pickuppostcode",
                      "Value":"16355"
                   },
                   {  
                      "Key":"pickupaddress2",
                      "Value":""
                   },
                   {  
                      "Key":"pickupname",
                      "Value":"NÄLSTA VIDEO"
                   },
                   {  
                      "Key":"pickupcity",
                      "Value":"SPÅNGA"
                   },
                   {  
                      "Key":"pickupparid",
                      "Value":""
                   }
                ]
             }
          }
       ],
       "Market":"SV",
       "Modified":"2017-11-11T15:18:23.6357023Z",
       "Name":"Default",
       "Notes":[  
    
       ],
       "OrderLink":{  
          "OrderGroupId":1,
          "Name":"Default",
          "CustomerId":"dcb01835-895a-4025-8c74-8c9d2181903c",
          "OrderType":"EPiServer.Commerce.Order.Internal.SerializableCart, EPiServer.Business.Commerce, Version=11.3.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"
       },
       "OrderStatus":4,
       "Organization":null,
       "Properties":{  
          "OrderConfirmationShown":true,
          "TaxRate":"25",
          "TrackingNumber":"T1",
          "KlarnaCheckoutOrder":"7ZRFUDMB5FR7LIVMAMHEVYOP6XQ"
       }
    }
    
    
    
    

    Thanks!

    /Kristoffer

    #185213 Nov 11, 2017 16:27
  • Member since: 2011

    I think SelectedServicePoint is suspicious here. I can't say anything for sure without the database, so I would suggest you to contact developer support service and file a support ticket.

    #185249 Nov 13, 2017 15:34
  • Member since: 2004

    Looks like you are right. If I use a shipment method withour pickup point the SaveAsPurchaseOrder works just fine.

    I have send an email to developer support.

    /Kristoffer

    #185267 Nov 13, 2017 23:03
  • Member since: 2004

    I created a new property as LongString an serialized the values to json instead and then it works fine. I guess there must be something with serializing the MetaDictionary datatype.

    /Kristoffer

    #185284 Nov 14, 2017 12:34