Also note that in the example below, Alex chose (very appropriately) to
attribute the bpel prefix to the BPEL namespace. If you use the default
namespace for BPEL (xmlns="...") the text element in your literal assignment
will be in that namespace. You probably don't want this to happen.
Cheers,
Matthieu
On 3/14/07, Alex Boisvert <[EMAIL PROTECTED]> wrote:
Hi Herve,
To assign to the "text" element, it must already exist. You can create it
before your current assignment by adding something like:
<bpel:copy>
<bpel:from><bpel:literal><cxml:CXmlInvoiceRequest><text/></cxml:CXmlInvoiceRequest></bpel:literal>
<bpel:to>$cXmlInvoiceAsyncRequest.body</bpel:to>
</bpel:copy>
Note that by default local element declarations are unqualified, hence you
shouldn't use "<cxml:text>". If you want to change this, you must use the
attribute "elementFormDefault" on your schema.
cheers,
alex
On 3/14/07, kermitt <[EMAIL PROTECTED]> wrote:
>
>
> Hello ,
>
> <process
> [...]
> xmlns:cxml="urn:/CXmlService.wsdl"
> [...]
>
>
> <variable
> name="cXmlInvoiceAsyncRequest"
> messageType="cxml:CXmlInvoiceRequest" />
>
> [...]
>
> <assign name="PerformActions">
> <copy>
> <from>concat($invoice.body, ', this is a big
> challenge!')</from>
> <to>$cXmlInvoiceAsyncRequest.body/cxml:text</to>
> </copy>
> </assign>
>
> [...]
>
>
> the type is coming from a wsdl file where I have the following
> declaration:
>
> [...]
> <xsd:schema
> targetNamespace="urn:/CXmlService.wsdl"
> xmlns="urn:/CXmlService.wsdl">
> <xsd:element name="CXmlInvoiceRequest">
> <xsd:complexType>
> <xsd:all>
> <xsd:element
> name="text"
> type="xsd:string" />
> <xsd:element
> name="server"
> type="xsd:string" />
> </xsd:all>
> </xsd:complexType>
> </xsd:element>
>
> [...]
>
>
>
> executing the process I got the following exception:
>
> [java] Caused by:
> org.apache.ode.jbi.msgmap.MessageTranslationException: Unmapped Fault :
> {
http://schemas.xmlsoap.org/ws/2004/03/business-process/}selectionFailure:
> No results for expression: {OXPath10Expression
> $cXmlInvoiceAsyncRequest.body/cxml:text}
>
>
> I tried with and without the cxml namespace , got the same error , any
> idea?
>
>
> Here is the full stack :
>
> java.lang.Exception:
org.apache.ode.jbi.msgmap.MessageTranslationException
> :
> Unmapped Fault : {
http://schemas.xmlsoap.org/ws/2004/03/business-process/}
> selectionFailure: No results for expression: {OXPath10Expression
> $cXmlInvoiceAsyncRequest.body/cxml:server}
> at
> org.apache.servicemix.http.processors.ConsumerProcessor.process(
> ConsumerProcessor.java:214)
> at
> org.apache.servicemix.http.HttpBridgeServlet.doPost(
HttpBridgeServlet.java
> :71)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:149)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(
HandlerCollection.java
> :123)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:265)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java
> :333)
> at
> org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java
> :270)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(
BoundedThreadPool.java
> :475)
> Caused by: org.apache.ode.jbi.msgmap.MessageTranslationException:
Unmapped
> Fault : {
> http://schemas.xmlsoap.org/ws/2004/03/business-process/}selectionF
> ailure: No results for expression: {OXPath10Expression
> $cXmlInvoiceAsyncRequest.body/cxml:server}
> at
> org.apache.ode.jbi.OdeService.outResponseFault(OdeService.java:337)
> at org.apache.ode.jbi.OdeService.onResponse(OdeService.java:191)
> at
> org.apache.ode.jbi.MessageExchangeContextImpl.onAsyncReply(
> MessageExchangeContextImpl.java:53)
> at
>
>
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.faultOutstandingMessageExchanges
> (BpelRuntimeContextImpl.java:1065)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.completedFault(
> BpelRuntimeContextImpl.java:199)
> at org.apache.ode.bpel.runtime.PROCESS$1.completed(PROCESS.java
> :69)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java
> :39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(
> BpelRuntimeContextImpl.java:814)
> at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(
> PartnerLinkMyRoleImpl.java:175)
> at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java
:153)
> at
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java
> :280)
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
> BpelEngineImpl.java:311)
> at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
> BpelServerImpl.java:386)
> at
> org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(
> QuartzSchedulerImpl.java:348)
> at
> org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.access$000(
> QuartzSchedulerImpl.java:65)
> at
> org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl$1$1.call(
> QuartzSchedulerImpl.java:231)
> at
> org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execTransaction
(
> QuartzSchedulerImpl.java:272)
> at
> org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl$2.call(
> QuartzSchedulerImpl.java:300)
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java
> :675)
> at java.lang.Thread.run(Thread.java:595)
>
>
>
>
>
> --
> View this message in context:
> http://www.nabble.com/assign-xpath-namespace-tf3402633.html#a9476098
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>