> Hai Alex,
>
> I (still) have trouble giving back a result to the client after a
> submission...
> Please, forget all other things mentioned in this mail conversation, because
> I mostly resolved them, but this one is still hard to figure out.
> I'm really desperate now, because if I don't fix this now, I'll be forced to
> drop using orbeon and advice my client to use something else. And I don't
> want that, because I came all this way...
>
> Here is my mail again (please reply):
>
> First question is:
> does anybody have an example of a form, that submits a part of the model via
> a pipeline to a custom java processor and than gives back a result (just a
> message is enough) to the client?
> I think it should be possible (would be very weird if it is not possible, I
> think!) and if anybody knows how to do this, I think it should help if we
> make an example for it and add it to the xforms-sandbox...
>
> I really think I just have a very small error in configuration somewhere and
> I cannot find what is going wrong. Here is what I have:
>
> in my .xhtml:
>
> <xforms:instance id = "result-instance">
> <root>
> <result/>
> <failure/>
> <success/>
> </root>
> </xforms:instance>
>
> and
>
> <xforms:submission
> id = "mail-submission"
> ref = "instance('form-instance')/
> formcontent"
> xxforms:show-progress = "false"
> method = "post"
> action = "/e-formulieren/mail"
> replace = "instance"
> instance = "result-instance">
> <xforms:setvalue ev:event = "xforms-submit-done" ref =
> "instance('result-instance')/success">success</xforms:setvalue>
> <xforms:message ev:event = "xforms-submit-error" level =
> "modal">error occurred</xforms:message>
> </xforms:submission>
>
> in my page-flow.xml:
> <!-- mail -->
> <page path-info="/e-formulieren/mail" model="forms/xpl/mail.xpl" />
>
> in forms/xpl/mail.xpl:
>
> <p:config
> xmlns:p = "
http://www.orbeon.com/oxf/pipeline"
> xmlns:oxf = "
http://www.orbeon.com/oxf/processors"
> xmlns:xsl = "
http://www.w3.org/1999/XSL/Transform"
> xmlns:divosa = "
http://www.divosa.com/ops/processors">
> <p:param name = "instance" type = "input"/>
> <p:param name = "data" type = "output"/>
> <p:processor name = "divosa:mailProcessor">
> <p:input name = "data" href = "#instance"/>
> <p:output name = "data" ref = "data"/>
> </p:processor>
> </p:config>
>
> and then my mailProcessor:
> public class MailProcessor extends SimpleProcessor {
>
> private static Logger LOGGER = Logger.getLogger(MailProcessor.class);
>
> public MailProcessor() {
> addInputInfo(new ProcessorInputOutputInfo("instance"));
> addOutputInfo(new ProcessorInputOutputInfo(OUTPUT_DATA));
> }
>
>
> @Override
> public void generateData(PipelineContext context, ContentHandler
> contentHandler) throws SAXException, DocumentException {
> Document inputDocument = readInputAsDOM4J(context, "data");
> if (LOGGER.isDebugEnabled()) {
> LOGGER.debug(inputDocument.asXML());
> }
>
> org.dom4j.Document doc = DocumentHelper.createDocument();
> org.dom4j.Element root = doc.addElement("root");
> org.dom4j.Element result = root.addElement("result");
> // do the actual processing on the submitted information
> try {
> FormSubmitHandler formSubmitHandler =
> FormSubmitHandlerFactory.getFormSubmitHandler(Constants.FORM_SUBMIT_MAIL);
> String r = (String) formSubmitHandler.handle(inputDocument);
> result.addText("Het formulier is succesvol gemaild op "
> + new SimpleDateTimeFormatter("dd-MM-YYYY
> HH:mm:ss").formatSimpleDateTime(new DateTime()));
> } catch (Exception e) {
> result.addText("Er is een fout opgetreden bij het mailen: " +
> e.getMessage());
> }
>
> LocationSAXWriter saxWriter = new LocationSAXWriter();
> saxWriter.setContentHandler(contentHandler);
> saxWriter.write(doc);
> }
>
> As you can see, with the declaration in the submission:
> replace = "instance"
> instance = "result-instance"
> I try to replace the result instance with what I construct in the
> MailProcessor...
>
> The logging put to debug, this is (all) what I see:
> 2009-09-01 09:52:20,055 WARN XFormsServer - XForms - submission - instance
> replacement did not take place upon successful response because no body was
> provided. Submission: mail-submission
>
> Can you help??? Do you see where I go wrong?
>
> And I really think it would help to add an example to the sandbox.. then I
> won't have to bother you about thiss...
>
> Thanks and best regards,
> Bart Ottenkamp
>
> On Wed, Jul 22, 2009 at 12:36 AM, Alessandro Vernet <
[hidden email]>
> wrote:
>>
>> Bart,
>>
>>
>> bartottenkamp wrote:
>> >
>> > 1.
>> > Did you have a look at what I mailed you what's in my java code,
>> > page-flow
>> > and .xpl? You might see a thing missing or something done wrong...
>> > This is what is returned to the client from the java code I mailed you:
>> >
>> > <?xml version="1.0" encoding="utf-8"?><xxf:event-response
>> > xmlns:xxf="
http://orbeon.org/oxf/xml/xforms"
>>
>> >> >><xxf:dynamic-state>pers:784A27F5-359A-CFA7-F395-2C0DFFDB57FB</xxf:dynamic-state><xxf:action><xxf:control-values
>> > /></xxf:action></xxf:event-response>
>> >
>> > so this indeed seems empy and I guess the logging of XFormsServer is
>> > therefore correct:
>> >
>> > WARN XFormsServer - XForms - submission - instance replacement did not
>> > take place upon successful response because no body was provided.
>> > Submission: mail-submission
>> >
>>
>> Not quite. There are 2 distinct requests:
>>
>> * The Ajax request made from the browser to the server and its response.
>> This is what you see in Firebug, and is "internal" to Orbeon Forms.
>> * The submission done from the server to your service. That is the
>> submission that contains the data you are interested it. If you get a
>> nightly build and set the XFormsModelSubmission to log at the debug level
>> (see:
http://wiki.orbeon.com/forms/doc/developer-guide/xforms-logging),
>> you
>> can see what is sent to your service, and what comes back. This is what we
>> are interested in.
>>
>> So in addition to testing this with nightly build, I recommend you add
>> XFormsModelSubmission in debug mode to you log4j.xml and see what is sent
>> and received by the service. Also add a debug on the output of the
>> pipeline
>> to see what is returned by the pipeline.
>>
>>
>> bartottenkamp wrote:
>> >
>> > 2.
>> > Can you maybe point me to an example of what I want; a submit that
>> > 'goes'
>> > to
>> > java and returns the result? Like 'success' or 'failure'... There should
>> > be
>> > one or two I think...?
>> >
>>
>> Using the Java processor there is generic-init-database.xpl in the
>> examples,
>> but it doesn't return any data.
>>
>>
>> bartottenkamp wrote:
>> >
>> > 3.
>> > I also asked you this question:
>> > - trying to call some orbeon functionallity in my own java code to turn
>> > the
>> > complete node into a stripped one that only has the relevant nodes.. You
>> > do
>> > this somewhere in orbeon code, don't you? Can I call this code? Since I
>> > have
>> > the context available?
>> > Do you know an answer to this one?
>> >
>>
>> What do you mean by stripped node? I assume you have a DOM in Java, from
>> which you want to remove node; which one?
>>
>>
>> bartottenkamp wrote:
>> >
>> > 4.
>> > Back to my problem with popup blocking:
>> > I' m always working with FF3 and IE8 and everything works fine there,
>> > but
>> > if
>> > I use IE6 en IE7, popup blocking is in the way and if I then choose to
>> > allow
>> > popups, the pdf is NOT downloaded AND the form is refreshed and all data
>> > id
>> > gone...
>> > My quess my first question is; doesn't ring this a bell somewhere with
>> > you?
>> > Am I the only one with this problem as you know?
>> >
>>
>> You're not. And the only reliable way I know to do this, at the HTML
>> level,
>> is to have in the page a simple link ... Download PDF . If you have the
>> file you want to serve in a node (base64 or URI to temporary file), you
>> can
>> use an <xforms:output ref="file1" appearance="xxforms:download">. You'll
>> find an example of this in output-download.xhtml, and more documentation
>> on:
>>
>>
>>
http://www.orbeon.com/ops/doc/reference-xforms-extensions#xxforms-download-appearance>>
>> Alex
>>
>> -----
>> Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
>> Orbeon's Blog:
http://www.orbeon.com/blog/>> Personal Blog:
http://avernet.blogspot.com/>> Twitter -
http://twitter.com/avernet>> --
>> View this message in context:
>>
http://www.nabble.com/From-java-servlet-to-orbeon-context-tp24479768p24597044.html>> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.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>>
>
>
>
> --
> 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>
>