All,
I am trying to build a page that updates asynchronosly in the background as users interact with the page. Sort of like the google translation xforms example. My problem: ***************** 1. Load initial page 2. Click on 'negation' 3. Expect page to be updated and get.next.expression.editor.tokens.xpl to be called (note the debug statement) Instead, the tomcat log displays this: 2006-08-18 22:19:37,514 INFO org.orbeon.oxf.webapp.ProcessorService - /expression/next - Received request 2006-08-18 22:19:37,524 INFO org.orbeon.oxf.webapp.ProcessorService - /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, success rate: 98% 2006-08-18 22:19:37,534 INFO org.orbeon.oxf.webapp.ProcessorService - /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success rate: 92% But the get.next.expression.editor.tokens.xpl is never called. On further inspection, I decided to change the submit url from 'expression/next' to 'expression/next2' in the view, in an attempt to see if something would brake. All I got was this from tomcat: 2006-08-18 22:19:37,514 INFO org.orbeon.oxf.webapp.ProcessorService - /expression/next2 - Received request 2006-08-18 22:19:37,524 INFO org.orbeon.oxf.webapp.ProcessorService - /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, success rate: 98% 2006-08-18 22:19:37,534 INFO org.orbeon.oxf.webapp.ProcessorService - /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success rate: 92% So my problem is probably in the view page, but I am unable to see where I have gone wrong... Any insight would be greatly appreciated ! Sincerely, Henrik Pettersen Advanced Computation Lab Cancer Research UK Here is my view: *********************** <?xml version='1.0' encoding='utf-8' ?> <xhtml:html xmlns=" " xmlns:aspic=" http://www.cruk.com/aspic/editor/v1" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:f="http://orbeon.org/oxf/xml/formatting " xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xi=" http://orbeon.org/oxf/xml/xinclude" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xsl:version="2.0" > <xhtml:head> <xhtml:meta content="text/html; charset=UTF-8" http-equiv="Content-Type" ></xhtml:meta> <xhtml:title> Expression Editor </xhtml:title> <xforms:model> <xforms:instance id="expression" > <!-- incoming --> <aspic:claim> <aspic:id>-1</aspic:id> <aspic:expression></aspic:expression> <aspic:nextToken> <aspic:token>NEG</aspic:token> <aspic:token>IDN</aspic:token> </aspic:nextToken> <aspic:identifier>aLocalidentifier</aspic:identifier> <aspic:identifier>aCat</aspic:identifier> <aspic:identifier>aDog</aspic:identifier> <aspic:variable>MyVariable</aspic:variable> <aspic:variable>VariableB</aspic:variable> </aspic:claim> </xforms:instance> <xforms:instance id="update-expression" > <!-- outgoing --> <aspic:claim> <aspic:expression></aspic:expression> <aspic:selectedToken></aspic:selectedToken> <aspic:identifier></aspic:identifier> <aspic:variable></aspic:variable> </aspic:claim> </xforms:instance> <xforms:submission ref="instance('update-expression')" id="next-token" method="post" action="/expression/next" replace="instance" instance="expression"/> </xforms:model> </xhtml:head> <xhtml:body> <div id="expression" > <h2>Expression: <xforms:output ref="instance('expression')/aspic:expression" ></xforms:output></h2> </div> <div id="next-token" > <h2>Next Tokens:</h2> <table> <xforms:repeat id="token-repeat" nodeset="instance('expression')/aspic:nextToken" > <tr> <td> <xforms:submit appearance="xxforms:link" ref="aspic:token[text()='NEG']" submission="next-token" incremental="true"> <xforms:label>Negation</xforms:label> <xforms:help>negation is a way to say 'not'</xforms:help> <xforms:setvalue ref="instance('update-expression')/aspic:selectedToken" value="NEG" ></xforms:setvalue> <xforms:send submission="next-token" ev:event="token-added-event"/> </xforms:submit> </td> </tr> <xforms:group ref="aspic:token[text()='IDN']" id="identifier"> <tr> <td> <xforms:submit appearance="xxforms:link" submission="next-token" > <xforms:label>Identifier : </xforms:label> <xforms:setvalue ref="aspic:selectedToken" value="IDN" ></xforms:setvalue> <xforms:send ev:event="token-added-event" submission="next-token" ></xforms:send> </xforms:submit> <xforms:select1 ref="instance('expression')/aspic:identifier" selection="open" incremental="true" appearance="xxforms:autocomplete"> <xforms:help>Please enter the name of your identifier. It must start with a lowercase letter.... Note to self: Bind this field</xforms:help> <xforms:itemset nodeset="instance('expression')/aspic:identifier"> <xforms:label ref="."/> <xforms:value ref="."/> </xforms:itemset> </xforms:select1> </td> </tr> </xforms:group> <tr></tr> <tr></tr> </xforms:repeat> </table> </div> </xhtml:body> </xhtml:html> Here is the pageflow: ********************************** <!--=================================================================================--> <!-- EXPRESSION EDITOR PAGES --> <!--=================================================================================--> <page path-info="/expression/new" view="oxf:/expression/view/editor.xsl" id=" expression.new"/> <page path-info="expression/next" view="oxf:/expression/service/get.next.expression.editor.tokens.xpl" id="expression.next "/> Here is my xpl: ******************* <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf=" http://www.orbeon.com/oxf/processors" xmlns:aspic="http://www.cruk.com/aspic/editor/v1"> <p:param name="instance" type="input" debug="input" next.token/> <p:param name="data" type="output"/> <p:processor name="oxf:java"> <p:input name="config"> <config sourcepath="oxf:/java" class=" org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens"/> </p:input> <p:input name="data" href="#instance"/> <p:output name="data" ref="data"/> </p:processor> </p:config> -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Henrik,
When something goes wrong with XForms, be sure to enable XForms debugging in log4j.xml: <category name="org.orbeon.oxf.xforms.processor.XFormsServer"> <priority value="debug"/> </category> This will give you a detailed log of pretty much everything the XForms engine is doing. In time, we hope to build a nice client-side console for this, but for now you have to use the logs. -Erik Henrik Pettersen wrote: > All, > > I am trying to build a page that updates asynchronosly in the background > as users interact with the page. Sort of like the google translation > xforms example. > > My problem: > ***************** > 1. Load initial page > 2. Click on 'negation' > 3. Expect page to be updated and get.next.expression.editor.tokens.xpl > to be called (note the debug statement) > > Instead, the tomcat log displays this: > 2006-08-18 22:19:37,514 INFO org.orbeon.oxf.webapp.ProcessorService - > /expression/next - Received request > 2006-08-18 22:19:37,524 INFO org.orbeon.oxf.webapp.ProcessorService - > /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, > success rate: 98% > 2006-08-18 22:19:37,534 INFO org.orbeon.oxf.webapp.ProcessorService - > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success > rate: 92% > > But the get.next.expression.editor.tokens.xpl is never called. On > further inspection, I decided to change the submit url from > 'expression/next' to 'expression/next2' in the view, in an attempt to > see if something would brake. All I got was this from tomcat: > 2006-08-18 22:19:37,514 INFO org.orbeon.oxf.webapp.ProcessorService - > /expression/next2 - Received request > 2006-08-18 22:19:37,524 INFO org.orbeon.oxf.webapp.ProcessorService - > /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, > success rate: 98% > 2006-08-18 22:19:37,534 INFO org.orbeon.oxf.webapp.ProcessorService - > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success > rate: 92% > > So my problem is probably in the view page, but I am unable to see where > I have gone wrong... > > Any insight would be greatly appreciated ! > > Sincerely, > Henrik Pettersen > Advanced Computation Lab > Cancer Research UK > > > Here is my view: > *********************** > <?xml version='1.0' encoding='utf-8' ?> > <xhtml:html xmlns=" " xmlns:aspic=" > http://www.cruk.com/aspic/editor/v1" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:f="http://orbeon.org/oxf/xml/formatting > <http://orbeon.org/oxf/xml/formatting>" > xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xi=" > http://orbeon.org/oxf/xml/xinclude" > xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl=" > http://www.w3.org/1999/XSL/Transform" > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xsl:version="2.0" > > <xhtml:head> > <xhtml:meta content="text/html; charset=UTF-8" > http-equiv="Content-Type" ></xhtml:meta> > > <xhtml:title> Expression Editor </xhtml:title> > > <xforms:model> > <xforms:instance id="expression" > <!-- incoming --> > <aspic:claim> > <aspic:id>-1</aspic:id> > <aspic:expression></aspic:expression> > <aspic:nextToken> > <aspic:token>NEG</aspic:token> > <aspic:token>IDN</aspic:token> > </aspic:nextToken> > > <aspic:identifier>aLocalidentifier</aspic:identifier> > <aspic:identifier>aCat</aspic:identifier> > <aspic:identifier>aDog</aspic:identifier> > <aspic:variable>MyVariable</aspic:variable> > <aspic:variable>VariableB</aspic:variable> > </aspic:claim> > </xforms:instance> > > <xforms:instance id="update-expression" > <!-- outgoing --> > <aspic:claim> > <aspic:expression></aspic:expression> > <aspic:selectedToken></aspic:selectedToken> > <aspic:identifier></aspic:identifier> > <aspic:variable></aspic:variable> > </aspic:claim> > </xforms:instance> > > <xforms:submission ref="instance('update-expression')" > id="next-token" > method="post" > action="/expression/next" > replace="instance" > instance="expression"/> > > </xforms:model> > </xhtml:head> > > <xhtml:body> > <div id="expression" > > <h2>Expression: <xforms:output > ref="instance('expression')/aspic:expression" ></xforms:output></h2> > </div> > <div id="next-token" > > <h2>Next Tokens:</h2> > <table> > <xforms:repeat id="token-repeat" > nodeset="instance('expression')/aspic:nextToken" > > <tr> > <td> > <xforms:submit appearance="xxforms:link" > ref="aspic:token[text()='NEG']" submission="next-token" > incremental="true"> > > <xforms:label>Negation</xforms:label> > <xforms:help>negation is a way to say > 'not'</xforms:help> > <xforms:setvalue > ref="instance('update-expression')/aspic:selectedToken" value="NEG" > ></xforms:setvalue> > <xforms:send submission="next-token" > ev:event="token-added-event"/> > </xforms:submit> > </td> > </tr> > <xforms:group ref="aspic:token[text()='IDN']" > id="identifier"> > <tr> > <td> > <xforms:submit appearance="xxforms:link" > submission="next-token" > > <xforms:label>Identifier : > </xforms:label> > <xforms:setvalue > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue> > <xforms:send > ev:event="token-added-event" submission="next-token" ></xforms:send> > </xforms:submit> > > <xforms:select1 > ref="instance('expression')/aspic:identifier" selection="open" > incremental="true" appearance="xxforms:autocomplete"> > <xforms:help>Please enter the name > of your identifier. It must start with a lowercase letter.... Note to > self: Bind this field</xforms:help> > <xforms:itemset > nodeset="instance('expression')/aspic:identifier"> > <xforms:label ref="."/> > <xforms:value ref="."/> > </xforms:itemset> > </xforms:select1> > > </td> > </tr> > </xforms:group> > <tr></tr> > <tr></tr> > </xforms:repeat> > </table> > </div> > </xhtml:body> > </xhtml:html> > > > Here is the pageflow: > ********************************** > <!--=================================================================================--> > <!-- EXPRESSION EDITOR > PAGES --> > <!--=================================================================================--> > <page path-info="/expression/new" > view="oxf:/expression/view/editor.xsl" > id=" expression.new"/> > > <page path-info="expression/next" > > view="oxf:/expression/service/get.next.expression.editor.tokens.xpl" > id="expression.next "/> > > > Here is my xpl: > ******************* > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:oxf=" http://www.orbeon.com/oxf/processors" > xmlns:aspic="http://www.cruk.com/aspic/editor/v1"> > > <p:param name="instance" type="input" debug="input" next.token/> > <p:param name="data" type="output"/> > > <p:processor name="oxf:java"> > <p:input name="config"> > <config sourcepath="oxf:/java" class=" > org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens"/> > </p:input> > <p:input name="data" href="#instance"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:config> > > > ------------------------------------------------------------------------ > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Nice one! Thanks!
Henrik On 8/18/06, Erik Bruchez <[hidden email]> wrote: Henrik, -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Erik Bruchez
All,
looking at the logs for the xforms instance (thanks, Erik), I find this message: "Body received with non-XML media type for replace="instance": text/html" Can you specify the mediatype on the submit? Am I doing something wrong, or could this be a bug? Thanks! Henrik On 8/18/06, Erik Bruchez <[hidden email]> wrote: Henrik, -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Henrik,
This is the mediatype used by the service that sends you back the XML document. It should be ideally be application/xml. How is your service implemented? Does it set a mediatype (content-type)? -Erik Henrik Pettersen wrote: > All, > > looking at the logs for the xforms instance (thanks, Erik), I find this > message: > > "Body received with non-XML media type for replace="instance": text/html" > > Can you specify the mediatype on the submit? Am I doing something wrong, > or could this be a bug? > > Thanks! > > Henrik > > On 8/18/06, *Erik Bruchez* <[hidden email] > <mailto:[hidden email]>> wrote: > > Henrik, > > When something goes wrong with XForms, be sure to enable XForms > debugging in log4j.xml: > > <category name="org.orbeon.oxf.xforms.processor.XFormsServer"> > <priority value="debug"/> > </category> > > This will give you a detailed log of pretty much everything the XForms > engine is doing. > > In time, we hope to build a nice client-side console for this, but for > now you have to use the logs. > > -Erik > > Henrik Pettersen wrote: > > > All, > > > > I am trying to build a page that updates asynchronosly in the > background > > as users interact with the page. Sort of like the google translation > > xforms example. > > > > My problem: > > ***************** > > 1. Load initial page > > 2. Click on 'negation' > > 3. Expect page to be updated and > get.next.expression.editor.tokens.xpl > > to be called (note the debug statement) > > > > Instead, the tomcat log displays this: > > 2006-08-18 22:19:37,514 > INFO org.orbeon.oxf.webapp.ProcessorService - > > /expression/next - Received request > > 2006-08-18 22:19:37,524 > INFO org.orbeon.oxf.webapp.ProcessorService - > > /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, > > success rate: 98% > > 2006-08-18 22:19:37,534 INFO > org.orbeon.oxf.webapp.ProcessorService - > > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, > success > > rate: 92% > > > > But the get.next.expression.editor.tokens.xpl is never called. On > > further inspection, I decided to change the submit url from > > 'expression/next' to 'expression/next2' in the view, in an attempt to > > see if something would brake. All I got was this from tomcat: > > 2006-08-18 22:19:37,514 INFO > org.orbeon.oxf.webapp.ProcessorService - > > /expression/next2 - Received request > > 2006-08-18 22:19:37,524 > INFO org.orbeon.oxf.webapp.ProcessorService - > > /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, > > success rate: 98% > > 2006-08-18 22:19:37,534 > INFO org.orbeon.oxf.webapp.ProcessorService - > > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, > success > > rate: 92% > > > > So my problem is probably in the view page, but I am unable to > see where > > I have gone wrong... > > > > Any insight would be greatly appreciated ! > > > > Sincerely, > > Henrik Pettersen > > Advanced Computation Lab > > Cancer Research UK > > > > > > Here is my view: > > *********************** > > <?xml version='1.0' encoding='utf-8' ?> > > <xhtml:html xmlns=" " xmlns:aspic=" > > http://www.cruk.com/aspic/editor/v1 > <http://www.cruk.com/aspic/editor/v1>" > > xmlns:ev="http://www.w3.org/2001/xml-events" > > xmlns:f="http://orbeon.org/oxf/xml/formatting > <http://orbeon.org/oxf/xml/formatting> > > <http://orbeon.org/oxf/xml/formatting>" > > xmlns:xforms="http://www.w3.org/2002/xforms" > > xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xi=" > > http://orbeon.org/oxf/xml/xinclude" > > xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl=" > > http://www.w3.org/1999/XSL/Transform" > > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xsl:version="2.0" > > > <xhtml:head> > > <xhtml:meta content="text/html; charset=UTF-8" > > http-equiv="Content-Type" ></xhtml:meta> > > > > <xhtml:title> Expression Editor </xhtml:title> > > > > <xforms:model> > > <xforms:instance id="expression" > <!-- incoming --> > > <aspic:claim> > > <aspic:id>-1</aspic:id> > > <aspic:expression></aspic:expression> > > <aspic:nextToken> > > <aspic:token>NEG</aspic:token> > > <aspic:token>IDN</aspic:token> > > </aspic:nextToken> > > > > <aspic:identifier>aLocalidentifier</aspic:identifier> > > <aspic:identifier>aCat</aspic:identifier> > > <aspic:identifier>aDog</aspic:identifier> > > <aspic:variable>MyVariable</aspic:variable> > > <aspic:variable>VariableB</aspic:variable> > > </aspic:claim> > > </xforms:instance> > > > > <xforms:instance id="update-expression" > <!-- outgoing --> > > <aspic:claim> > > <aspic:expression></aspic:expression> > > <aspic:selectedToken></aspic:selectedToken> > > <aspic:identifier></aspic:identifier> > > <aspic:variable></aspic:variable> > > </aspic:claim> > > </xforms:instance> > > > > <xforms:submission ref="instance('update-expression')" > > id="next-token" > > method="post" > > action="/expression/next" > > replace="instance" > > instance="expression"/> > > > > </xforms:model> > > </xhtml:head> > > > > <xhtml:body> > > <div id="expression" > > > <h2>Expression: <xforms:output > > ref="instance('expression')/aspic:expression" ></xforms:output></h2> > > </div> > > <div id="next-token" > > > <h2>Next Tokens:</h2> > > <table> > > <xforms:repeat id="token-repeat" > > nodeset="instance('expression')/aspic:nextToken" > > > <tr> > > <td> > > <xforms:submit appearance="xxforms:link" > > ref="aspic:token[text()='NEG']" submission="next-token" > > incremental="true"> > > > > <xforms:label>Negation</xforms:label> > > <xforms:help>negation is a way to say > > 'not'</xforms:help> > > <xforms:setvalue > > ref="instance('update-expression')/aspic:selectedToken" value="NEG" > > ></xforms:setvalue> > > <xforms:send submission="next-token" > > ev:event="token-added-event"/> > > </xforms:submit> > > </td> > > </tr> > > <xforms:group ref="aspic:token[text()='IDN']" > > id="identifier"> > > <tr> > > <td> > > <xforms:submit > appearance="xxforms:link" > > submission="next-token" > > > <xforms:label>Identifier : > > </xforms:label> > > <xforms:setvalue > > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue> > > <xforms:send > > ev:event="token-added-event" submission="next-token" ></xforms:send> > > </xforms:submit> > > > > <xforms:select1 > > ref="instance('expression')/aspic:identifier" selection="open" > > incremental="true" appearance="xxforms:autocomplete"> > > <xforms:help>Please enter the > name > > of your identifier. It must start with a lowercase > letter.... Note to > > self: Bind this field</xforms:help> > > <xforms:itemset > > nodeset="instance('expression')/aspic:identifier"> > > <xforms:label ref="."/> > > <xforms:value ref="."/> > > </xforms:itemset> > > </xforms:select1> > > > > </td> > > </tr> > > </xforms:group> > > <tr></tr> > > <tr></tr> > > </xforms:repeat> > > </table> > > </div> > > </xhtml:body> > > </xhtml:html> > > > > > > Here is the pageflow: > > ********************************** > > > <!--=================================================================================--> > > <!-- EXPRESSION EDITOR > > PAGES --> > > > <!--=================================================================================--> > > <page path-info="/expression/new" > > view="oxf:/expression/view/editor.xsl" > > id=" expression.new"/> > > > > <page path-info="expression/next" > > > > view="oxf:/expression/service/get.next.expression.editor.tokens.xpl" > > id=" expression.next "/> > > > > > > Here is my xpl: > > ******************* > > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > > xmlns:oxf=" http://www.orbeon.com/oxf/processors" > > xmlns:aspic="http://www.cruk.com/aspic/editor/v1 > <http://www.cruk.com/aspic/editor/v1>"> > > > > <p:param name="instance" type="input" debug="input" next.token/> > > <p:param name="data" type="output"/> > > > > <p:processor name="oxf:java"> > > <p:input name="config"> > > <config sourcepath="oxf:/java" class=" > > org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/> > > </p:input> > > <p:input name="data" href="#instance"/> > > <p:output name="data" ref="data"/> > > </p:processor> > > </p:config> > > > > > > > ------------------------------------------------------------------------ > > > > > > -- > > You receive this message as a subscriber of the > [hidden email] <mailto:[hidden email]> mailing list. > > To unsubscribe: mailto:[hidden email] > <mailto:[hidden email]> > > For general help: mailto: [hidden email] > <mailto:[hidden email]>?subject=help > > ObjectWeb mailing lists service home page: > http://www.objectweb.org/wws > > > -- > Orbeon - XForms Everywhere: > http://www.orbeon.com/blog/ > > > > > -- > You receive this message as a subscriber of the > [hidden email] <mailto:[hidden email]> mailing list. > To unsubscribe: mailto: [hidden email] > <mailto:[hidden email]> > For general help: mailto:[hidden email] > <mailto:[hidden email]>?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > ------------------------------------------------------------------------ > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
I looked into this a little further, and I found curious problem. When you are doing these asynchrounous calls to services, and the service for some reason fails, what is returned to the requestor is an error html page with content type txt/html. This response then fails the tests in XformsModelSubmission (contentype applcation/xml, return code 2xx) which throws an exception. However, the contents of the error page from calling the service seems to be lost, which leaves you with little clues for what happened. In my example, I have a bogus model reference in the pageflow. Are there some logs that I have not enabled? Should the error page from calling the service be displayed to the user? Henrik On 8/19/06, Erik Bruchez <[hidden email]> wrote: Henrik, -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Henrik,
You can: o Retrieve the error message body from XForms using event('body') available when you handle xforms-submit-error. (Note that event context information names defined in XForms 1.1 are not finalized yet, in particular "body" may be renamed "response-body" in the future.) o Put a debug attribute in config/error.xpl o Setup another Servlet in web.xml that handles all your services and has an error processor returning an XML error instead of an HTML one, although this is a slightly heavier setup. Possibly in the future the default error.html could return an XML error based on an "Accept" header set during XForms submission, i.e. if there is an Accept header but no text/html, the error could be simply formatted as XML. -Erik Henrik Pettersen wrote: > Erik, > > I looked into this a little further, and I found curious problem. > > When you are doing these asynchrounous calls to services, and the > service for some reason fails, > what is returned to the requestor is an error html page with content > type txt/html. > > This response then fails the tests in XformsModelSubmission (contentype > applcation/xml, return code 2xx) which throws an exception. > > However, the contents of the error page from calling the service seems > to be lost, which leaves you with little clues for what happened. > > In my example, I have a bogus model reference in the pageflow. > > Are there some logs that I have not enabled? Should the error page from > calling the service be displayed to the user? > > Henrik > > > On 8/19/06, *Erik Bruchez* <[hidden email] > <mailto:[hidden email]>> wrote: > > Henrik, > > This is the mediatype used by the service that sends you back the XML > document. It should be ideally be application/xml. How is your service > implemented? Does it set a mediatype (content-type)? > > -Erik > > Henrik Pettersen wrote: > > All, > > > > looking at the logs for the xforms instance (thanks, Erik), I > find this > > message: > > > > "Body received with non-XML media type for replace="instance": > text/html" > > > > Can you specify the mediatype on the submit? Am I doing something > wrong, > > or could this be a bug? > > > > Thanks! > > > > Henrik > > > > On 8/18/06, *Erik Bruchez* < [hidden email] > <mailto:[hidden email]> > > <mailto:[hidden email] <mailto:[hidden email]>>> wrote: > > > > Henrik, > > > > When something goes wrong with XForms, be sure to enable XForms > > debugging in log4j.xml: > > > > <category name="org.orbeon.oxf.xforms.processor.XFormsServer"> > > <priority value="debug"/> > > </category> > > > > This will give you a detailed log of pretty much everything > the XForms > > engine is doing. > > > > In time, we hope to build a nice client-side console for > this, but for > > now you have to use the logs. > > > > -Erik > > > > Henrik Pettersen wrote: > > > > > All, > > > > > > I am trying to build a page that updates asynchronosly in the > > background > > > as users interact with the page. Sort of like the google > translation > > > xforms example. > > > > > > My problem: > > > ***************** > > > 1. Load initial page > > > 2. Click on 'negation' > > > 3. Expect page to be updated and > > get.next.expression.editor.tokens.xpl > > > to be called (note the debug statement) > > > > > > Instead, the tomcat log displays this: > > > 2006-08-18 22:19:37,514 > > INFO org.orbeon.oxf.webapp.ProcessorService - > > > /expression/next - Received request > > > 2006-08-18 22:19:37,524 > > INFO org.orbeon.oxf.webapp.ProcessorService - > > > /expression/next - Timing: 10 - Cache hits: 156, fault: 3, > adds: 0, > > > success rate: 98% > > > 2006-08-18 22:19:37,534 INFO > > org.orbeon.oxf.webapp.ProcessorService - > > > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, > adds: 1, > > success > > > rate: 92% > > > > > > But the get.next.expression.editor.tokens.xpl is never > called. On > > > further inspection, I decided to change the submit url from > > > 'expression/next' to 'expression/next2' in the view, in an > attempt to > > > see if something would brake. All I got was this from tomcat: > > > 2006-08-18 22:19:37,514 INFO > > org.orbeon.oxf.webapp.ProcessorService - > > > /expression/next2 - Received request > > > 2006-08-18 22:19:37,524 > > INFO org.orbeon.oxf.webapp.ProcessorService - > > > /expression/next2 - Timing: 10 - Cache hits: 156, fault: > 3, adds: 0, > > > success rate: 98% > > > 2006-08-18 22:19:37,534 > > INFO org.orbeon.oxf.webapp.ProcessorService - > > > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, > adds: 1, > > success > > > rate: 92% > > > > > > So my problem is probably in the view page, but I am unable to > > see where > > > I have gone wrong... > > > > > > Any insight would be greatly appreciated ! > > > > > > Sincerely, > > > Henrik Pettersen > > > Advanced Computation Lab > > > Cancer Research UK > > > > > > > > > Here is my view: > > > *********************** > > > <?xml version='1.0' encoding='utf-8' ?> > > > <xhtml:html xmlns=" " xmlns:aspic=" > > > http://www.cruk.com/aspic/editor/v1 > > <http://www.cruk.com/aspic/editor/v1>" > > > xmlns:ev=" http://www.w3.org/2001/xml-events" > > > xmlns:f="http://orbeon.org/oxf/xml/formatting > > < http://orbeon.org/oxf/xml/formatting> > > > <http://orbeon.org/oxf/xml/formatting>" > > > xmlns:xforms=" http://www.w3.org/2002/xforms" > > > xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xi=" > > > http://orbeon.org/oxf/xml/xinclude" > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl=" > > > http://www.w3.org/1999/XSL/Transform" > > > > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xsl:version="2.0" > > > > <xhtml:head> > > > <xhtml:meta content="text/html; charset=UTF-8" > > > http-equiv="Content-Type" ></xhtml:meta> > > > > > > <xhtml:title> Expression Editor </xhtml:title> > > > > > > <xforms:model> > > > <xforms:instance id="expression" > <!-- incoming --> > > > <aspic:claim> > > > <aspic:id>-1</aspic:id> > > > <aspic:expression></aspic:expression> > > > <aspic:nextToken> > > > <aspic:token>NEG</aspic:token> > > > <aspic:token>IDN</aspic:token> > > > </aspic:nextToken> > > > > > > <aspic:identifier>aLocalidentifier</aspic:identifier> > > > <aspic:identifier>aCat</aspic:identifier> > > > <aspic:identifier>aDog</aspic:identifier> > > > <aspic:variable>MyVariable</aspic:variable> > > > <aspic:variable>VariableB</aspic:variable> > > > </aspic:claim> > > > </xforms:instance> > > > > > > <xforms:instance id="update-expression" > <!-- > outgoing --> > > > <aspic:claim> > > > <aspic:expression></aspic:expression> > > > <aspic:selectedToken></aspic:selectedToken> > > > <aspic:identifier></aspic:identifier> > > > <aspic:variable></aspic:variable> > > > </aspic:claim> > > > </xforms:instance> > > > > > > <xforms:submission ref="instance('update-expression')" > > > id="next-token" > > > method="post" > > > action="/expression/next" > > > replace="instance" > > > instance="expression"/> > > > > > > </xforms:model> > > > </xhtml:head> > > > > > > <xhtml:body> > > > <div id="expression" > > > > <h2>Expression: <xforms:output > > > ref="instance('expression')/aspic:expression" > ></xforms:output></h2> > > > </div> > > > <div id="next-token" > > > > <h2>Next Tokens:</h2> > > > <table> > > > <xforms:repeat id="token-repeat" > > > nodeset="instance('expression')/aspic:nextToken" > > > > <tr> > > > <td> > > > <xforms:submit > appearance="xxforms:link" > > > ref="aspic:token[text()='NEG']" submission="next-token" > > > incremental="true"> > > > > > > <xforms:label>Negation</xforms:label> > > > <xforms:help>negation is a > way to say > > > 'not'</xforms:help> > > > <xforms:setvalue > > > > ref="instance('update-expression')/aspic:selectedToken" value="NEG" > > > ></xforms:setvalue> > > > <xforms:send > submission="next-token" > > > ev:event="token-added-event"/> > > > </xforms:submit> > > > </td> > > > </tr> > > > <xforms:group > ref="aspic:token[text()='IDN']" > > > id="identifier"> > > > <tr> > > > <td> > > > <xforms:submit > > appearance="xxforms:link" > > > submission="next-token" > > > > > <xforms:label>Identifier : > > > </xforms:label> > > > <xforms:setvalue > > > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue> > > > <xforms:send > > > ev:event="token-added-event" submission="next-token" > ></xforms:send> > > > </xforms:submit> > > > > > > <xforms:select1 > > > ref="instance('expression')/aspic:identifier" > selection="open" > > > incremental="true" appearance="xxforms:autocomplete"> > > > <xforms:help>Please > enter the > > name > > > of your identifier. It must start with a lowercase > > letter.... Note to > > > self: Bind this field</xforms:help> > > > <xforms:itemset > > > nodeset="instance('expression')/aspic:identifier"> > > > <xforms:label > ref="."/> > > > <xforms:value > ref="."/> > > > </xforms:itemset> > > > </xforms:select1> > > > > > > </td> > > > </tr> > > > </xforms:group> > > > <tr></tr> > > > <tr></tr> > > > </xforms:repeat> > > > </table> > > > </div> > > > </xhtml:body> > > > </xhtml:html> > > > > > > > > > Here is the pageflow: > > > ********************************** > > > > > > <!--=================================================================================--> > > > <!-- EXPRESSION EDITOR > > > PAGES --> > > > > > > <!--=================================================================================--> > > > <page path-info="/expression/new" > > > view="oxf:/expression/view/editor.xsl" > > > id=" expression.new"/> > > > > > > <page path-info="expression/next" > > > > > > > view="oxf:/expression/service/get.next.expression.editor.tokens.xpl" > > > id=" expression.next "/> > > > > > > > > > Here is my xpl: > > > ******************* > > > <p:config xmlns:p=" http://www.orbeon.com/oxf/pipeline" > > > xmlns:oxf=" http://www.orbeon.com/oxf/processors" > > > xmlns:aspic=" http://www.cruk.com/aspic/editor/v1 > > <http://www.cruk.com/aspic/editor/v1>"> > > > > > > <p:param name="instance" type="input" debug="input" > next.token/> > > > <p:param name="data" type="output"/> > > > > > > <p:processor name="oxf:java"> > > > <p:input name="config"> > > > <config sourcepath="oxf:/java" class=" > > > org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/> > > > </p:input> > > > <p:input name="data" href="#instance"/> > > > <p:output name="data" ref="data"/> > > > </p:processor> > > > </p:config> > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > -- > > > You receive this message as a subscriber of the > > [hidden email] <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>> > mailing list. > > > To unsubscribe: mailto:[hidden email] > <mailto:[hidden email]> > > <mailto:[hidden email] > <mailto:[hidden email]>> > > > For general help: mailto: [hidden email] > <mailto:[hidden email]> > > <mailto:[hidden email] > <mailto:[hidden email]>>?subject=help > > > ObjectWeb mailing lists service home page: > > http://www.objectweb.org/wws <http://www.objectweb.org/wws> > > > > > > -- > > Orbeon - XForms Everywhere: > > http://www.orbeon.com/blog/ > > > > > > > > > > -- > > You receive this message as a subscriber of the > > [hidden email] <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>> > mailing list. > > To unsubscribe: mailto: [hidden email] > <mailto:[hidden email]> > > <mailto:[hidden email] > <mailto:[hidden email]>> > > For general help: mailto: [hidden email] > <mailto:[hidden email]> > > <mailto:[hidden email] > <mailto:[hidden email]>>?subject=help > > ObjectWeb mailing lists service home page: > http://www.objectweb.org/wws <http://www.objectweb.org/wws> > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > -- > > You receive this message as a subscriber of the > [hidden email] <mailto:[hidden email]> mailing list. > > To unsubscribe: mailto:[hidden email] > <mailto:[hidden email]> > > For general help: mailto: [hidden email] > <mailto:[hidden email]>?subject=help > > ObjectWeb mailing lists service home page: > http://www.objectweb.org/wws > > > -- > Orbeon - XForms Everywhere: > http://www.orbeon.com/blog/ > > > > > -- > You receive this message as a subscriber of the > [hidden email] <mailto:[hidden email]> mailing list. > To unsubscribe: mailto: [hidden email] > <mailto:[hidden email]> > For general help: mailto:[hidden email] > <mailto:[hidden email]>?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > ------------------------------------------------------------------------ > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Free forum by Nabble | Edit this page |