Проблемы с выполнением запросов веб-службы с пользовательскими заголовками через MonoTouch - PullRequest
0 голосов
/ 04 июля 2010

Моя команда и я работаем с несколькими веб-сервисами, которым требуется, чтобы заголовки сообщений SOAP были доступны при выполнении запроса.Мы не контролируем эти веб-сервисы, поэтому не можем изменить реализацию, даже если бы захотели (или, по крайней мере, без особой боли).Нам просто нужно иметь возможность получать информацию, связанную с аутентификацией, и пару других элементов, передаваемых через наши заголовки сообщений.

Я читал о нескольких людях, у которых в прошлом была эта проблема, без четкого указанияесли им удалось это сделать на Monotouch.

Вот что я прочитал: http://forums.monotouch.net/yaf_postsm2104.aspx.

Любые идеи о том, что мы можем сделать, чтобы преодолеть это нарамки Monotouch?

Вот что я сейчас пытаюсь сделать:

        using (var scope = new OperationContextScope (client.InnerChannel)) 
        {
            client.GetHistories += handler;
            OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("EnvironmentInfo", "http://schemas.contoso.com", 
                                                                 ServiceContext.Current.OperatingEnvironment));
            OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("AuthenticationToken", "http://schemas.contoso.com", 
                                                                 ServiceContext.Current.Token));

            client.GetHistoriesAsync (ServiceContext.Current.OperatingEnvironment, ServiceContext.Current.Token, request);
        }

Спасибо за ваше время.

JM

1 Ответ

0 голосов
/ 05 июля 2010

Мне не удалось заставить заголовки сообщений работать с WCF в Mono 2.6. Я пробовал несколько разных способов (включая то, как вы делаете это в вашем примере) - это просто не работает в Mono 2.6.

Я поднял ошибку для этого, которую затем закрыл, обнаружив, что она исправлена ​​в последней магистрали. Так что если вы работаете с Mono 2.7 или выше, это должно сработать.

...