System.ServiceModel: Make FaultContractInfos available (and therefore deserialized...
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Wed, 1 Feb 2012 12:14:12 +0000 (13:14 +0100)
committerRolf Bjarne Kvinge <rolf@xamarin.com>
Sat, 4 Feb 2012 02:04:34 +0000 (03:04 +0100)
mcs/class/System.ServiceModel/System.ServiceModel.Description/ContractDescription.cs
mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ClientOperation.cs
mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs

index dfafb9eaffb00dcc13a10c89da37fdf2af8f6961..c28959003793286ac36eac38022e3063ca21a008 100644 (file)
@@ -222,10 +222,8 @@ namespace System.ServiceModel.Description
                                    md.Body.ReturnValue.Type == typeof (Message))
                                        o.DeserializeReply = false;
                        }
-#if !NET_2_1
                        foreach (var fd in od.Faults)
                                o.FaultContractInfos.Add (new FaultContractInfo (fd.Action, fd.DetailType));
-#endif
 
                        // FIXME: at initialization time it does not seem to 
                        // fill default formatter. It should be filled after
index b35d3df09a4b2e926b2a241645c247178105bc20..1d30c80df25e516679c211d9df08c77b30aee285 100644 (file)
@@ -59,9 +59,7 @@ namespace System.ServiceModel.Dispatcher
                IClientMessageFormatter formatter;
                SynchronizedCollection<IParameterInspector> inspectors
                        = new SynchronizedCollection<IParameterInspector> ();
-#if !NET_2_1
                SynchronizedCollection<FaultContractInfo> fault_contract_infos = new SynchronizedCollection<FaultContractInfo> ();
-#endif
 
                public ClientOperation (ClientRuntime parent,
                        string name, string action)
@@ -112,11 +110,9 @@ namespace System.ServiceModel.Dispatcher
                        }
                }
 
-#if !NET_2_1
                public SynchronizedCollection<FaultContractInfo> FaultContractInfos {
                        get { return fault_contract_infos; }
                }
-#endif
 
                public IClientMessageFormatter Formatter {
                        get { return formatter; }
index ea8299a06fe62ae160378f2504f407655669668b..24efbb215bb579f6af80140be8844d739f6e6b13 100644 (file)
@@ -545,14 +545,12 @@ namespace System.ServiceModel.MonoInternal
                                                Type detailType = typeof (ExceptionDetail);
                                                var freader = fault.GetReaderAtDetailContents ();
                                                DataContractSerializer ds = null;
-#if !NET_2_1
                                                foreach (var fci in op.FaultContractInfos)
                                                        if (res.Headers.Action == fci.Action || fci.Serializer.IsStartObject (freader)) {
                                                                detailType = fci.Detail;
                                                                ds = fci.Serializer;
                                                                break;
                                                        }
-#endif
                                                if (ds == null)
                                                        ds = new DataContractSerializer (detailType);
                                                var detail = ds.ReadObject (freader);