示例#1
0
        private static Dictionary <string, string> GetKeywords(InterceptorMessage interceptorMessage)
        {
            Dictionary <string, string> keywords = new Dictionary <string, string>();

            System.ServiceModel.Channels.Message wcfMessage = interceptorMessage.GetMessage();
            keywords.Add("messageaction", wcfMessage.Headers.Action);
            return(keywords);
        }
示例#2
0
        public override void InterceptRequest(InterceptorMessage interceptorMessage)
        {
            // Get the message, uncopied
            Message msg = interceptorMessage.GetMessage();

            // Extract headers and switch sender for receiver
            _senderPartyIdentifier       = ExtractHeaderValue(msg, _receiverPartyIdentifierHeaderName.Name, _receiverPartyIdentifierHeaderName.Namespace, DefaultReceiverPartyIdentifier);
            _senderPartyIdentifierType   = ExtractHeaderValue(msg, _receiverPartyIdentifierTypeHeaderName.Name, _receiverPartyIdentifierTypeHeaderName.Namespace, "other");
            _receiverPartyIdentifier     = ExtractHeaderValue(msg, _senderPartyIdentifierHeaderName.Name, _senderPartyIdentifierHeaderName.Namespace, DefaultSenderPartyIdentifier);
            _receiverPartyIdentifierType = ExtractHeaderValue(msg, _senderPartyIdentifierTypeHeaderName.Name, _senderPartyIdentifierTypeHeaderName.Namespace, "other");
        }
示例#3
0
        public override void InterceptRequest(InterceptorMessage interceptorMessage)
        {
            // Get the message, uncopied
            Message msg = interceptorMessage.GetMessage();

            // If a property is set use that to find the header values
            if (msg.Properties.ContainsKey(PartyIdentifierHeaderSettings.MessagePropertyKey))
            {
                PartyIdentifierHeaderSettings settings = (PartyIdentifierHeaderSettings)msg.Properties[PartyIdentifierHeaderSettings.MessagePropertyKey];

                if (!string.IsNullOrEmpty(settings.SenderPartyHeaderValue))
                {
                    _senderPartyIdentifier = settings.SenderPartyHeaderValue;
                }
                if (!string.IsNullOrEmpty(settings.ReceiverPartyHeaderValue))
                {
                    _receiverPartyIdentifier = settings.ReceiverPartyHeaderValue;
                }

                _senderPartyIdentifierType   = settings.SenderPartyKeyType;
                _receiverPartyIdentifierType = settings.ReceiverPartyKeyType;
            }

            // Add the headers
            msg.Headers.Add(MessageHeader.CreateHeader(
                                _senderPartyIdentifierHeaderName.Name,
                                _senderPartyIdentifierHeaderName.Namespace,
                                _senderPartyIdentifier));
            msg.Headers.Add(MessageHeader.CreateHeader(
                                _senderPartyIdentifierTypeHeaderName.Name,
                                _senderPartyIdentifierTypeHeaderName.Namespace,
                                _senderPartyIdentifierType));

            msg.Headers.Add(MessageHeader.CreateHeader(
                                _receiverPartyIdentifierHeaderName.Name,
                                _receiverPartyIdentifierHeaderName.Namespace,
                                _receiverPartyIdentifier));
            msg.Headers.Add(MessageHeader.CreateHeader(
                                _receiverPartyIdentifierTypeHeaderName.Name,
                                _receiverPartyIdentifierTypeHeaderName.Namespace,
                                _receiverPartyIdentifierType));
        }