Я создал веб-службу JAX-WS поверх Glassfish, для которой требуется базовая HTTP-аутентификация.
Теперь я хочу создать автономный клиент Java-приложения для этой веб-службы, но не знаю, как передать имя пользователя и пароль.
Он работает с обозревателем Eclipse Web Service, и, изучив проводку, я обнаружил следующее:
POST /SnaProvisioning/SnaProvisioningV1_0 HTTP/1.1
Host: localhost:8080
Content-Type: text/xml; charset=utf-8
Content-Length: 311
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: IBM Web Services Explorer
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Authorization: Basic Z2VybWFuOmdlcm1hbg==
Connection: close
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ngin.ericsson.com/sna/types/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<q0:listServiceScripts/>
</soapenv:Body>
</soapenv:Envelope>
Как передать имя пользователя и пароль в этом заголовке "Авторизация", используя код Java? Это хешируется или что-то в этом роде? Какой алгоритм?
Без обеспечения безопасности у меня есть работающий автономный клиент Java:
SnaProvisioning myPort = new SnaProvisioning_Service().getSnaProvisioningV10Port();
myPort.listServiceScripts();