Avinash6474 Ответов: 1

Установить часовой пояс IIS express


Всем Привет,

Я получаю доступ к службе WCF в своем решении по предоставленному URL-адресу (третья сторона).
Сервис защищен привязкой WS Http, имеет имя пользователя, аутентификацию паролем с помощью soap-запроса.

Я добавил ссылку на службу в свое решение и передал имя пользователя и пароль объекту службы.
ServiceReferenceAdmin client = new ServiceReferenceAdmin("WSHttpBinding_IAdmin");
            client.ClientCredentials.UserName.UserName = "one";
            client.ClientCredentials.UserName.Password = "two";
            client.callServMethod("test");


Когда я вызываю метод службы, соединение создается с помощью метода службы- & gt;использовал скрипач для получения запроса и ответа - > и узнал --
В soap-запросе timestap идет как локальная системная временная метка, которая находится в формате GMT.
А часовой пояс сервера(где я размещал сервис) - это Тихоокеанский часовой пояс (UTC -08: 00).
Из-за этого аутентификация терпит неудачу и отклоняет вызов метода службы.

Пробовал идти разными путями :
1) изменен системный часовой пояс на Тихоокеанский часовой пояс (UTC -8: 00)
2)
using(new OperationContextScope(client.InnerChannel))
            {
                OperationContext.Current.OutgoingMessageHeaders.Add(new SecurityHeader("UsernameToken", "one", "two"));
                
                string str = "acp";
            }


public class SecurityHeader : MessageHeader
        {
            
            private readonly UsernameToken _usernameToken;

            public SecurityHeader(string id, string username, string password)
            {
                _usernameToken = new UsernameToken(id, username, password);
            }

            public override string Name
            {
                get { return "Security"; }
            }

            public override string Namespace
            {
                get { return "namespace"; }
            }

            protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
            {
                XmlSerializer serializer = new XmlSerializer(typeof(UsernameToken));
                serializer.Serialize(writer, _usernameToken);
            }
        }


После всех этих настроек SOAP-запрос не меняется с GMT на Тихоокеанский часовой пояс.

Как изменить временную метку soap-запроса?
Есть ли какой-нибудь способ установить часовой пояс в IIS ?

Заранее благодарю вас за ваш ответ.
Пожалуйста, дайте мне знать ваши отзывы и предложения

1 Ответов

Рейтинг:
0

Avinash6474

- Изменение системного часового пояса на требуемый часовой пояс
- перезагрузите систему, чтобы повлиять на изменения
- он сбросит часовой пояс на новый