[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: WEB Service и авторизация
cln2008
Доброго времени суток всем !
Стоит такая задача - надо сделать WEB Service (серверная часть) с авторизацией, которая передается в XML-пакете в теге header, т.е.
есть запрос вида

<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
xmlns:ns1='urn:xmethods-delayed-quotes'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>

<SOAP-ENV:Header>
<validate>
<username
xmlns='http://siebel.com/webservices'>username44</username>
<password
xmlns='http://siebel.com/webservices'>password</password>
</validate>
</SOAP-ENV:Header>

<SOAP-ENV:Body>
<getAdd>
<p1>
10</p1>
<p2>
25</p2>
</getAdd>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


на сервере я обрабатываю метод validate, проверяю соответствие логина и пароля ... тут все хорошо ... НО

если отправить этот пакет без заголвка, т.е. вот так:
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
xmlns:ns1='urn:xmethods-delayed-quotes'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>

<SOAP-ENV:Body>
<getAdd>
<p1>
10</p1>
<p2>
25</p2>
</getAdd>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


то срабатывает метод getAdd, что есть нехорошо, т.к. пользователь должен быть авторизирован.

Может кто-то сталкивался с такой задачей ? Как проверять что тэг Header передан ?

Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.