PageRenderTime 40ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Source/ResourceManagement.Client/ClientHelper.cs

#
C# | 81 lines | 74 code | 7 blank | 0 comment | 22 complexity | 21e213fdddf5b025094f102a7ea3882f MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using Microsoft.ResourceManagement.Client.Faults;
  4. using System.ServiceModel;
  5. using System.ServiceModel.Channels;
  6. using System.Text;
  7. namespace Microsoft.ResourceManagement.Client
  8. {
  9. public class ClientHelper
  10. {
  11. private ClientHelper()
  12. {
  13. }
  14. public static void HandleFault(Message message)
  15. {
  16. MessageFault fault = MessageFault.CreateFault(message, Int32.MaxValue);
  17. throw System.ServiceModel.FaultException.CreateFault(fault,
  18. typeof(PermissionDeniedFault),
  19. typeof(AuthenticationRequiredFault),
  20. typeof(AuthorizationRequiredFault),
  21. typeof(EndpointUnavailable),
  22. typeof(FragmentDialectNotSupported),
  23. typeof(InvalidRepresentationFault),
  24. typeof(UnwillingToPerformFault),
  25. typeof(CannotProcessFilter),
  26. typeof(FilterDialectRequestedUnavailable),
  27. typeof(UnsupportedExpiration)
  28. );
  29. }
  30. public static void AddRmHeaders(WsTransfer.TransferRequest transferRequest, Message message)
  31. {
  32. if (transferRequest == null)
  33. return;
  34. if (transferRequest.ResourceLocaleProperty != null && String.IsNullOrEmpty(transferRequest.ResourceLocaleProperty.Value) == false)
  35. {
  36. if (message.Headers.FindHeader(Constants.Rm.ResourceLocaleProperty, Constants.Rm.Namespace) < 0)
  37. {
  38. MessageHeader newHeader = MessageHeader.CreateHeader(Constants.Rm.ResourceLocaleProperty, Constants.Rm.Namespace, transferRequest.ResourceLocaleProperty.Value);
  39. message.Headers.Add(newHeader);
  40. }
  41. }
  42. if (transferRequest.ResourceReferenceProperty != null && String.IsNullOrEmpty(transferRequest.ResourceReferenceProperty.Value) == false)
  43. {
  44. if (message.Headers.FindHeader(Constants.Rm.ResourceReferenceProperty, Constants.Rm.Namespace) < 0)
  45. {
  46. MessageHeader newHeader = MessageHeader.CreateHeader(Constants.Rm.ResourceReferenceProperty, Constants.Rm.Namespace, transferRequest.ResourceReferenceProperty.Value);
  47. message.Headers.Add(newHeader);
  48. }
  49. }
  50. if (transferRequest.ResourceTimeProperty != null && String.IsNullOrEmpty(transferRequest.ResourceTimeProperty.Value) == false)
  51. {
  52. if (message.Headers.FindHeader(Constants.Rm.ResourceTimeProperty, Constants.Rm.Namespace) < 0)
  53. {
  54. MessageHeader newHeader = MessageHeader.CreateHeader(Constants.Rm.ResourceTimeProperty, Constants.Rm.Namespace, transferRequest.ResourceTimeProperty.Value);
  55. message.Headers.Add(newHeader);
  56. }
  57. }
  58. }
  59. public static void AddImdaHeaders(WsTransfer.ImdaRequest imdaRequest, Message message)
  60. {
  61. if (imdaRequest == null)
  62. return;
  63. if (message == null)
  64. {
  65. throw new ArgumentNullException("message");
  66. }
  67. if (message.Headers.FindHeader(Constants.Imda.ExtensionHeaderName, Constants.Imda.Namespace) < 0)
  68. {
  69. MessageHeader newHeader = MessageHeader.CreateHeader(Constants.Imda.ExtensionHeaderName, Constants.Imda.Namespace, String.Empty, true);
  70. message.Headers.Add(newHeader);
  71. }
  72. }
  73. }
  74. }