2012-01-24 14 views
1

WAS 6.1からWAS 7への移行Webアプリケーションで例外が発生しました。このアプリケーションは、JSF1.1(MyFaces)+ Facelets + Spring(バッキングBean用)を使用して開発されました。いくつかのページで次の例外が発生します:JSF1.1 WebSphere AS 7のWebアプリケーションIntrospectionException

Caused by: javax.faces.FacesException: Could not retrieve value of component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pages/recovery_accs.xhtml][Class: javax.faces.component.html.HtmlForm,Id: sequestration][Class: javax.faces.component.html.HtmlDataTable,Id: _id37][Class: javax.faces.component.UIColumn,Id: _id50][Class: javax.faces.component.html.HtmlOutputText,Id: _id52]} 

    at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:271) 

    at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(RendererUtils.java:226) 

    at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderOutput(HtmlTextRendererBase.java:69) 

    at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:57) 

    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:799) 

... 46 more 

Caused by: javax.faces.el.PropertyNotFoundException: /pages/sub/idocAccsRecoverySub.xhtml @34,55 value="#{varbean.idocAcc.vzOrder}": Bean: com.test.project.bean.idoc.accs.IdocAccBean, property: idocAcc 

    at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:58) 

    at javax.faces.component.UIOutput.getValue(UIOutput.java:118) 

    at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:267) 

    ... 50 more 

Caused by: java.beans.IntrospectionException: Parameter type in setter method does not corresponds to predefined. 

    at java.beans.PropertyDescriptor.setWriteMethod(Unknown Source) 

    at java.beans.PropertyDescriptor.<init>(Unknown Source) 

    at java.beans.StandardBeanInfo.introspectProperties(Unknown Source) 

    at java.beans.StandardBeanInfo.<init>(Unknown Source) 

    at java.beans.Introspector.getBeanInfoImpl(Unknown Source) 

    at java.beans.Introspector.getBeanInfoImpl(Unknown Source) 

    at java.beans.Introspector.getBeanInfoImplAndInit(Unknown Source) 

    at java.beans.Introspector.getBeanInfo(Unknown Source) 

    at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:474) 

    at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:438) 

    at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:85) 

    at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:141) 

    at org.apache.el.parser.AstValue.getValue(AstValue.java:123) 

    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) 

    at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) 

    at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56) 

    ... 52 more 

異なるバージョンのfaceletライブラリとさまざまなEL実装を試しました。 IBMのJDKを使用してプロジェクトを再コンパイルしようとしました。まだ成功していない。 Apache Tomcatでは問題なく動作します。上記スタックトレースで

- IdocAccBeanはIdocAccCore抽象クラスを拡張する通常のJava Beanです。そのクラスを拡張する他のバッキングBeanを使用すると、同じ例外が発生します。 IdocAccCoreから派生していない他のすべてのBeanは正常に動作します。 IdocAccCoreクラスには特別なものはありません。かなり大きいので、完全なソースコードを与える必要はないと思います。

何が間違っている可能性がありますか?IdocAccCoreクラス?

+0

詳細 - この問題は実行時環境に関するものと思われます。私はWebアプリケーションをApache Tomcatの下でIBMs JREを使って実行しようとしましたが、同じ問題がありました。 SUNのJREはすべて正常に動作します。また、IdocAccBeanクラスのどのプロパティにも有効なgetメソッドとsetメソッドでアクセスできないことがわかりました。 – alsid

答えて

1

IBMのJREバージョンを更新することで問題を解決しました。実際、私はIBMのJREの最新バージョンを使用していると思っていました。確かに私はIBMのサイトIBM Development Package for Eclipseからダウンロードしました。問題は、このパッケージにかなり古いバージョンのIBM Java 1.6が含まれていることです。 Websphere AS用のフィックスパックで見つかったIBMのJavaの新バージョン。 IBMのJavaで修正されたバグの詳細リストが見つかりました1.6 here

関連する問題