Author: atsushi
Date: 2008-02-15 13:34:42 -0500 (Fri, 15 Feb 2008)
New Revision: 95785
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
Log:
2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
* WebMessageFormatter.cs : implement DeserializeRequest().
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
2008-02-15 18:34:05 UTC (rev 95784)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/ChangeLog
2008-02-15 18:34:42 UTC (rev 95785)
@@ -1,5 +1,9 @@
2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * WebMessageFormatter.cs : implement DeserializeRequest().
+
+2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* WebMessageFormatter.cs : attach a HttpRequestMessageProperty when
creating a request Message.
Modified:
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
2008-02-15 18:34:05 UTC (rev 95784)
+++
trunk/olive/class/System.ServiceModel.Web/System.ServiceModel.Dispatcher/WebMessageFormatter.cs
2008-02-15 18:34:42 UTC (rev 95785)
@@ -229,7 +229,16 @@
throw new ArgumentNullException
("parameters");
CheckMessageVersion (message.Version);
- throw new NotImplementedException ();
+ Uri to = message.Headers.To;
+ UriTemplateMatch match = UriTemplate.Match
(Endpoint.Address.Uri, to);
+ if (match == null)
+ // not sure if it could happen
+ throw new SystemException
(String.Format ("INTERNAL ERROR: UriTemplate does not match with the request:
{0} / {1}", UriTemplate, to));
+ for (int i = 0; i < parameters.Length; i++) {
+ var p = MessageDescription.Body.Parts
[i];
+ string name = p.Name.ToUpperInvariant
();
+ parameters [i] = match.BoundVariables
[name];
+ }
}
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches