Ticket #132 (new defect)
NullReferenceException in Mime Multipart Form
| Reported by: | sumip@… | Owned by: | |
|---|---|---|---|
| Priority: | blocker | Milestone: | 2.0 Release Candidate |
| Component: | Codecs | Version: | |
| Keywords: | Cc: | ||
| Time remaining: | 1d | Blocked By: | |
| Time spent: | 1d | Time planned: | 1d |
| Blocking: |
Description (last modified by serialseb) (diff)
Creating a mime message with a stream and multiple simple values worked out fine, but submitting a data contract and a stream produced an exception in OR. Might be the WCF REST starter kit, but probably worth looking into:
Mime-Form:
PUT http://127.0.0.1:56789/uploads/block/ HTTP/1.1
Accept: */*
Referer: http://ipv4.fiddler:56789/ClientBin/Silverlight%20Client.xap
Content-Length: 66183
Accept-Encoding: identity
Content-Type: multipart/form-data; boundary=9843cff13a457ca558b43420
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Host: 127.0.0.1:56789
Connection: Keep-Alive
Pragma: no-cache
--9843cff13a457ca558b43420
Content-Disposition: form-data; name="dataBlock"; filename="dataBlock"
Content-Type: application/xml
<?xml version="1.0" encoding="utf-8"?><DataBlockInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Vfs.Transfer"><BlockLength>65536</BlockLength><BlockNumber>0</BlockNumber><IsLastBlock>false</IsLastBlock><Offset>0</Offset><TransferTokenId>my-transfer</TransferTokenId></DataBlockInfo>
--9843cff13a457ca558b43420
Content-Disposition: form-data; name="blockData"; filename="blockData"
Content-Type: application/octet-stream
[binary data here]''
OR Output:
3-[2010-02-15 08:48:29Z] Verbose(0) Incoming host request for http://localhost:56789/uploads/block/
13-[2010-02-15 08:48:29Z] Verbose(0) Adding communication context data
13-[2010-02-15 08:48:29Z] Warning(0) Contributor call for BootstrapperContributor had a null Action.
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor HttpMethodOverriderContributor.OverrideHttpVerb
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor DigestAuthorizerContributor.ReadCredentials
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor UriDecoratorsContributor.ProcessDecorators
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor ResourceTypeResolverContributor.ResolveResource
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Verbose(0) Rewrote path.
13-[2010-02-15 08:48:29Z] Start(1) Entering OpenRastaRewriterHandler: Rewriting to original path
13-[2010-02-15 08:48:29Z] Start(1) Entering OpenRastaIntegratedHandler: Request for http://localhost:56789/uploads/block/
13-[2010-02-15 08:48:29Z] Verbose(0) Incoming host request for http://localhost:56789/uploads/block/
13-[2010-02-15 08:48:29Z] Verbose(0) Adding communication context data
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor HandlerResolverContributor.ResolveHandler
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor OperationCreatorContributor.CreateOperations
13-[2010-02-15 08:48:29Z] Verbose(0) Created operation named GetUploadToken wth signature UploadHandler::GetUploadToken(String fileName, Int64 fileLength, String contentType)
13-[2010-02-15 08:48:29Z] Verbose(0) Created operation named CompleteUpload wth signature UploadHandler::CompleteUpload(String transferId)
13-[2010-02-15 08:48:29Z] Verbose(0) Created operation named WriteDataBlock wth signature UploadHandler::WriteDataBlock(String transferId, Stream blockData, Int64 dataBlockNumber, Int32 dataBlockLength, Int64 dataBlockOffset, Boolean isLastBlock)
13-[2010-02-15 08:48:29Z] Verbose(0) Created operation named WriteDataBlock wth signature UploadHandler::WriteDataBlock(DataBlockInfo dataBlock, Stream blockData)
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor OperationFilterContributor.ProcessOperations
13-[2010-02-15 08:48:29Z] Verbose(0) Found 0 operation(s) with a matching name.
13-[2010-02-15 08:48:29Z] Verbose(0) Found 1 operation(s) with matching [HttpOperation] attribute.
13-[2010-02-15 08:48:29Z] Verbose(0) No resource or no uri name. Not filtering.
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor OperationCodecSelectorContributor.ProcessOperations
13-[2010-02-15 08:48:29Z] Information(0) Operation UploadHandler::WriteDataBlock(DataBlockInfo dataBlock, Stream blockData) selected with 2 required members and 0 optional members, with codec MultipartFormDataKeyedValuesCodec with score 0.8333334.
13-[2010-02-15 08:48:29Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:29Z] Start(1) Entering PipelineRunner: Executing contributor OperationHydratorContributor.ProcessOperations
13-[2010-02-15 08:48:29Z] Information(0) Operation UploadHandler::WriteDataBlock(DataBlockInfo dataBlock, Stream blockData) was selected with a codec score of 0.8333334
13-[2010-02-15 08:48:29Z] Information(0) Loaded codec OpenRasta.Codecs.MultipartFormDataKeyedValuesCodec
13-[2010-02-15 08:48:29Z] Information(0) Codec supports IKeyedValuesMediaTypeReader. Processing parameters.
13-[2010-02-15 08:48:29Z] Verbose(0) Seeking to next available part
13-[2010-02-15 08:48:29Z] Verbose(0) Skip the preamble. AtPreamble was True.
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:29Z] Verbose(0) Preamble found: True of size 0
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:29Z] Verbose(0) Skip the preamble. AtPreamble was False.
13-[2010-02-15 08:48:29Z] Verbose(0) Preamble found: False of size 0
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:29Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) Seeking to next available part
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) Skip the preamble. AtPreamble was False.
13-[2010-02-15 08:48:30Z] Verbose(0) Preamble found: False of size 0
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) Seeking to next available part
13-[2010-02-15 08:48:30Z] Verbose(0) not null
13-[2010-02-15 08:48:30Z] Verbose(0) not null
A first chance exception of type 'System.NullReferenceException' occurred in OpenRasta.DLL
13-[2010-02-15 08:48:30Z] Error(0) An error of type System.NullReferenceException has been thrown
13-[2010-02-15 08:48:30Z] Error(0) System.NullReferenceException: Object reference not set to an instance of an object.
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Codecs.AbstractMultipartFormDataCodec.ConvertValues(IMultipartHttpEntity entity, Type targetType) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Codecs\multipart\form-data\AbstractMultipartFormDataCodec.cs:line 92
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.TypeSystem.ReflectionBased.ReflectionExtensions.CreateInstanceFrom[T](Type type, IEnumerable`1 propertyValues, ValueConverter`1 converter) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\TypeSystem\ReflectionBased\ReflectionExtensions.cs:line 123
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.TypeSystem.ReflectionBased.ReflectionBasedType.TryCreateInstance[T](IEnumerable`1 values, ValueConverter`1 converter, Object& result) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\TypeSystem\ReflectionBased\ReflectionBasedType.cs:line 63
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.TypeSystem.TypeBuilder.TrySetValue[T](IEnumerable`1 values, ValueConverter`1 converter) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\TypeSystem\TypeBuilder.cs:line 76
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Binding.KeyedValuesBinder.SetConstructorValue[TValue](IEnumerable`1 values, ValueConverter`1 converter) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Binding\KeyedValuesBinder.cs:line 97
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Binding.KeyedValuesBinder.SetProperty[TValue](String key, IEnumerable`1 values, ValueConverter`1 converter) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Binding\KeyedValuesBinder.cs:line 86
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Binding.KeyedValues`1.SetProperty(IObjectBinder binder) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Binding\KeyedValues`1.cs:line 36
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Codecs.CodecExtensions.<>c__DisplayClass8.<TryAssignKeyValues>b__7(KeyedValues kv) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Codecs\CodecExtensions.cs:line 38
13-[2010-02-15 08:48:30Z] Error(0) at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Collections.ObservableIterator`1.<GetEnumerator>d__0.MoveNext() in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Collections\ObservableIterator.cs:line 42
13-[2010-02-15 08:48:30Z] Error(0) at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Codecs.CodecExtensions.TryAssignKeyValues(ICodec codec, IHttpEntity entity, IObjectBinder binder, Action`1 assigned, Action`1 failed) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Codecs\CodecExtensions.cs:line 36
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Codecs.CodecExtensions.<>c__DisplayClassb.<TryAssignKeyValues>b__a(Boolean result, IObjectBinder binder) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Codecs\CodecExtensions.cs:line 52
13-[2010-02-15 08:48:30Z] Error(0) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable`1 source, TAccumulate seed, Func`3 func)
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Codecs.CodecExtensions.TryAssignKeyValues(ICodec codec, IHttpEntity entity, IEnumerable`1 binders, Action`1 assigned, Action`1 failed) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Codecs\CodecExtensions.cs:line 52
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.OperationModel.Hydrators.RequestEntityReaderHydrator.TryAssignKeyedValues(IHttpEntity requestEntity, ICodec codec, Type codecType, IOperation operation) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\OperationModel\Hydrators\RequestEntityReaderHydrator.cs:line 88
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.OperationModel.Hydrators.RequestEntityReaderHydrator.<Process>d__8.MoveNext() in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\OperationModel\Hydrators\RequestEntityReaderHydrator.cs:line 56
13-[2010-02-15 08:48:30Z] Error(0) at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
13-[2010-02-15 08:48:30Z] Error(0) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Pipeline.Contributors.AbstractOperationProcessing`2.ProcessOperations(ICommunicationContext context) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Pipeline\Contributors\AbstractOperationProcessing.cs:line 24
13-[2010-02-15 08:48:30Z] Error(0) at OpenRasta.Pipeline.PipelineRunner.ExecuteContributor(ICommunicationContext context, ContributorCall call) in c:\data\teamcity-agent\76e5d693a1510fce\src\core\OpenRasta\Pipeline\PipelineRunner.cs:line 172
13-[2010-02-15 08:48:30Z] Stop(1) Exiting PipelineRunner
13-[2010-02-15 08:48:30Z] Error(0) Aborting the pipeline and rendering the errors.
13-[2010-02-15 08:48:30Z] Error(0) An error has occurred and the processing of the request has stopped.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.
