Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перенаправить POST запрос 
:(
    Опции темы
Loengreen
Дата 28.5.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Здравствуйте!
Вопрос скорее всего глупый, но я новичек и надеюсь вы меня прости. smile

Задача.
Получить от клиента POST запрос (внутри SOAP) и отправить его веб-сервису.
(Если я правильно понимаю и называю вещи своими именами я создаю прокси, который пересылает мой запрос веб-сервису, все это я делаю для того, что бы запросить контент с другого домена).

Код

    public string GetString(Stream InputStream)
    {
        StreamReader sr = null;
        sr = new StreamReader(InputStream);
        Char[] read = new Char[1000];
        int count = sr.Read(read, 0, 1000);
        string strOut = "";
        while (count > 0)
        {
            String str = new String(read, 0, count);
            strOut += str;
            count = sr.Read(read, 0, 1000);
        }
        return strOut;
    }
    
    public void ProcessRequest (HttpContext context) {

        HttpRequest _request = context.Request;

            Stream newStream = null;
            string requestBody = GetStringStream(_request.InputStream);

            WebRequest request = WebRequest.Create(SERVICE_URL);
            request.Credentials = CredentialCache.DefaultCredentials;
            request.Method = "POST";
            request.ContentType = "text/xml";
            byte[] SomeBytes = null;
            SomeBytes = Encoding.UTF8.GetBytes(requestBody);
            request.ContentLength = SomeBytes.Length;
            newStream = request.GetRequestStream();
            newStream.Write(SomeBytes, 0, SomeBytes.Length);
            newStream.Close();            
           
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string responseFromServer = GetStringStream(response.GetResponseStream());

            string content_type = response.ContentType;
            response.Close();

            context.Response.ContentType = content_type;
            context.Response.Write(responseFromServer);

    }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.