JAX-WS RI を使用してクライアント Java オブジェクトを生成しました。Web サービスに SOAP リクエストを送信しようとしています。サービスは、以下のようなヘッダーで認証を必要とします:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<xsd:authHeader>
<xsd:user>username@gmail.com</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("username@gmail.com");
header.setPassword("password1");
この AuthHeader をサービス リクエストに設定するにはどうすればよいですか?
ありがとう、ヴェヌ