Стоит такая задача - надо сделать 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 передан ?
Спасибо.