Bug in 3.7.0beta1+.200812171427? ORBEON.xforms.Document.setValue on a select1 control

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug in 3.7.0beta1+.200812171427? ORBEON.xforms.Document.setValue on a select1 control

fl.schmitt(ops-users)
Hi,

after upgrading from 3.6.0 to 3.7.0beta1+.200812171427, i encounter an
error when trying to set the value of a select1 control using
Javascript. I've enclosed a modified version of the javascript
get/setValue sandbox example to demonstrate the problem. In the example,
i've just replaced the xforms:input control thats the target of the
setValue with a xforms:select1.

It seems to be a problem of encrypting the value - if i set the
oxf.xforms.encrypt-item-values property to false, everything works fine.

The stacktrace is:

2008-12-22 17:20:52,828 ERROR ProcessorService  - Exception at line 55,
column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor
output: name='response', id='xforms-response')
java.lang.IllegalArgumentException: Null input buffer
        at javax.crypto.Cipher.doFinal(DashoA13*..)
        at org.orbeon.oxf.util.SecureUtils.decrypt(SecureUtils.java:188)
        at org.orbeon.oxf.util.SecureUtils.decryptAsString(SecureUtils.java:162)
        at
org.orbeon.oxf.xforms.XFormsItemUtils.decryptValue(XFormsItemUtils.java:105)
        at
org.orbeon.oxf.xforms.control.controls.XFormsSelect1Control.storeExternalValue(XFormsSelect1Control.java:152)
        at
org.orbeon.oxf.xforms.XFormsContainingDocument.executeExternalEvent(XFormsContainingDocument.java:976)
        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:394)
        at
org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
        at
org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:82)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
        at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
        at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
        at
org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcessor.java:36)
        at
org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:59)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
        at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
        at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
        at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:377)
        at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)
        at
org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
        at
org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:408)
        at
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:189)
        at
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
        at
org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
        at
org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
        at
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:242)
        at
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
        at
org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
        at
org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
        at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
        at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
        at
org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
        at java.lang.Thread.run(Unknown Source)


florian


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

javascript-get-set-value.xhtml (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug in 3.7.0beta1+.200812171427? ORBEON.xforms.Document.setValue on a select1 control

Erik Bruchez
Administrator
Florian,

I entered a bug to track this:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=312234&group_id=168&atid=350207

Workaround is to disable encryption of items values:

     <property as="xs:boolean" name="oxf.xforms.encrypt-item-values"  
value="false"/>

-Erik

On Dec 23, 2008, at 12:35 AM, Florian Schmitt wrote:

> Hi,
>
> after upgrading from 3.6.0 to 3.7.0beta1+.200812171427, i encounter an
> error when trying to set the value of a select1 control using
> Javascript. I've enclosed a modified version of the javascript
> get/setValue sandbox example to demonstrate the problem. In the  
> example,
> i've just replaced the xforms:input control thats the target of the
> setValue with a xforms:select1.
>
> It seems to be a problem of encrypting the value - if i set the
> oxf.xforms.encrypt-item-values property to false, everything works  
> fine.
>
> The stacktrace is:
>
> 2008-12-22 17:20:52,828 ERROR ProcessorService  - Exception at line  
> 55,
> column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor
> output: name='response', id='xforms-response')
> java.lang.IllegalArgumentException: Null input buffer
> at javax.crypto.Cipher.doFinal(DashoA13*..)
> at org.orbeon.oxf.util.SecureUtils.decrypt(SecureUtils.java:188)
> at org.orbeon.oxf.util.SecureUtils.decryptAsString(SecureUtils.java:
> 162)
> at
> org
> .orbeon.oxf.xforms.XFormsItemUtils.decryptValue(XFormsItemUtils.java:
> 105)
> at
> org
> .orbeon
> .oxf
> .xforms
> .control
> .controls
> .XFormsSelect1Control.storeExternalValue(XFormsSelect1Control.java:
> 152)
> at
> org
> .orbeon
> .oxf
> .xforms
> .XFormsContainingDocument
> .executeExternalEvent(XFormsContainingDocument.java:976)
> at  
> org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:
> 394)
> at
> org.orbeon.oxf.xforms.processor.XFormsServer.access
> $000(XFormsServer.java:56)
> at
> org.orbeon.oxf.xforms.processor.XFormsServer
> $1.readImpl(XFormsServer.java:82)
> at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:
> 995)
> at
> org.orbeon.oxf.processor.ProcessorImpl
> $ProcessorOutputImpl.read(ProcessorImpl.java:1178)
> at
> org
> .orbeon
> .oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
> at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access
> $000(TeeProcessor.java:36)
> at
> org.orbeon.oxf.processor.pipeline.TeeProcessor
> $1.readImpl(TeeProcessor.java:59)
> at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:
> 995)
> at
> org.orbeon.oxf.processor.ProcessorImpl
> $ProcessorOutputImpl.read(ProcessorImpl.java:1178)
> at
> org
> .orbeon
> .oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
> at
> org
> .orbeon
> .oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:
> 377)
> at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:
> 410)
> at
> org
> .orbeon
> .oxf
> .processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:
> 453)
> at
> org
> .orbeon
> .oxf
> .processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:
> 408)
> at
> org
> .orbeon
> .oxf
> .processor
> .pipeline
> .choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:
> 189)
> at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor
> $11.run(PipelineProcessor.java:644)
> at
> org
> .orbeon
> .oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
> at
> org
> .orbeon
> .oxf
> .processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:
> 641)
> at
> org
> .orbeon
> .oxf
> .processor
> .pipeline
> .choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:
> 242)
> at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor
> $11.run(PipelineProcessor.java:644)
> at
> org
> .orbeon
> .oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
> at
> org
> .orbeon
> .oxf
> .processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:
> 641)
> at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
> at  
> org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:
> 96)
> at
> org
> .orbeon
> .oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 290)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 228)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 175)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org
> .apache
> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 109)
> at
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 212)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
> at
> org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:634)
> at org.apache.tomcat.util.net.JIoEndpoint
> $Worker.run(JIoEndpoint.java:445)
> at java.lang.Thread.run(Unknown Source)
>
>
> florian
> <javascript-get-set-value.xhtml>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws