32.2.2 Webサービスクライアント側
Webサービスクライアントでストリーミングを使用するには,SEIを取得する際にcom.sun.xml.ws.developer.StreamingAttachmentFeatureクラスを設定します。
com.sun.xml.ws.developer.StreamingAttachmentFeatureクラスについては,「19.2.4(1) com.sun.xml.ws.developer.StreamingAttachmentFeatureクラス」を参照してください。
ストリーミングを使用したWebサービスクライアントの例を次に示します。この例では,"C:/TMP"ディレクトリをストリーミングによる一時ファイルの出力先に指定し,添付ファイルを含むSOAPメッセージの詳細な解析をし,50,000バイト以上のMIMEボディを一時ファイルとして出力します。
package com.sample; ・・・・・・ public class TestClient { public static void main(String[] args) { try { File portrait = new File("portrait.png"); FileDataSource fileDataSource = new FileDataSource(portrait); DataHandler dataHandler = new DataHandler(fileDataSource); MTOMFeature mtomFeature = new MTOMFeature(); StreamingAttachmentFeature streamingAttachmentFeature = new StreamingAttachmentFeature("C:/TMP", true, 50000L); UserInfoService service = new UserInfoService(); UserInfoImpl port = service.getUserInfoImplPort(mtomFeature, streamingAttachmentFeature); DataHandler userData = port.getUserInfo(dataHandler); if (userData instanceof StreamingDataHandler) { StreamingDataHandler sdh = null; try { sdh = (StreamingDataHandler)userData; sdh.moveTo(file); ・・・・・・ } finally { try { if (sdh != null) { sdh.close(); } } catch(Exception ex) { ・・・・・・ } } } } catch (Exception e) { e.printStackTrace(); } } }