+2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * WebServiceHandlerFactory.cs,
+ SoapServerMessage.cs,
+ HttpSoapWebServiceHandler.cs :
+ set guessed protocol to SoapServerMessage.
+
2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
* TypeStubManager.cs, Methods.cs, SoapServerMethod.cs :
try
{
- if (requestMessage == null)
+ if (requestMessage == null) {
requestMessage = DeserializeRequest (context.Request);
+#if NET_2_0
+ object soapVer = context.Items ["WebServiceSoapVersion"];
+ if (soapVer != null)
+ requestMessage.SetSoapVersion ((SoapProtocolVersion) soapVer);
+#endif
+ }
if (methodInfo != null && methodInfo.OneWay) {
context.Response.BufferOutput = false;
faultMessage = new SoapServerMessage (context.Request, soex, requestMessage.MethodStubInfo, requestMessage.Server, requestMessage.Stream);
else
faultMessage = new SoapServerMessage (context.Request, soex, null, null, null);
+#if NET_2_0
+ object soapVer = context.Items ["WebServiceSoapVersion"];
+ if (soapVer != null)
+ faultMessage.SetSoapVersion ((SoapProtocolVersion) soapVer);
+#endif
SerializeResponse (context.Response, faultMessage);
context.Response.End ();
object server;
string url;
object[] parameters;
+#if NET_2_0
+ SoapProtocolVersion soapVersion;
+#endif
#endregion
[MonoTODO]
[System.Runtime.InteropServices.ComVisible(false)]
public override SoapProtocolVersion SoapVersion {
- get { throw new NotImplementedException (); }
+ get { return soapVersion; }
}
#endif
EnsureStage (SoapMessageStage.BeforeSerialize);
}
+#if NET_2_0
+ internal void SetSoapVersion (SoapProtocolVersion value)
+ {
+ soapVersion = value;
+ }
+#endif
+
#endregion // Methods
}
}
Type type = WebServiceParser.GetCompiledType (filePath, context);
WSProtocol protocol = GuessProtocol (context, verb);
+#if NET_2_0
+ context.Items ["WebServiceSoapVersion"] =
+ protocol == WSProtocol.HttpSoap12 ?
+ SoapProtocolVersion.Soap12 :
+ SoapProtocolVersion.Default;
+#endif
bool supported = false;
IHttpHandler handler = null;