SoapServerMessage.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //
  2. // System.Web.Services.Protocols.SoapServerMessage.cs
  3. //
  4. // Author:
  5. // Tim Coleman ([email protected])
  6. // Lluis Sanchez Gual ([email protected])
  7. //
  8. // Copyright (C) Tim Coleman, 2002
  9. //
  10. using System.Web.Services;
  11. using System.IO;
  12. namespace System.Web.Services.Protocols {
  13. public sealed class SoapServerMessage : SoapMessage {
  14. #region Fields
  15. string action;
  16. SoapMethodStubInfo stubInfo;
  17. object server;
  18. string url;
  19. object[] parameters;
  20. #endregion
  21. #region Constructors
  22. internal SoapServerMessage (HttpRequest request, object server, Stream stream)
  23. : base (stream, null)
  24. {
  25. this.action = request.Headers ["SOAPAction"];
  26. this.server = server;
  27. this.url = request.Url.ToString();
  28. }
  29. internal SoapServerMessage (HttpRequest request, SoapException exception, SoapMethodStubInfo stubInfo, object server, Stream stream)
  30. : base (stream, exception)
  31. {
  32. this.action = request.Headers ["SOAPAction"];
  33. this.stubInfo = stubInfo;
  34. this.server = server;
  35. this.url = request.Url.ToString();
  36. }
  37. #endregion
  38. #region Properties
  39. public override LogicalMethodInfo MethodInfo {
  40. get { return stubInfo.MethodInfo; }
  41. }
  42. public override string Action {
  43. get { return action; }
  44. }
  45. internal SoapMethodStubInfo MethodStubInfo {
  46. get { return stubInfo; }
  47. set { stubInfo = value; }
  48. }
  49. public override bool OneWay {
  50. get { return stubInfo.OneWay; }
  51. }
  52. public object Server {
  53. get { return server; }
  54. }
  55. public override string Url {
  56. get { return url; }
  57. }
  58. #endregion // Properties
  59. #region Methods
  60. protected override void EnsureInStage ()
  61. {
  62. EnsureStage (SoapMessageStage.AfterDeserialize);
  63. }
  64. protected override void EnsureOutStage ()
  65. {
  66. EnsureStage (SoapMessageStage.BeforeSerialize);
  67. }
  68. #endregion // Methods
  69. }
  70. }