Author: atsushi
Date: 2008-02-17 09:59:29 -0500 (Sun, 17 Feb 2008)
New Revision: 95976
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointDispatcher.cs
Log:
2008-02-17 Atsushi Enomoto <[EMAIL PROTECTED]>
* EndpointDispatcher.cs : we don't need AddressFilter workaround
from Feb. 14 anymore.
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
2008-02-17 14:51:28 UTC (rev 95975)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
2008-02-17 14:59:29 UTC (rev 95976)
@@ -1,5 +1,10 @@
2008-02-17 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * EndpointDispatcher.cs : we don't need AddressFilter workaround
+ from Feb. 14 anymore.
+
+2008-02-17 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* EndpointDispatcher.cs : after service method call, apply outgoing
headers and properties to the returned message.
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointDispatcher.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointDispatcher.cs
2008-02-17 14:51:28 UTC (rev 95975)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointDispatcher.cs
2008-02-17 14:59:29 UTC (rev 95976)
@@ -165,6 +165,17 @@
Message req = rc.RequestMessage;
Message res = null;
+ // FIXME: AddressFilter is likely applied before
+ // an input is delivered to EndpointDispatcher.
+ // This means, we likely have to make some
+ // conceptual changes to channel dispatcher and
+ // endpoint dispatcher.
+ // For now I moved AddressFilter here so that
+ // WebHttpDispatchOperationSelector to select
+ // operation before the Message is filtered out.
+ if (IsMessageFilteredOut (req))
+ throw new EndpointNotFoundException
(String.Format ("The request message has the target '{0}' which is not
reachable in this service contract", req.Headers.To));
+
DispatchOperation op = GetOperation (req);
if (op == null) {
// process WS-Trust based negotiation
@@ -180,20 +191,8 @@
op =
DispatchRuntime.UnhandledDispatchOperation;
}
- if (res == null) {
- // FIXME: AddressFilter is likely applied before
- // an input is delivered to EndpointDispatcher.
- // This means, we likely have to make some
- // conceptual changes to channel dispatcher and
- // endpoint dispatcher.
- // For now I moved AddressFilter here so that
- // WebHttpDispatchOperationSelector to select
- // operation before the Message is filtered out.
- if (IsMessageFilteredOut (req))
- throw new EndpointNotFoundException
(String.Format ("The request message has the target '{0}' which is not
reachable in this service contract", rc.RequestMessage.Headers.To));
-
+ if (res == null)
res = op.ProcessRequest (req);
- }
if (res == null)
throw new InvalidOperationException
(String.Format ("The operation '{0}' returned a null message.", op.Action));
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches