Hi,
Thanks (Erik) for the answer to my previous question. I am however
getting an NPE when using the Delegation Processor. The processor
successfully calls the Stateless session EJB method (which prints to the
console), but then immediately throws a NPE. I have tested the EJB
method successfully with a Java client. Perhaps the XPL is incorrect?
The EJB method signature is:
public void saveXForm( java.lang.String theform )
throws java.rmi.RemoteException;
XPL and stack trace listings are below:
Any help appreciated.
Regards, Avinder
<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:delegation="http://orbeon.org/oxf/xml/delegation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<p:param name="data" type="output"/>
<p:processor name="oxf:delegation">
<p:input name="interface">
<config>
<service id="save-xform" type="stateless-ejb"
uri="ejb/MyBeanHome"/>
</config>
</p:input>
<p:input name="call">
<delegation:execute service="save-xform" operation="saveXForm">
<theform xsi:type="xs:string">MyXformToSave</theform>
</delegation:execute>
</p:input>
<p:output name="data" ref="data"/>
</p:processor>
</p:config>
The stack trace is:
2005-02-02 16:12:26,018 INFO org.orbeon.oxf.pipeline.InitUtils null -
/tutorial
-hello3 - Received request
Saving XForm='MyXformToSave'
2005-02-02 16:12:26,393 ERROR org.orbeon.oxf.pipeline.InitUtils null -
Exception
with no location data
java.lang.NullPointerException
at
org.orbeon.oxf.processor.DelegationProcessor.callMethod(DelegationPro
cessor.java:389)
at
org.orbeon.oxf.processor.DelegationProcessor.access$400(DelegationPro
cessor.java:55)
at
org.orbeon.oxf.processor.DelegationProcessor$2.endElement(DelegationP
rocessor.java:334)
at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:168)
at
org.orbeon.oxf.processor.generator.DOMGenerator$1.readImpl(DOMGenerat
or.java:137)
at
org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1106)
at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:340)
at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:345)
at
org.orbeon.oxf.processor.DelegationProcessor$1.readImpl(DelegationPro
cessor.java:83)
at
org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1106)
at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:340)
at
org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(Pipeli
neProcessor.java:61)
at
org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelinePro
cessor.java:97)
at
org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.
java:505)
at
org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(Pipeli
neProcessor.java:61)
at
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(Pipeli
neProcessor.java:95)
at
org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1106)
at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:340)
at
org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:345)
at
org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcess
or.java:30)
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Erik
Bruchez
Sent: 02 February 2005 14:11
To: [email protected]
Subject: Re: [orbeon-user] Using Delegation Processor
If you want to pass a string, you should first convert the XML instance
into a string. You can do this with the XML converter, for example.
http://www.orbeon.com/ois/doc/processors-converters#xml-converter
Then, with XSLT, build your "call" input document and embed the
resulting string.
-Erik
Avinder Bahra wrote:
> Hi,
>
>
>
> I am using the Delegation Processor to call a stateless session EJB
> method. What I wan't to do is pass an Xforms instance as a string
> parameter to the EJB method. However the documentation example (listed
> below) only shows how to pass in literal values. Is there a way to
> accomplish passing in an Xforms instance?
>
>
>
> <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">
>
>
>
> <p:param name="data" type="output"/>
>
>
>
> <p:processor name="oxf:delegation">
>
> <p:input name="interface">
>
> <config>
>
> <service id="save-xform" type="stateless-ejb"
> uri="ejb/MyBeanHome"/>
>
> </config>
>
> </p:input>
>
> <p:input name="call">
>
> <delegation:execute service="save-xform" operation="saveXForm">
>
> <theform xsi:type="xs:string">I WOULD LIKE TO SAVE XFORMS
> INSTANCE</theform>
>
> </delegation:execute>
>
> </p:input>
>
> <p:output name="data" ref="data"/>
>
> </p:processor>
>
>
>
>
>
> </p:config>
>
>
>
>
>
> Any help appreciated.
>
>
>
> Regards
>
>
>
> Avinder
>
>
>
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
orbeon-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/orbeon-user
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
orbeon-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/orbeon-user