Я создал клиентские Java-объекты, используя JAX-WS RI. Я пытаюсь сделать SOAP-запрос к веб-службе. Сервис требует аутентификации в заголовке, который выглядит следующим образом:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<xsd:authHeader>
<xsd:user>[email protected]</xsd:user>
<xsd:password>password1</xsd:password>
</xsd:authHeader>
</soapenv:Header>
<soapenv:Body>
<ns:searchAssetsParam>
<ns:includeSubfolders>true</ns:includeSubfolders>
<ns:resultsPage>2</ns:resultsPage>
</ns:searchAssetsParam>
</soapenv:Body>
</soapenv:Envelope>
Сгенерированные объекты Java имеют методы для вызова службы, создания объектов и построения заголовка. Но у меня возникли проблемы с настройкой заголовка во время вызова.
Вот код, который я использую:
IpsApiService service = new IpsApiService();
IpsApiPortType port = service.getIpsApiSoapPort();
SearchAssetsParam searchAssetsParam = buildSearchAssetsParam();
SearchAssetsReturn response = port.searchAssets(searchAssetsParam);
buildSearchAssetsParam() создает объект запроса. Я создал объект заголовка следующим образом:
AuthHeader header = new AuthHeader();
header.setUser("[email protected]");
header.setPassword("password1");
Как мне установить этот AuthHeader для запроса на обслуживание?
Спасибо, Вену