* LogicalMethodInfo.cs: Fixed Invoke method. If return type is void,
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Protocols / SoapServerMessage.cs
1 // \r
2 // System.Web.Services.Protocols.SoapServerMessage.cs\r
3 //\r
4 // Author:\r
5 //   Tim Coleman (tim@timcoleman.com)\r
6 //   Lluis Sanchez Gual (lluis@ximian.com)\r
7 //\r
8 // Copyright (C) Tim Coleman, 2002\r
9 //\r
10 \r
11 using System.Web.Services;\r
12 using System.IO;\r
13 \r
14 namespace System.Web.Services.Protocols {\r
15         public sealed class SoapServerMessage : SoapMessage {\r
16 \r
17                 #region Fields\r
18 \r
19                 string action;\r
20                 MethodStubInfo stubInfo;\r
21                 object server;\r
22                 string url;\r
23                 object[] parameters;\r
24 \r
25                 #endregion\r
26 \r
27                 #region Constructors\r
28 \r
29                 internal SoapServerMessage (HttpRequest request, SoapHeaderCollection headers, MethodStubInfo stubInfo, object server, Stream stream)\r
30                         : base (stream, headers)\r
31                 {\r
32                         this.action = request.Headers ["SOAPAction"];\r
33                         this.stubInfo = stubInfo;\r
34                         this.server = server;\r
35                         this.url = request.Url.ToString();\r
36                 }\r
37 \r
38                 internal SoapServerMessage (HttpRequest request, SoapException exception, MethodStubInfo stubInfo, object server, Stream stream)\r
39                         : base (stream, exception)\r
40                 {\r
41                         this.action = request.Headers ["SOAPAction"];\r
42                         this.stubInfo = stubInfo;\r
43                         this.server = server;\r
44                         this.url = request.Url.ToString();\r
45                 }\r
46 \r
47                 #endregion\r
48 \r
49                 #region Properties\r
50 \r
51                 public override LogicalMethodInfo MethodInfo {\r
52                         get { return stubInfo.MethodInfo; }\r
53                 }\r
54 \r
55                 public override string Action {\r
56                         get { return action; }\r
57                 }\r
58 \r
59                 internal MethodStubInfo MethodStubInfo {\r
60                         get { return stubInfo; }\r
61                 }\r
62 \r
63                 public override bool OneWay {\r
64                         get { return stubInfo.OneWay; }\r
65                 }\r
66 \r
67                 public object Server {\r
68                         get { return server; }\r
69                 }       \r
70 \r
71                 public override string Url {\r
72                         get { return url; }\r
73                 }\r
74 \r
75                 #endregion // Properties\r
76 \r
77                 #region Methods\r
78 \r
79                 [MonoTODO]\r
80                 protected override void EnsureInStage ()\r
81                 {\r
82                         throw new NotImplementedException ();\r
83                 }\r
84 \r
85                 [MonoTODO]\r
86                 protected override void EnsureOutStage ()\r
87                 {\r
88                         throw new NotImplementedException ();\r
89                 }\r
90 \r
91                 #endregion // Methods\r
92         }\r
93 }\r