I don't have much experience here, but this line looks odd -- could it be causing
trouble for the next sink?
requestHeaders["__RequestVerb"] = null;
What if the next sink looks for the value of __RequestVerb and blows if it's not
found?
Not having really looked, I'd somewhat presume that names starting __ are for the
framework and aren't there for you to play with. (Also, I'd think that such a line
needs a comment explaining what it's supposed to accomplish.)
At 10:55 AM 8/22/2003 -0400, Brant Fallin wrote
>When calling _nextSink.ProcessMessage(...) from a custom server transport
>sink i am developing i get a ReturnMessage that contains an exception with
>the following text:
>
>"Error: Server encountered an internal error. For more information, turn
>on customErrors in the server's .config file"
>
> From what i have been able to find on the web, the "customError" element
>is ignored by remoting architecture at the moment so no luck finding a
>clue as to what i going wrong.
>
>Has anyone seen this before? I've based my channel on some really nice
>examples: FileChannel (from McLean, Naftel, and Willams book) and
>SMTPChannel (from Rammer's book). The concepts are simple enough, but i
>am missing something... i just have no idea what.
>
>I've checked that the (request) headers and stream are reconstructed
>correctly on the server side of the channel and i have the correct objects
>in the sink-chain.
>
>class MSMQServerTransportSink :
> BaseChannelSinkWithProperties,
> IServerChannelSink
>{
> ...
> public void ListenAndProcessMessage()
> {
> while(true)
> {
> MSMQChannelData requestData = WaitAndGetRequest();
>
> ITransportHeaders requestHeaders = requestData.Headers;
> requestHeaders[CommonTransportKeys.RequestUri] = requestData.URI;
> System.IO.Stream requestStream = requestData.Stream;
> requestHeaders["__RequestVerb"] = null;
>
> ServerChannelSinkStack stack = new ServerChannelSinkStack();
> stack.Push(this, null);
>
> IMessage responseMessage;
> ITransportHeaders responseHeaders;
> System.IO.Stream responseStream;
>
> // forward the call to the next sink
> ServerProcessing operation = _nextSink.ProcessMessage(
> stack, null, requestHeaders, requestStream,
> out responseMessage, out responseHeaders, out responseStream);
>
> /*
> the return message contains an
> exception with the aforementioned
> message-string
> */
>
> ...
> }
> }
>}
>
>===================================
>This list is hosted by DevelopMentor� http://www.develop.com
>NEW! ASP.NET courses you may be interested in:
>
>2 Days of ASP.NET, 29 Sept 2003, in Redmond
>http://www.develop.com/courses/2daspdotnet
>
>Guerrilla ASP.NET, 13 Oct 2003, in Boston
>http://www.develop.com/courses/gaspdotnet
>
>View archives and manage your subscription(s) at http://discuss.develop.com
J. Merrill / Analytical Software Corp
===================================
This list is hosted by DevelopMentor� http://www.develop.com
NEW! ASP.NET courses you may be interested in:
2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet
Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet
View archives and manage your subscription(s) at http://discuss.develop.com