Cosminexus V9 アプリケーションサーバ Webサービス開発ガイド
戻り値に使用できるJava型とMIMEメディアタイプの組み合わせを次の表に示します。
表25-7 エンティティボディの戻り値に使用できるJavaの型とMIMEメディアタイプの組み合わせ
| 項番 | Javaの型 | charset※1 | MIMEメディアタイプ |
|---|---|---|---|
| 1 | byte[] | × | 任意(*/*) |
| 2 | java.lang.String | ○ | 任意(*/*) |
| 3 | java.io.InputStream | × | 任意(*/*) |
| 4 | java.io.Reader | ○ | 任意(*/*) |
| 5 | java.io.File※2 | × | 任意(*/*) |
| 6 | javax.activation.DataSource | × | 任意(*/*) |
| 7 | javax.xml.transform.Source※3 | × | 任意(*/*) |
| 8 | javax.xml.bind.JAXBElement<String>※4,※5 | × | text/xml, application/xml, application/*+xml |
| 9 | XmlRootElementアノテーションおよび/またはXmlTypeアノテーションでアノテートされたJAXBクラス※5 | × | text/xml, application/xml, application/*+xml |
| 10 | javax.ws.rs.core.MultivaluedMap<String,String> | ○ | application/x-www-form-urlencoded |
| 11 | org.w3c.dom.Document | × | 任意(*/*) |
| 12 | java.awt.image.RenderedImage | × | application/octet-stream, image/jpeg |
| 13 | com.cosminexus.jersey.core.provider.EntityHolder<T>※6 | △ | Tに指定した型と同じMIMEメディアタイプです。 |
| 14 | com.cosminexus.jersey.api.client.GenericType<T>※7 | △ | Tに指定した型と同じMIMEメディアタイプです。 |
| 15 | POJO※8 | ○ | application/json |
指定したJavaの型がサポートされない型の場合,エラーとなり(KDJJ10031-EおよびKDJJ18888-E),ClientHandlerExceptionがスローされます。
戻り値が次に示すJavaの型で,HTTPレスポンスのエンティティボディが使用できないMIMEメディアタイプの場合,エラーとなり(KDJJ10031-EまたはKDJJ18888-E),ClientHandlerExceptionがスローされます。
HTTPレスポンスのエンティティボディからの変換でIOExceptionが発生した場合,エラーとなり(KDJJ18888-E),ClientHandlerExceptionがスローされます。
HTTPレスポンスのエンティティボディからの変換でIOException以外の例外がスローされた場合は,対応する例外がスローされます。なお,ログを確認するときは,JAX-RS機能のログファイルではなくJ2EEサーバのログファイルを確認してください
java.awt.image.RenderedImageのエンティティパラメタでは,Content-Type HTTPヘッダがimage/*の場合,エラーとなり(KDJJ18888-E),java.io.IOExceptionをラップしたClientHandlerExceptionがスローされます。
com.cosminexus.jersey.api.client.GenericType<T>のエンティティパラメタでは,HTTPレスポンスにエンティティボディがある場合,Tが表の項番1のとき,エラーとなり(KDJJ10031-EおよびKDJJ18888-E),ClientHandlerExceptionがスローされます。
com.cosminexus.jersey.core.provider.EntityHolder<T>のエンティティパラメタでは,HTTPレスポンスにエンティティボディがある場合,次に示すどちらかのときにエラーとなり(KDJJ10003-E),javax.ws.rs.WebApplicationExceptionがスローされます。
クライアントAPIがJ2EEサーバ上で動作する場合,エンティティボディに含まれるフォームパラメタ数の上限値のデフォルトは10,000です。エンティティパラメタの型がjavax.ws.rs.core.MultivaluedMap<String,String>,またはcom.cosminexus.jersey.core.provider.GenericType<EntityHolder<javax.ws.rs.core.MultivaluedMap<String,String>>>のとき,レスポンスのパラメタ数が指定した値を超えたときは,RuntimeExceptionがスローされます。必要に応じてJ2EEサーバ用ユーザプロパティファイル(usrconf.properties)のwebserver.connector.limit.max_parameter_countプロパティで変更してください。なお,ログを確認するときは,JAX-RS機能のログファイルではなくJ2EEサーバのログファイルを確認してください。
HTTPレスポンスにContent-Type HTTPヘッダが存在しない場合,MIMEメディアタイプはapplication/octet-streamであると見なされます。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.