Guest User

Untitled

a guest
Jan 4th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. public class OperatorNameMessageHeader : MessageHeader
  2. {
  3. private string opName;
  4.  
  5. public const string HeaderName = "OperatorNameMessageHeader";
  6. public const string HeaderNamespace = "http://schemas.microsoft.com/scout";
  7.  
  8. public override string Name { get { return HeaderName; } }
  9. public override string Namespace { get { return HeaderNamespace; } }
  10.  
  11. public string OperatorName
  12. {
  13. get { return opName; }
  14. set { opName = value; }
  15. }
  16.  
  17. public OperatorNameMessageHeader()
  18. {
  19. }
  20.  
  21. public OperatorNameMessageHeader(string operatorName)
  22. {
  23. opName = operatorName;
  24. }
  25.  
  26. protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
  27. {
  28. writer.WriteElementString("OperatorName", opName);
  29. }
  30. }
  31.  
  32. OperatorNameMessageHeader test = msgHeaders.GetHeader<OperatorNameMessageHeader>(OperatorNameMessageHeader.HeaderName, OperatorNameMessageHeader.HeaderNamespace);
  33.  
  34. <MessageHeaders>
  35. <ActivityId CorrelationId="66a7c5b6-3548-4f3c-9120-4484af76b64b" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f9bef03b-4e7b-4e84-b327-5e79814d9933</ActivityId>
  36. <OperatorNameMessageHeader xmlns="http://schemas.microsoft.com/scout">
  37. <OperatorName>Correct Operator Name</OperatorName>
  38. </OperatorNameMessageHeader>
  39. <To d4p1:mustUnderstand="1" xmlns:d4p1="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:90/IRolesAndResourcesManager</To>
  40. <Action d4p1:mustUnderstand="1" xmlns:d4p1="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IRolesAndResourcesManager/Authenticate</Action>
  41. </MessageHeaders>
  42.  
  43. Dim username As String = ""
  44. Dim password As String = ""
  45. Dim usernameTokenId As String = ""
  46. Dim passwordType As String = ""
  47.  
  48. For i As Integer = 0 To OperationContext.Current.IncomingMessageHeaders.Count - 1
  49. Dim mhi As Channels.MessageHeaderInfo = OperationContext.Current.IncomingMessageHeaders.Item(i)
  50. Dim headers As Channels.MessageHeaders = OperationContext.Current.RequestContext.RequestMessage.Headers
  51. If mhi.Name.Equals("Security") Then
  52. Dim xr As XmlDictionaryReader = OperationContext.Current.IncomingMessageHeaders.GetReaderAtHeader(i)
  53. xr.MoveToContent()
  54. While xr.MoveToNextAttribute()
  55. Console.Write(" {0}='{1}'", xr.Name, xr.Value)
  56. End While
  57. Do
  58. Select Case xr.NodeType
  59. Case XmlNodeType.Element
  60. If xr.LocalName.Equals("Username") Then
  61. username = xr.ReadElementContentAsString()
  62. End If
  63. If xr.LocalName.Equals("Password") Then
  64. password = xr.ReadElementContentAsString()
  65. End If
  66.  
  67. While xr.MoveToNextAttribute()
  68. If xr.LocalName.Equals("Id") Then
  69. usernameTokenId = xr.Value
  70. End If
  71. If xr.LocalName.Equals("Type") Then
  72. passwordType = xr.Value
  73. End If
  74. End While
  75. Case XmlNodeType.Attribute
  76.  
  77. 'Case XmlNodeType.Text
  78. ' Console.Write(xr.Value)
  79. 'Case XmlNodeType.EndElement
  80. ' Console.Write("</{0}>", xr.Name)
  81. End Select
  82. Loop While xr.Read()
  83. End If
  84.  
  85.  
  86. Dim name As String = mhi.Name
  87. Next
Add Comment
Please, Sign In to add comment