[Mono-dev] [PATCH] WCF more detail on Destination Unreachable

Atsushi Eno atsushieno at veritas-vos-liberabit.com
Thu Apr 1 05:45:36 EDT 2010


Hi again,

After a couple of fixes, this exception handling should be working in 
trunk now.

Atsushi Eno

On 2010/03/25 19:24, Matt Dargavel wrote:
> Thanks for the explanation, I had a feeling it wouldn't be as simple as
> I was hoping it was. :-)
>
>
>    
>> -----Original Message-----
>> From: Atsushi Eno [mailto:atsushieno at veritas-vos-liberabit.com]
>> Sent: 25 March 2010 4:12 AM
>> To: Matt Dargavel
>> Cc: mono-devel-list at lists.ximian.com
>> Subject: Re: [Mono-dev] [PATCH] WCF more detail on Destination
>>      
> Unreachable
>    
>> Thanks for the test, it cleared some things up :)
>>
>> So - first, I cannot apply your HttpRequestChannel change. The code
>>      
> you
>    
>> removed was introduced to fix real problem regarding HTTP 4xx; when
>> HTTP 4xx is returned, the response stream is inaccessible and the
>>      
> channel
>    
>> should not try to read it.
>>
>> Instead, the server code seems to have an issue that it should just
>> return 500. While it is set to 400 at HttpRequestContext with explicit
>> comment that "it is what .NET does", I was likely wrong by seeing
>> response from WebHttpBinding, which likely has special error handling.
>>
>> In general our fault handling is not well done yet and I'm seeing a
>> couple of issues to get correct fix there. Better fault handling is
>>      
> one
>    
>> of the tasks on my stack, but it may be time to give priority than
>> ongoing bugfix as it's blocking your patch that will help my ongoing
>> work...
>>
>> Atsushi Eno
>>
>>
>> On 2010/03/24 19:41, Matt Dargavel wrote:
>>      
>>> Apologies for the wait- it's the time difference! :-)
>>>
>>> I've come up with a test for the DestinationUnreachable patch.  When
>>>        
> I
>    
>>> was doing my testing I was using a combination of a .NET client and
>>> manually firing in requests using PuTTY and examining the reply.
>>>        
> When I
>    
>>> use a WCF Client in Mono the exception detail is currently lost in
>>> HttpRequestChannel, with a WebException being returned instead.
>>>
>>> The patch I've attached changes HttpRequestChannel so that 400+
>>>        
> errors
>    
>>> are returned normally.  This results in a FaultException being
>>>        
> returned
>    
>>> instead.  The FaultException includes the extra details my previous
>>> patch added.
>>>
>>> Do you think this is acceptable and covers what you need?  Hopefully
>>> you'll be able to add it to the NUnit tests fairly easily.
>>>
>>> 	Thanks,
>>>
>>> 		Matt.
>>>
>>>
>>>        
>>>> -----Original Message-----
>>>> From: Atsushi Eno [mailto:atsushieno at veritas-vos-liberabit.com]
>>>> Sent: 24 March 2010 6:18 AM
>>>> To: Matt Dargavel
>>>> Cc: mono-devel-list at lists.ximian.com
>>>> Subject: Re: [Mono-dev] [PATCH] WCF more detail on Destination
>>>>          
>>> Unreachable
>>>        
>>>> Instead of waiting for your reply, I've rather committed the patch
>>>>          
>>> (with
>>>        
>>>> a few change) and verify it later with a runnable repro. ->
>>>> DestinationUnreachableInfo.patch is done
>>>>
>>>> Atsushi Eno
>>>>
>>>> On 2010/03/24 14:35, Atsushi Eno wrote:
>>>>          
>>>>> I still couldn't reproduce the detailed error message. Let's
>>>>>            
> please
>    
>>> post
>>>        
>>>>> a runnable repro case instead of code-less explanation ;)
>>>>>
>>>>> Atsushi Eno
>>>>>
>>>>> On 2010/03/23 22:38, Matt Dargavel wrote:
>>>>>
>>>>>            
>>>>>> You can reproduce it by requesting an operation that doesn't
>>>>>>              
> exist.
>    
>>> (It
>>>        
>>>>>> was happening before I implemented the two Service Contracts on
>>>>>>              
> one
>    
>>> end
>>>        
>>>>>> point change as the wrong channel dispatcher was getting the
>>>>>>              
>>> request.)
>>>        
>>>>>> So I should be able to write a test case for that...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>>>> -----Original Message-----
>>>>>>> From: Atsushi Eno [mailto:atsushieno at veritas-vos-liberabit.com]
>>>>>>> Sent: 23 March 2010 12:57 PM
>>>>>>> To: Matt Dargavel
>>>>>>> Cc: mono-devel-list at lists.ximian.com
>>>>>>> Subject: Re: [PATCH] WCF more detail on Destination Unreachable
>>>>>>>
>>>>>>> It's looking fine, but how did you check your change? (I know it
>>>>>>>                
>>> could
>>>        
>>>>>>> happen not always reproducible, so that's okay if it's not
>>>>>>>                
> really
>    
>>>>>>>
>>>>>>>                
>>>>>> always
>>>>>>
>>>>>>
>>>>>>              
>>>>>>> reproducible.)
>>>>>>>
>>>>>>> BTW I thank a lot for your properties change, that fixed a bug
>>>>>>>                
>>> that
>>>        
>>>>>>> annoyed me today ;-)
>>>>>>>
>>>>>>> Atsushi Eno
>>>>>>>
>>>>>>> On 2010/03/23 20:28, Matt Dargavel wrote:
>>>>>>>
>>>>>>>
>>>>>>>                
>>>>>>>> A patch to return more detail when an endpoint / operation
>>>>>>>>                  
> isn't
>    
>>>>>>>> found. Not sure if you'll want to apply this, but it helped in
>>>>>>>>                  
>>> some
>>>        
>>>>>>>> service debugging I was doing.
>>>>>>>>
>>>>>>>> Matt.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                  
>>>>>>
>>>>>>
>>>>>>              
>>>>> _______________________________________________
>>>>> Mono-devel-list mailing list
>>>>> Mono-devel-list at lists.ximian.com
>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>        
>
>
>    



More information about the Mono-devel-list mailing list