powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / http-header для веб-сервиса
5 сообщений из 5, страница 1 из 1
http-header для веб-сервиса
    #33834938
threak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вебсервис у которого 4 метода. При обращении к какому-либо из них создается и передается soap сообщение. Но, ведь прежде чем передать его, у нас устанавливается соединение по http протоколу, передается http-header с различной служебной и неслужебной информацией. Соответсвенно вопрос: как при вызове метода веб-сервиса в http-header'е передать какой-нибудь свой параметр?
для обычных страниц Response.AppendHeader, а как для веб-сервисов - не знаю
...
Рейтинг: 0 / 0
http-header для веб-сервиса
    #33834980
IAmTonik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а зачем это делать?
...
Рейтинг: 0 / 0
http-header для веб-сервиса
    #33835116
threak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне серверу через http-заголовок нужно передать ключ для авторизации
...
Рейтинг: 0 / 0
http-header для веб-сервиса
    #33835327
miheich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно использовать класс SoapHeader. Нужно добавить внутренний класс в класс сервиса, унаследовав его от SoapHeader, например, так
public class WebService1 : WebService
{
...
public AuthSoapHeader authSoapHeader;

public class AuthSoapHeader : SoapHeader
{
private String login = String.Empty;
private String password = String.Empty;

public String Login
{
get
{
return login;
}
set
{
login = value;
}
}

public String Password
{
get
{
return password;
}
set
{
password = value;
}
}
}

...
}
И перед методом сервиса добавить
[WebMethod(EnableSession = true), SoapHeader("authSoapHeader")]
В самом методе использовать объект authSoapHeader.
Для того, чтобы передать его при вызове сервиса
WebService1 service =
new WebService1();
AuthSoapHeader authSoapHeader = new AuthSoapHeader();
authSoapHeader.Login = "login";
authSoapHeader.Password = "password"
service.AuthSoapHeaderValue = authSoapHeader;
service.Method()
...
Рейтинг: 0 / 0
http-header для веб-сервиса
    #33835733
threak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
 
а просто как-нибудь через аттрибуты нельзя? просто, например,
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:oasis:names:tc:wsrp:v1:getServiceDescription", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]

в хттп-заголовок отдает строкуSOAPAction : getServiceDescription
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / http-header для веб-сервиса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]