Glen J Fergo

Good Morning!

If anyone has any thoughts on this error we would love to hear them!

The problem is very intermittent. Orders are being submitted fine most of the time.

The ProgID appears to be Commerce.QueryCatalogInfo -- which I believe is the very first stage in the Basket pipeline.

The error message is a little confusing though. Does this mean we are passing a CommerceResourceCollection object into the pipeline... when we shouldn't be

Thanks in advance!

Glen

Framework version: 2.0.50727.166

Exception Details: System.Runtime.Serialization.SerializationException: Component Execution failed for component[0x0] hr: 0x8013150C

ProgID: Commerce.QueryCatalogInfo

Type 'Microsoft.CommerceServer.Runtime.Configuration.CommerceResourceCollection' in Assembly 'Microsoft.CommerceServer.Shared, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable.


Server stack trace:

at Microsoft.CommerceServer.Interop.PooledPipelineClass.Execute(Int32 lMode, Object pdispOrder, Object pdispContext, Int32 lFlags)

at Microsoft.CommerceServer.Runtime.Orders.PipelineHelper.RunPipesHelper(String strPCF, String strPipelineProgId, IDictionary dictOrderForm, IDictionary pipeContext, String logfile)

at Microsoft.CommerceServer.Internal.Orders.MtsHelper.RunPipes(String strPCF, String strPipelineProgId, IDictionary dictOrderForm, IDictionary pipeContext, String logfile)

at System.Runtime.Remoting.Messaging.Message.Dispatch(Object target, Boolean fExecuteInContext)

at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)



Re: Commerce Server 2007 Type xxx is not marked as serializable?

Joseph Johnson

Glen,

It definately looks like you're attempting to pass a CommerceResourceCollection object into the pipeline, which would probably throw this error. I would assume that even though this failed on the QueryCatalogInfo component, it'll fail on any given component.

Are you attaching anything to the context before executing the pipeline This sort of thing is done using the PipelineInfo class, in example:

PipelineInfo p = new PipelineInfo("basket");

p["key"] = value;

The compiler doesn't really care what you attach to the context using this technique, but I think the runtime needs to be able to serialize anything you attach. As such, if you've done something like:

p["resource_collection"] = CommerceContext.Current.Resources;

You're going to get this error.






Re: Commerce Server 2007 Type xxx is not marked as serializable?

Glen J Fergo

Joseph,

We have decided to blame McAfee VirusScan! :-)

We found something in the Event Log on the web server. Looks like VirusScan blocked something - wish I could be more 'technical' but we haven't nailed down all the details yet.

Right after this event there are numerous errors including some pipeline execution errors that say the HttpContext.Current is null.

Thanks for your help!

Glen