2009-03-18 12 views
18

nullであってはならない私は、JavaオブジェクトにいくつかのXMLをアンマーシャルするためにJAXBを使用して、これをやっている:はJAXBが私に与えます:java.lang.IllegalArgumentExceptionがする:パラメータが

InputStream testMsg = getClass().getResourceAsStream("TestDocumentEvent.xml"); 
Unmarshaller unmarshaller = JAXBContext.newInstance(DocumentEvent.class).createUnmarshaller(); 
DocumentEvent unmarshalled = (DocumentEvent) unmarshaller.unmarshal(testMsg); 

私のコードは少し、このようになります。私はこのコードを実行すると

はしかし、私は例外を取得:

java.lang.IllegalArgumentException: is parameter must not be null 

何が起こっていますか?

答えて

22

これは、unmarshaller( 'is'パラメータ、geddit)に渡しているInputStreamがnullであるため、リソース名が正しいことを確認しているためです。

+2

私は自分の質問に答えました。私はこれを追加しました。なぜなら、これに関するGoogleにはあまり多くのことがなく、エラーは読みにくいからです。 – SCdF

+2

私にはわかりません。私には分かりやすいようです - unmarshal呼び出しが引数がnullであるとすぐに不平を言うと、そのことについて? –

+2

あなたは、 "IS"は苦情の "InputStream"の略ですと言っていますか?はい、それは少しはっきりしていませんが、少なくとも文脈からは把握が容易です。 – Eddie