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.
>
>

Reply via email to