Hi,
I'm new to this but wouldn't have thought that this should proove to be so
difficult.
I have a seam component that requires the services of a components.xml object
that implements the interface called PaymentService.
Now when my seam app is deployed it recognizes the component as the following
is output to the server console:
17:18:22,310 INFO [Component] Component: paymentService, scope: APPLICATION,
type: JAVA_BEAN, class: second_seam.MockPaymentService
Now I wanted to use the payment services in my business object, so I did the
following
..
@In(value="paymentService")
private PaymentService paymentService;
Thinking that seam would find the object called paymentService and inject it
into my business component. But it can't:
First of all when I request a page that uses this buisness object, other
properties on the object start reporting errors, like I've also got an
expiryMonth field on the business object and seam reports this error relating
to it
17:18:23,845 ERROR [STDERR] Jun 30, 2007 5:18:23 PM
com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/addcardPOJO.xhtml]
javax.faces.el.EvaluationException: /cardfieldsPOJO.xhtml @51,106
value="#{cardFundingPOJO.expiryMonth}": Exception getting value of property
expiryMonth of base of type : second_seam.CardFundingPOJO_$$_javassist_44
And finally about three pages of stack trace you get..
17:18:23,874 ERROR [DebugPageHandler] redirecting to debug page
org.jboss.seam.RequiredException: In attribute requires non-null value:
cardFundingPOJO.paymentService
at org.jboss.seam.Component.getValueToInject(Component.java:1919)
at org.jboss.seam.Component.injectAttributes(Component.java:1368)
at org.jboss.seam.Component.inject(Component.java:1195)
...
when I change the injection annotation to the following
@In(value="paymentService", required=false)
private PaymentService paymentService;
it works of course until I need to use the paymentService because its null in
value. (i.e. I did this to proove that the one change was causing the errors on
the monthExpiry field)
How does one simply inject a component from components.xml or is there another
way to do this? (like I experimented with @Factory, but didn't have much luck
with that either)
Seam 1.2.1
JBoss 4.0.5
Thanks
Troy
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059364#4059364
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4059364
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user