Exemple #1
0
        public string GetTokenString()
        {
            ServiceBusAuthorizationHeader authorizationHeader = this.GetAuthorizationHeader(this.GetSufficientClaims());

            if (authorizationHeader == null)
            {
                return(null);
            }
            return(authorizationHeader.TokenString);
        }
Exemple #2
0
        private Message CreateWcfMessageInternal(string action, object body, bool includeToken, string parentLinkId, RetryPolicy policy, TrackingContext trackingContext, RequestInfo requestInfo)
        {
            Message        message = Message.CreateMessage(this.messageVersion, action, body);
            MessageHeaders headers = message.Headers;

            headers.To = this.targetAddress.Uri;
            string sufficientClaims = this.GetSufficientClaims();

            if (this.linkInfo != null)
            {
                if (!string.IsNullOrEmpty(this.linkInfo.TransferDestinationEntityAddress))
                {
                    SecurityToken authorizationToken = this.GetAuthorizationToken(this.linkInfo.TransferDestinationEntityAddress, sufficientClaims);
                    if (authorizationToken != null)
                    {
                        SimpleWebSecurityToken simpleWebSecurityToken = (SimpleWebSecurityToken)authorizationToken;
                        if (simpleWebSecurityToken != null)
                        {
                            this.linkInfo.TransferDestinationAuthorizationToken = simpleWebSecurityToken.Token;
                        }
                    }
                }
                this.linkInfo.AddTo(headers);
            }
            if (includeToken)
            {
                ServiceBusAuthorizationHeader authorizationHeader = this.GetAuthorizationHeader(sufficientClaims);
                if (authorizationHeader != null)
                {
                    headers.Add(authorizationHeader);
                }
            }
            if (this.messagingFactory.FaultInjectionInfo != null)
            {
                this.messagingFactory.FaultInjectionInfo.AddToHeader(message);
            }
            if (!string.IsNullOrWhiteSpace(parentLinkId))
            {
                message.Properties["ParentLinkId"] = parentLinkId;
            }
            if (trackingContext != null)
            {
                TrackingIdHeader.TryAddOrUpdate(headers, trackingContext.TrackingId);
            }
            message.AddHeaderIfNotNull <RequestInfo>("RequestInfo", "http://schemas.microsoft.com/netservices/2011/06/servicebus", requestInfo);
            return(message);
        }