イメージデータをseam + RESTeasyエンドポイントに投稿しようとしていますが、JBossの起動時に非常に不明瞭なエラーが発生します。私が送信しているHTTPリクエストには、content-typeのmultipart/form-dataがあり、image/jpegという名前の部分に「attachment」という名前が付いています。私のサービスメソッドは次のようになります。シーム+ RESTeasyへのマルチパートフォームデータのポストがInputStreamへのマーシャリングに失敗する
@POST
@Path("uploadSymptomsImage/{appointmentGUID}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("application/json")
public String uploadSymptomsImage(@FormParam("attachment") InputStream fileInputStream,
@PathParam("appointmentGUID") String strAppointmentGUID)
{ ...
私が手にエラーが起動時に次のとおりです。
Caused by: java.lang.RuntimeException: Unable to find a constructor that takes a String param or a valueOf() or fromString() method for javax.ws.rs.FormParam("attachment") on public java.lang.String com....AppointmentRestService.uploadSymptomsImage(java.io.InputStream,java.lang.String) for basetype: java.io.InputStream
at org.jboss.resteasy.core.StringParameterInjector.initialize(StringParameterInjector.java:206) [:]
at org.jboss.resteasy.core.StringParameterInjector.<init>(StringParameterInjector.java:57) [:]
at org.jboss.resteasy.core.FormParamInjector.<init>(FormParamInjector.java:22) [:]
私の理解では、メディアタイプが自動的に入力ストリームに整列化することができることでした。私もjava.io.File、java.io.Readerを試みました - 両方とも同じエラーです。私がbyte []またはStringで置き換えると、長さがゼロの配列、またはパラメータ値としてnullが返されます。
これをデバッグするにはどうすればよいですか?また、生の要求または事前マーシャリングされた値にアクセスすることは可能ですか?
ここにご意見をいただければ幸いです。
こんにちはタイラーが、あなたがこの問題を解決しましたか? Ivは非常に似た問題を抱えていた – DaveB
デイヴ大佐、すみません、私は実験していて、深く掘り下げる必要はありませんでした。がんばろう! – tyler