I've checked in a fix. It should work now.

I hope it works, but I still find it strange that WebSphere contains
Validation API binaries. Did you add them yourself?

Regards,
Jan-Kees


2009/8/21 Michael Concini <[email protected]>:
> Glad to be of service :)   Thanks for the quick response.  I'll keep a
> lookout for a fix.
> Thanks.
>
>
> Jan-Kees van Andel wrote:
>>
>> I don't understand it. It looks like the BeanValidator.validate method
>> is actually called. That should be impossible since it is added in JSF
>> 2.0.
>>
>> I base my beanval-exists-check on a
>> Class.forName("javax.validation.Validator"). It may exist in your
>> environment, while an implementation is not available. But since there
>> is no official Bean Validation release yet, this should not be
>> possible. When it gets released though, this may happen, so I'm gonna
>> try to modify the code so that it does a more thorough check.
>>
>> When it's committed, I'll let you know.
>>
>> /JK
>>
>> Ps. Mike: It looks like you're my first customer. :-)
>>
>>
>> 2009/8/21 Michael Concini <[email protected]>:
>>
>>>
>>> |I was doing a quick reqression test on the myfaces-example-simple app,
>>> and
>>> I hit the exception below trying to run sample1.  Looks to be introduced
>>> by the recent drop for the bean validation work.
>>> I haven't worked with the validation APIs before so its very possible
>>> I've
>>> missed a step. Is there some steps that need to be followed to get this
>>> working?
>>>
>>> Thanks,
>>> Mike
>>>
>>> javax.servlet.ServletException: Could not create a default provider
>>>       at
>>>
>>> javax.faces.webapp.FacesServlet._handleStandardRequest(FacesServlet.java:456)
>>>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:182)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1072)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:646)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:406)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:127)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
>>>       at
>>>
>>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:890)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:943)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:86)
>>>       at
>>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:881)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1567)
>>>       at
>>>
>>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:178)
>>>       at
>>>
>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
>>>       at
>>>
>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
>>>       at
>>>
>>> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
>>>       at
>>>
>>> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
>>>       at
>>>
>>> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
>>>       at
>>>
>>> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
>>>       at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
>>>       at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
>>>       at
>>>
>>> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
>>>       at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
>>>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1554)
>>> Caused by: javax.validation.ValidationException: Could not create a
>>> default
>>> provider
>>>       at
>>>
>>> javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:170)
>>>       at
>>>
>>> javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:45)
>>>       at
>>>
>>> javax.faces.validator.BeanValidator.createValidatorFactory(BeanValidator.java:271)
>>>       at
>>> javax.faces.validator.BeanValidator.validate(BeanValidator.java:181)
>>>       at
>>>
>>> javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:158)
>>>       at javax.faces.component.UIInput.validateValue(UIInput.java:350)
>>>       at javax.faces.component.UIInput.validate(UIInput.java:497)
>>>       at
>>> javax.faces.component.UIInput.processValidators(UIInput.java:184)
>>>       at javax.faces.component.UIForm.processValidators(UIForm.java:94)
>>>       at
>>>
>>> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1131)
>>>       at
>>>
>>> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1131)
>>>       at
>>>
>>> javax.faces.component.UIViewRoot._processValidatorsDefault(UIViewRoot.java:1211)
>>>       at javax.faces.component.UIViewRoot.access$600(UIViewRoot.java:74)
>>>       at
>>>
>>> javax.faces.component.UIViewRoot$ProcessValidatorPhaseProcessor.process(UIViewRoot.java:1258)
>>>       at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1185)
>>>       at
>>> javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:655)
>>>       at
>>>
>>> org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:35)
>>>       at
>>>
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:127)
>>>       at
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:83)
>>>       at
>>>
>>> javax.faces.webapp.FacesServlet._handleStandardRequest(FacesServlet.java:421)
>>>       ... 27 more
>>> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>>>       at java.util.ArrayList.get(ArrayList.java:338)
>>>       at
>>>
>>> javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:168)
>>>       ... 46 more
>>> |||
>>>
>>>
>>>
>>
>>
>
>

Reply via email to