Bpelx:append or ora:addChildNode?

Can anybody provide any suggestion on wether to use bpelx:append or ora:addChildNode?
The function ora:addChildNode is documented as being deprecated, and replaced with bpelx:append. But the graphic designer (JDeveloper tooling for BPEL 10.1.2) does not seem to directly support this, and in fact does not even display the code. Since it seems to me having 'invisible' code in a BPEL process might not be such a good thing, I am leaning toward using ora:addChildNode.

I agree, nevertheless the xpath spec clearly states that an xpath expression should not have any side effects - which this one obviously does ..
We have fixed this blind (aka invisible) code in the next version (10.1.3.1).. So from upgrade perspective I would strongly recommend using bpelx:append
hth clemens

Similar Messages

  • Problem with ora:addChildNode()

    Hi,
    in wsdl file i have such a xml element defined
    <types>
    <schema attributeFormDefault="qualified" elementFormDefault="qualified"
    targetNamespace="http://ntu.ac.uk/bpel/travelagency/"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="intArray">
    <complexType>
    <sequence>
    <element name="ind" type="int" maxOccurs="unbounded" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    when i try to add a new element to intArray i get fault message that there is an error in xpath query while executing ora:addChildNode(bpws:getVariableData('sortedIndexes','/tns:intArray'), bpws:getVariableData('no-of-results'))
    Here are fragments of my bpel file
    <variable name="no-of-results" type="xsd:int"/>
    <variable element="tns:intArray" name="sortedIndexes"/>
    <copy>
    <from expression="ora:addChildNode(bpws:getVariableData('sortedIndexes','/tns:intArray'), bpws:getVariableData('no-of-results'))"></from>
    <to variable="sortedIndexes" query="/tns:intArray"/>
    </copy>
    where tns is "http://ntu.ac.uk/bpel/travelagency/"
    Why ora:addChildNode() is not able to add new element to array of integers? Mayby I use it in wrong way? Do you have any suggestions?

    Hi Jedrzej,
    Please don't use the addChildNode() function, this function is going to deprecated, instead use the new bpel extension insert/append (bpelx:append):
    Syntax:
    <bpel:assign>
    <bpelx:append>
    <bpelx:from ... />
    <bpelx:to ... />
    </bpelx:append>
    </bpel:assign>
    The from-spec within <append> yields a single node or a node list. (Please note: the from-spec of <bpel:copy> still MUST yield ONLY one node.) The node list will be appended as child nodes to the target node specified by to-spec. If the from-spec yields zero node, "bpel:selectionFailure" fault will be generated.
    The to-spec MUST yield one single L-Value element node. Otherwise, "bpel:selectionFailure" fault will be generated. The to-spec cannot refer to a partnerLink.
    See: http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)
    Example: (XSD details at end of the document)
    Consolidating multiple bills of material into one single bill of material by appending multiple "b:part" for one BOM to "b:parts" the consolidated BOM.
    <bpel:assign>
    <bpelx:append>
    <from variable="billOfMaterialVar"
    query="/b:bom/b:parts/b:part" />
    <to variable="consolidatedBillOfMaterialVar"
    query="/b:bom/b:parts" />
    </bpelx:append>
    </bpel:assign>
    2. Insert
    2.1 insertBefore
    Syntax:
    <bpel:assign>
    <bpelx:insertBefore>
    <bpelx:from ... />
    <bpelx:to ... />
    </bpelx:insertBefore>
    </bpel:assign>
    The restriction and semantics of from-spec under insertBefore is similar to those in the case of <bpelx:append>.
    The to-spec under <insertBefore> MUST points to one or more single L-Value nodes. If more than one nodes are returned, the first node will be used as the reference node. The reference node MUST be an element node. The parent of the reference node MUST be an element node also. Otherwise, "bpel:selectionFailure" fault will be generated. The to-spec cannot refer to a partnerLink.
    The node list generated by the from-spec will be inserted before the reference node.
    See:
    http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node,%20org.w3c.dom.Node)
    Example: (XSD details at end of the document)
    Say before the execution of <insertBefore>, the value of "addrVar" is:
    <a:usAddress>
    <a:state>CA</a:state>
    <a:zipcode>94065</a:zipcode>
    </a:usAddress>
    After the execution of the following:
    <bpel:assign>
    <bpelx:insertBefore>
    <from>
    <a:city>Redwood Shore></a:city>
    </from>
    <to "addrVar" query="/a:usAddress/a:state" />
    </bpelx:insertBefore>
    </bpel:assign>
    The value of "addrVar" becomes:
    <a:usAddress>
    <a:city>Redwood Shore</a:city>
    <a:state>CA</a:state>
    <a:zipcode>94065</a:zipcode>
    </a:usAddress>
    2.2 insertAfter
    Syntax:
    <bpel:assign>
    <bpelx:insertAfter>
    <bpelx:from ... />
    <bpelx:to ... />
    </bpelx:insertAfter>
    </bpel:assign>
    <insertAfter> is very similar to <insertBefore>. Except:
    If more than one L-Value nodes are returned by the to-spec, the last node will be used as the reference node.
    Instead of inserting nodes "before" the reference node, the source nodes will be inserted after the "reference" node.
    This operation can also be considered a macro of conditional-switch + (append or insertBefore).
    Example: (XSD details at end of the document)
    Say before the execution of <insertAfter>, the value of "addrVar" is:
    <a:usAddress>
    <a:addressLine>500 Oracle Parkway</a:addressLine>
    <a:state>CA</a:state>
    <a:zipcode>94065</a:zipcode>
    </a:usAddress>
    After the execution of the following:
    <bpel:assign>
    <bpelx:insertAfter>
    <from>
    <a:addressLine>Mailstop 1op6</a:addressLine>
    </from>
    <to "addrVar" query="/a:usAddress/a:addressLine[1]" />
    </bpelx:insertAfter>
    </bpel:assign>
    The value of "addrVar" becomes:
    <a:usAddress>
    <a:addressLine>500 Oracle Parkway</a:addressLine>
    <a:addressLine>Mailstop 1op6</a:addressLine>
    <a:state>CA</a:state>
    <a:zipcode>94065</a:zipcode>
    </a:usAddress>

  • ClassCastException using bpelx:append

    When attempting to model sample 126 Data Aggregator I receive a ClassCastException. The snippet of bpel code I'm using looks like this:
    <assign name="Assign_1">
    <copy>
              <from expression="string('one')"/>
              <to variable="outputVariable"
              part="payload"
              query="/ns1:users/ns1:user"/>
    </copy>
         <bpelx:append>
              <bpelx:from expression="string('two')"/>
              <bpelx:to variable="outputVariable"
              part="payload"
              query="/ns1:users/ns1:user"/>
         </bpelx:append>
    I've tried variations of the query to include "/ns1:users" and also one with no query element. They all result in the exception.
    element user is unbounded within users. It's definition looks like:
    <xsd:element name="users"
         type="iC.MMIS.WS.tst:usersType"/>
    <xsd:complexType name="usersType">
         <xsd:sequence>
         <xsd:element name="user"
              type="iC.MMIS.WS.tst:userCnType"
              minOccurs="0"
              maxOccurs="unbounded"/>
         </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="userCnType">
         <xsd:restriction base="xsd:string">
         </xsd:restriction>
    </xsd:simpleType>
    Exception follows:
    05/08/14 21:36:53 java.lang.ClassCastException
    05/08/14 21:36:53      at com.collaxa.cube.xml.dom.DOMUtil.addNodes(DOMUtil.java:1598)
    05/08/14 21:36:53      at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.performAddNodes(BPELAssignWMP.java:840)
    05/08/14 21:36:53      at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__executeStatements(BPELAssignWMP.java:191)
    05/08/14 21:36:53      at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:179)
    05/08/14 21:36:53      at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3398)
    05/08/14 21:36:53      at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1905)
    05/08/14 21:36:53      at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    05/08/14 21:36:53      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:100)
    05/08/14 21:36:53      at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:185)
    05/08/14 21:36:53      at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5412)
    05/08/14 21:36:53      at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1300)
    05/08/14 21:36:53      at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:117)
    05/08/14 21:36:53      at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:146)
    05/08/14 21:36:53      at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.syncCreateAndInvoke(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:486)
    05/08/14 21:36:53      at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:493)
    05/08/14 21:36:53      at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:426)
    05/08/14 21:36:53      at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:133)
    05/08/14 21:36:53      at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:93)
    05/08/14 21:36:53      at IDeliveryBean_StatelessSessionBeanWrapper22.request(IDeliveryBean_StatelessSessionBeanWrapper22.java:288)
    05/08/14 21:36:53      at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:101)
    05/08/14 21:36:53      at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:65)
    05/08/14 21:36:53      at ngDoInitiate.jspService(_ngDoInitiate.java:253)
    05/08/14 21:36:53      at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    05/08/14 21:36:53      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121)
    05/08/14 21:36:53      at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:267)
    05/08/14 21:36:53      at displayProcess.jspService(_displayProcess.java:660)
    05/08/14 21:36:53      at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    05/08/14 21:36:53      at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    05/08/14 21:36:53      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:220)
    05/08/14 21:36:53      at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:152)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649)
    05/08/14 21:36:53      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
    05/08/14 21:36:53      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:798)
    05/08/14 21:36:53      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:278)
    05/08/14 21:36:53      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:120)
    05/08/14 21:36:53      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    05/08/14 21:36:53      at java.lang.Thread.run(Thread.java:534)
    <2005-08-14 21:36:53,575> <ERROR> <default.collaxa.cube.xml> java.lang.ClassCastException

    That is a corner case that we did not handle properly.
    We did not automatically convert a String object into XML text node for users. That triggers that ClassCastException. We shall add that automatic conversion logic into our code. (We have opened a bug - bug # 4554032 - to track this problem down.)
    On the other hand, based on the supplied schema, your sample code may not perform your desired logic, if my guess is correct.
    Instead of:
    <assign name="Assign_1">
    <copy>
    <from expression="string('one')"/>
    <to variable="outputVariable"
    part="payload"
    query="/ns1:users/ns1:user"/>
    </copy>
    <bpelx:append>
    <bpelx:from expression="string('two')"/>
    <bpelx:to variable="outputVariable"
    part="payload"
    query="/ns1:users/ns1:user"/>
    </bpelx:append>
    Try:
    <assign>
    <bpelx:append>
    <bpelx:from expression
    = "ora:genEmptyElem('ns1:user',2)" />
    <bpelx:to variable="outputVariable" part="payload" query="/ns1:users" />
    </bpelx:append>
    <copy>
    <from expression=" 'one' " />
    <to variable="outputVariable" part="payload"
    query="/tns:users/tns:user[1]" />
    </copy>
    <copy>
    <from expression=" 'two' " />
    <to variable="outputVariable" part="payload"
    query="/tns:users/tns:user[2]" />
    </copy>
    </assign>
    If you want to know about the "genEmptyElem()" xpath function,
    please check it out
    http://localhost:9700/BPELConsole/default/domain.jsp?mode=xpath
    I hope I have answered your question.
    Regards,
    Alex Yiu

  • Compile errors using bpelx:append

    I'm getting compile errors from one particular bpelx:append. I have others earlier in the bpel code, and they seem to be passing the check.
    <bpelx:append>
    <from variable="set-panel-member" query="/client:set-panel-member"/>
    <to variable="setPanel_setPanel_InputVariable" part="setPanelRequest" query="/setPanelRequest/panel/panel-member"/>
    </bpelx:append>
    Produces:
    Error(437):
    [Error ORABPEL-10900]: xml parser error
    [Description]: in line 437 of "D:\BPEL_SANITARIUM\BPELPM\integration\jdev\jdev\mywork\Workspace\identifyPanelMembers\identifyPanelMembers.bpel", XML parsing failed because Invalid content starting with element "bpelx:append".
    [Potential fix]: Fix the invalid XML.
    <assign name="appendTheRest">
    <bpelx:append>
    <from variable="set-panel-member" query="/client:set-panel-member"/>
    <to variable="setPanel_setPanel_InputVariable" part="setPanelRequest" query="/setPanelRequest/panel/panel-member"/>
    </bpelx:append>
    </assign>
    Produces:
    Error(436):
    [Error ORABPEL-10900]: xml parser error
    [Description]: in line 436 of "D:\BPEL_SANITARIUM\BPELPM\integration\jdev\jdev\mywork\Workspace\identifyPanelMembers\identifyPanelMembers.bpel", XML parsing failed because Invalid content starting with element "assign".
    [Potential fix]: Fix the invalid XML.
    The code is contained within a Switch block:
    <switch name="Switch_4">
    <case condition="bpws:getVariableData('index') = 1">
    <bpelx:annotation>
    <bpelx:pattern>First time only
    </bpelx:pattern>
    </bpelx:annotation>
    <assign name="setFirstPanelMember">
    <copy>
    <from variable="set-panel-member" query="/client:set-panel-member"/>
    <to variable="setPanel_setPanel_InputVariable" part="setPanelRequest" query="/setPanelRequest/panel/panel-member"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <empty name="append.the.rest"/>
    <assign name="appendTheRest">
    <bpelx:append>
    <from variable="set-panel-member" query="/client:set-panel-member"/>
    <to variable="setPanel_setPanel_InputVariable" part="setPanelRequest" query="/setPanelRequest/panel/panel-member"/>
    </bpelx:append>
    </assign>
    </otherwise>
    </switch>
    Any ideas?

    We are also receiving the same error. Our process was built for a client in 10.1.2.0.2 and the GUI interface never really liked the bpelx:append statement - it always showed up as an alert/error. But it worked on 10.1.2.0.2
    Now that the client is upgrading to 10.1.3, it won't actually compile.
    Anyone know of a solution?

  • Problem following bpelx:append

    In my bpel .wsdl file, I have imported an xsd file. I have created an element <panel-member> from a type in the xsd file. There is an array of this type as part of a web service method message I want to invoke.
    I have gone through an array of elements, setting the values of the <panel-member> element, and then appending each to the appropriate place in the invoke message. I have checked the element tags and they are all fine.
    When the method is invoked, I get an error message stating that <panel-member> is an invalid element.
    The XSD defines panel-member as:
    <complexType name="panel-member">
    <sequence>
    <element name="id" type="string" />
    <element name="name" type="string" />
    <element name="role" type="string" />
    </sequence>
    </complexType>
    and the type in the bpel .wsdl file is defined as:
    <element name="panelMemberHolder">
    <complexType>
    <sequence>
    <element name="panel-member" type="pref:panel-member" />
    </sequence>
    </complexType>
    </element>
    Panel is defined as:
    <complexType name="panel">
    - <sequence>
    <element name="panel-rules" type="tns:panel-rules" />
    <element maxOccurs="unbounded" minOccurs="0" name="panel-member" type="tns:panel-member" />
    </sequence>
    </complexType>
    Why might I be getting a message telling me that panel-member is not a part of panel?

    this is the error message:
    <remoteFault>
    <part name="code" >
    <code>Server.userException</code>
    </part>
    <part name="summary" >
    <summary>when invoking endpointAddress 'http://covarm.tvu.ac.uk/eCoWS/services/eCoWSSOAP', org.xml.sax.SAXException: Invalid element in uk.ac.tvu.covarm.Panel - panel-member</summary>
    </part>
    <part name="detail" >
    <detail>AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Invalid element in uk.ac.tvu.covarm.Panel - panel-member faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Invalid element in uk.ac.tvu.covarm.Panel - panel-member at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:252) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:893) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:190) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) </detail>
    </part>
    </remoteFault>
    and this is the input variable:
    <updateEvent_updateEvent_InputVariable>
    <part name="updateEventRequest" >
    <updateEventRequest>
    <id>VALIDATION_EVENT1159872786812</id>
    <name>CCU Validation Event</name>
    <description>An event involving internal and external participants for the purpose of course validation.</description>
    <stage>Stage 3</stage>
    <institution>Covarm City University</institution>
    <url/>
    <final-date/>
    <location/>
    <manager>
    <id>fkafka</id>
    <name>Nothing</name>
    <role>MANAGER</role>
    </manager>
    <feedback-list/>
    <minute/>
    <panel>
    <panel-rules>
    <rule>
    <role>CHAIR</role>
    <maps-to>CHAIR</maps-to>
    <required-min>1</required-min>
    <required-max>1</required-max>
    </rule>
    <rule>
    <role>INTERNAL</role>
    <maps-to>INTERNAL</maps-to>
    <required-min>2</required-min>
    <required-max>4</required-max>
    </rule>
    <rule>
    <role>EXTERNAL</role>
    <maps-to>EXTERNAL</maps-to>
    <required-min>1</required-min>
    <required-max>2</required-max>
    </rule>
    </panel-rules>
    <panel-member>
    <id>ltolstoy</id>
    <name>Leo Tolstoy</name>
    <role>CHAIR</role>
    </panel-member>
    <panel-member>
    <id>sfitzger</id>
    <name>F. Scott Fitzgerald</name>
    <role>CHAIR</role>
    </panel-member>
    <panel-member>
    <id>fkafka</id>
    <name>Franz Kafka</name>
    <role>INTERNAL</role>
    </panel-member>
    <panel-member>
    <id>jausten</id>
    <name>Jane Austen</name>
    <role>INTERNAL</role>
    </panel-member>
    <panel-member>
    <id>jcooper</id>
    <name>James Cooper</name>
    <role>INTERNAL</role>
    </panel-member>
    <panel-member>
    <id>jstein</id>
    <name>John Steinbeck</name>
    <role>INTERNAL</role>
    </panel-member>
    <panel-member>
    <id>jlondon</id>
    <name>Jack London</name>
    <role>INTERNAL</role>
    </panel-member>
    <panel-member>
    <id>cdickens</id>
    <name>Charles Dickens</name>
    <role>EXTERNAL</role>
    </panel-member>
    <panel-member>
    <id>cdoyle</id>
    <name>Arthur Conan Doyle</name>
    <role>EXTERNAL</role>
    </panel-member>
    <panel-member>
    <id>istone</id>
    <name>Irving Stone</name>
    <role>EXTERNAL</role>
    </panel-member>
    </panel>
    </updateEventRequest>
    </part>
    </updateEvent_updateEvent_InputVariable>

  • Appending XML node in bpel.

    Hi,
    I have a transform activity that creates a XML as below:
    <Students>
    <Student>
    <Name>A</Name>
    <Age>123</Age>
    </Student>
    </Students>
    After that i need to use an assign activity to append another student node with output as below:
    <Students>
    <Student>
    <Name>A</Name>
    <Age>123</Age>
    </Student>
    <Student> <!-- This is the appended node -->
    <Name>C</Name>
    <Age>452</Age>
    </Student>
    </Students>
    let me know how to achieve this using bpel assign activity.
    Thanks.

    It's something like this...
    Variable_1
    <list>
         <data>aa</data>
         <data>bb</data>
    </list>Variable_2
    <list>
         <data>1</data>
         <data>2</data>
    </list>Then you put an append in your ASSIGN activity
    <bpelx:append>
         <bpelx:from variable="Variable_2" query="/list/*"/>
         <bpelx:to variable="Variable_1" query="/list"/>
    </bpelx:append>And you get this as result...
    <list>
    <data>aa</data>
    <data>bb</data>
    <data>1</data>
    <data>2</data>
    </list>Cheers,
    Vlad

  • Element 'append' not expected – BPEL 2.0

    Hi,
    I have a BPEL 2.0 process and I am trying to use the append activity as follows:
    <assign name="AssignResponseData">
    <copy>
    <from>$OnMessage_Ebiz.part1/ns2:DataArea</from>
    <to>$outputVariable.part1/ns2:DataArea</to>
    </copy>
    <bpelx:append>
    <bpelx:from>$OnMessage_EbizOSS.part1/ns2:DataArea</bpelx:from>
    <bpelx:to>$outputVariable.part1/ns2:DataArea</bpelx:to>
    </bpelx:append>
    </assign>
    This matches the documentation:
    http://docs.oracle.com/cd/E21764_01/integration.1111/e10224/bp_manipdoc.htm#autoId34 – section 6.14.1.2 bpelx:append in BPEL 2.0
    but I am getting the error Element append not expected. Also bpelx:append is underlined in Jdeveloper and I get an error message saying No Grammer.
    Can anyone tell me what I am doing wrong?
    Thanks
    Robert

    Hi,
    Thanks for the responses. I am afraid they have not solved the problem.
    I have the bpelx namespace defined in the process tag and it is as Vvaladodias suggests.
    also the default namespace is as follows:
    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    Also based on Naresh's comments I changed the From Element. (The Dataaarea element contains mutiple system elements. I want to come out with 1 dataarea and mutiple system elements)
    I have changed the assign to two separate assigns look like:
    <assign name="AssignResponseData1">
    <copy>
    <from>$OnMessage_Ebiz.part1/ns2:DataArea</from>
    <to>$outputVariable.part1/ns2:DataArea</to>
    </copy>
    </assign>
    <assign name="AssignResponseData2">
    <bpelx:append>
    <bpelx:from>$OnMessage_EbizOSS.part1/ns2:DataArea/ns2:system</bpelx:from>
    <bpelx:to>$outputVariable.part1/ns2:DataArea</bpelx:to>
    </bpelx:append>
    </assign>
    Now the second <assign> start tag is highlighted with the message 'Required child missing from element assign'
    Robert
    Edited by: RobertMetcalf on May 16, 2012 9:47 AM
    Edited by: RobertMetcalf on May 16, 2012 9:50 AM

  • Issue with BPEL append operation

    Hi All,
    I have the following block in my BPEL Code:
    <assign name="Assign_5">
    <bpelx:append>
    <bpelx:from variable="FFNUMTwoOutputClone"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters/ns8:Parameter"/>
    <bpelx:to variable="decomposedOrder_OutputVariable"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters"/>
    </bpelx:append>
    </assign>
    as far as I know, the ns8:Parameter should get appended to ns8:AddParameters. But during the execution of the process, the following selection failure is encountered:
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    -<part name="summary">
    <summary>
    Assign Operation Misuse.
    The selection result of /ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters is not an XML element; append operation cannot be performed.Please check the BPEL source at line number "347" .
    </summary>
    </part>
    </selectionFailure>
    Please suggest the cause and workaround for this issue as this is a very critical requirement.
    Regards,
    CC

    Hi,
    If you want to append to addparameters the query should be like this
    <assign name="Assign_5">
    <bpelx:insertAfter>
    <bpelx:from variable="FFNUMTwoOutputClone"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters/ns8:Parameter"/>
    <bpelx:to variable="decomposedOrder_OutputVariable"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters"/>
    </bpelx:insertAfter>
    </assign>
    Append operation actually appends as a child node to the node selected in bpelx:to part of append operation.
    or else u can use below code which gives the same result
    <assign name="Assign_5">
    <bpelx:append>
    <bpelx:from variable="FFNUMTwoOutputClone"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters/ns8:AddParameters/ns8:Parameter"/>
    <bpelx:to variable="decomposedOrder_OutputVariable"
    part="payload"
    query="/ns8:FulfillmentOrderEBM/ns8:DataArea/ns8:FulfillmentOrder/ns8:FulfillmentOrderActions/ns8:FulfillmentAction/ns8:FulfillmentServices/ns8:FulfillmentService/ns8:ServiceParameters"/>
    </bpelx:append>
    </assign>

  • XSL Append & XSL Variable !!!

    Hi,
    If anyone has any ideas on the below problem I would sincerely appreciate it as it is driving me crazy!!!
    I need to concatenate/append the contents of a Collection node into a string variable, such that each element is comma seperated in the string. I need to do this to pass the string of comma seperated values into a 3rd party service that I am calling. It looks like I would use an XSL transform to achieve this. However, it appears to be impossible because Oracle Transform mapper does not support <xsl:variable> ie. I get "unsupported" when I try to use this.
    So,for example, I want to convert the following collection
    <NamesCollection>
    <name>A</name>
    <name>B</name>
    <name>C</name>
    <name>D</name>
    <name>E</name>
    <name>F</name>
    <name>G</name>
    <name>H</name>
    </NamesCollection>
    ...such that it would become:
    <NAMES>A,B,C,D,E,F,G,H</NAMES>
    I found some sample XSL code in google:
    <xsl:variable name="String">
    <xsl:for-each select="/NamesCollection">
    <xsl:value-of select="name" />
    <xsl:text>,</xsl:text>
    </xsl:for-each>
    </xsl:variable>
    However, Oracle mapper does not support "xsl:variable". So the above is no good.
    I cannot also nest a "for-each" inside a node,
    Eg.
    <NAMES>
    <xsl:for-each select="/NamesCollection">
    <xsl:value-of select="name"/>
    </xsl:for-each>
    </NAMES>
    because it complains:
    Error: Invalid Usage of <for-each> Element
    If anyone has any suggestions, they would be sincerely appreciated !!!!!!!!!

    Humm...
    You can iterate trough your NamesCollection (see <HOME>\integration\orabpel\samples\tutorials\112.Arrays sample).
    After, for each <name>, you can use an "Assign" activity to append all names to another variable.
    The trick here is to edit the "Assign" source code on process.bpel (because the default behaviour is to replace the value, not append). You have to use a BPEL extension:
    <assign name="Assign_1">
    <bpelx:append>
    <bpelx:from concat(bpws:getVariableData(eachName_Variable),",") />
    <bpelx:to variable="namesWithComma_Variable" />
    </bpelx:append>
    </assign>
    Logic:
    <IterateOver NamesCollection>
    <get one name>
    <concat it with a comma>
    <concat it with other names>
    <loop iterate>

  • Problem accessing JWS webservice through BPEL

    Hi,
    I have designed a small BPEL file with which I am trying to access through the BPEL console/a java application. I am getting the following error: -
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">weblogic.wsee.codec.CodecException: Unable to find xml element for parameter: office
         at weblogic.wsee.codec.soap11.SoapDecoder.checkNullElement(SoapDecoder.java:378)
         at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:285)
         at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
         at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
         at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
         at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
         at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
         at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
         at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
         at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
         at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
         at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
         at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
         at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    </bea_fault:stacktrace>
    </detail>
    I have set the transaction-timeout accordingly in the following files: -
    1) domain.xml
    2) orion-ejb-jar.xml
    3) transaction-manager.xml
    Following is the excerpt from the service: - [I am using JWS annotations]
    @WebService
    @WLHttpTransport(portName="ResponsibleOfficeSoapPort", serviceUri = "ResponsibleOfficeService")
    @WSDL(exposed=true)
    @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)
    public class ResponsibleOffice {
         @WebMethod
         public void addResponsibility(String office, String airline, String pRecordLocator) {
              Responsibility aResponsibility = new Responsibility();
              aResponsibility.setResponsibleOffice(office);
              aResponsibility.setResponsibleAirline(airline);
              Customer cus = new Customer();
              cus.setRecordLocator(pRecordLocator);
              cus.setReponsibility(aResponsibility);
              ResponsibilityHelper.persist(cus);
    Following the BPEL file: -
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    -->
    <process name="TestBPEL" targetNamespace="http://xmlns.oracle.com/TestBPEL"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns1="http://com/aaaa/webservices"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:ns2="java:com.aaaa.entities"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://xmlns.oracle.com/TestBPEL"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:TestBPEL"
    myRole="TestBPELProvider"/>
    <partnerLink name="ResponsibleOfficeServiceDefinitions"
    partnerLinkType="ns1:ResponsibleOffice_PL"
    partnerRole="ResponsibleOffice_Role"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:TestBPELRequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable"
    messageType="client:TestBPELResponseMessage"/>
    <variable name="Invoke_1_addResponsibility_InputVariable"
    messageType="ns1:addResponsibility"/>
    <variable name="Invoke_1_addResponsibility_OutputVariable"
    messageType="ns1:addResponsibilityResponse"/>
    </variables>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in TestBPEL.wsdl) -->
    <receive name="receiveInput" partnerLink="client" portType="client:TestBPEL"
    operation="process" variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <invoke name="Invoke_1" partnerLink="ResponsibleOfficeServiceDefinitions"
    portType="ns1:ResponsibleOffice" operation="addResponsibility"
    inputVariable="Invoke_1_addResponsibility_InputVariable"
    outputVariable="Invoke_1_addResponsibility_OutputVariable"/>
    <assign name="Assign_1">
    <bpelx:append>
    <bpelx:from variable="outputVariable" part="payload"
    query="/client:TestBPELProcessResponse"/>
    <bpelx:to variable="Invoke_1_addResponsibility_OutputVariable"
    part="parameters" query="/ns1:addResponsibilityResponse"/>
    </bpelx:append>
    </assign>
    <reply name="replyOutput" partnerLink="client" portType="client:TestBPEL"
    operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    [Info: - The Webservice is running on Weblogic 11]
    Can someone please help on this?
    Thanks.

    Your webservice seems to be throwing the error:
    Unable to find xml element for parameter: officeLooking at your BPEL process, you are assigning nothing to the inputVariable of your Invoke block, Invoke_1_addResponsibility_InputVariable. This means you are not sending any value in the office XML element.
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in TestBPEL.wsdl) -->
    <receive name="receiveInput" partnerLink="client" portType="client:TestBPEL"
    operation="process" variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <*invoke* name="Invoke_1" partnerLink="ResponsibleOfficeServiceDefinitions"
    portType="ns1:ResponsibleOffice" operation="addResponsibility"
    inputVariable="Invoke_1_addResponsibility_InputVariable"
    outputVariable="Invoke_1_addResponsibility_OutputVariable"/>
    You'll want to assign something to the variable before you invoke the servie. Otherwise, you just get the same result every time you run it.
    When you do run your process from the BPEL console, you can look on the Flow tab for that instance. Doubleclick on the INVOKE block, and you will see the XML that got sent to your web service.
    Andy

  • BPEL process

    Error occurs when i tried to invoke creditservice through SOAOrderBooking BPEL process..
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    Error(455):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 455 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" of variable "varNotificationResponse" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" is defined in one of the WSDLs referenced by the deployment descriptor.
    And my SOAOrderBooking BPEL (SOAOrderBooking.bpel) code is:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- PARTNERLINKS -->
    <!-- List of services participating in this BPEL process -->
    <!-- ================================================================= -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </partnerLinks>
    <!-- ================================================================= -->
    <!-- VARIABLES -->
    <!-- List of messages and XML documents used within this BPEL process -->
    <!-- ================================================================= -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- ORCHESTRATION LOGIC -->
    <!-- Set of activities coordinating the flow of messages across the -->
    <!-- services integrated within this business process -->
    <!-- ================================================================= -->
    <sequence name="main">
    <!-- Receive input from requestor.
    Note: This maps to operation defined in SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    I think there is some err in invoking ns5: NotificationService
    Plzzzz help me to resolve this issue...
    Thanks,
    Indhu

    Thx. Now there is no errors in compiling that SOAOrderBooking BPEL process(there is some warnings), but iam getting deployment errors:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think the above deployment err were bcoz of compilation warnings:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    plz come up with suggestions to resolve this issue...
    Thanks,
    Indhu

  • How to remove a node from a xml

    Hi All,
    I want to remove a node from my xml output. Can anyone suggest me how to get that? I want to implement this by using the ASSIGN activity.
    My sample output is
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <env:Header>
              <wsa:MessageID>urn:4EF1A350677C11E1BFA7794ED76B03EF</wsa:MessageID>
              <wsa:ReplyTo>
                   <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
              </wsa:ReplyTo>
         </env:Header>
         <env:Body>
              <SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
                   <ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
                        <Orders>
                             <Id>1-15IXJ</Id>
                             <AccountId>1-2EE</AccountId>
                             <OrderNumber>1012-1234</OrderNumber>
                             <ListOfLineItems>
                                  <LineItems>
                                       <Id>1-15IYN</Id>
                                       <LineNumber>303</LineNumber>
                                       <OrderNumber>1012-1234</OrderNumber>
                                       <OrderHeaderId>1-15IXJ</OrderHeaderId>
                             </LineItems>
                                  </ListOfLineItems>
                             </Orders>
    </ListOfOrderInterface>
              </SiebelOrderQueryByExample_Output>
         </env:Body>
    </env:Envelope>
    I want to delete the <ListOfLineItems>node from the xml above so that my resultant would be,
         <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <env:Header>
              <wsa:MessageID>urn:4EF1A350677C11E1BFA7794ED76B03EF</wsa:MessageID>
              <wsa:ReplyTo>
                   <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
              </wsa:ReplyTo>
         </env:Header>
         <env:Body>
              <SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
                   <ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
                        <Orders>
                             <Id>1-15IXJ</Id>
                             <AccountId>1-2EE</AccountId>
                             <OrderNumber>1012-1234</OrderNumber>
         </Orders>
    </ListOfOrderInterface>
              </SiebelOrderQueryByExample_Output>
         </env:Body>
    </env:Envelope>     
    Please suggest something Its urgent.
    Thanks in Advance.

    It goes something like this, taken from the above blog entry:
    Removing a node from node-list
    With the bpelx: extensions in BPEL you are able to insert and update nodes in a node list. A node-list is an XML message that contains a set of records. In this article I use the following example:
    <BookList xmlns="http://message.vijfhuizen.com">
    <Book>
    <title>The Lord Of The Rings</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>Harry Potter</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>The Hobbit</title>
    <author>J.R.R. Tolkien</author>
    </Book>
    <Book>
    <title>Storm; Chronicals of Pandarve</title>
    <author>Don Lawrence</author>
    </Book>
    </BookList>
    For creating and updating node lists the bpelx: functions are enough to handle this. But when you want to remove a particular node, you can use the bpelx:remove function. But this function can only remove a node from a particular position. For example removing the second node you code:
    <bpel:assign>
    <bpelx:remove>
    <bpelx:target variable="VarBookList" query="/Booklist/Book[2]" />
    </bpelx:append>
    </bpel:assign>
    It is hard to code the bpelx:remove to create a xpath to dynamicly remove node. You would like to remove the second node based on the xpath:
    /Booklist/Book[title="Harry Potter" and author="J.R.R. Tolkien"]
    You can add the above xpath in the bpelx:remove, but you are not able to make this dynamically.
    There is a solution. The trick is to create a stylesheet that copies the data into a new message, but removing that particular records. Create a stylesheet that does the normal copy of the XML message. Then add a <choose> element in the stylsheet to filter that particular record.
    <xsl:template match="/">
    <BookList>
    <xsl:for-each select="/BookList/Book">
    <xsl:choose>
    <xsl:when test="title='Harry Potter' and author='J.R.R. Tolkien'"/>
    <xsl:otherwise>
    <Book>
    <title>
    <xsl:value-of select="title"/>
    </title>
    <author>
    <xsl:value-of select="author"/>
    </author>
    </Book>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:for-each>
    </BookList>
    Now we have a XSL stylesheet that removes a particular record, but this is not variable. This can be done via XSLT parameters.
    <xsl:param name="pTitle"/>
    <xsl:param name="pAuthor"/>
    <xsl:template match="/">
    <BookList>
    <xsl:for-each select="/BookList/Book">
    <xsl:choose>
    <xsl:when test="title=$pTitle and author=$pAuthor"/>
    <xsl:otherwise>
    <Book>
    <title>
    <xsl:value-of select="title"/>
    </title>
    <author>
    <xsl:value-of select="author"/>
    </author>
    </Book>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:for-each>
    </BookList>
    </xsl:template>
    Now we are able to use this stylesheet in BPEL. In general BPEL create the following code:
    <assign name="Transform">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RemoveNode.xsl'
    , bpws:getVariableData('Variable_BookList','payload')" />
    <to variable="Variable_BookListTemp" part="payload"/>
    </copy>
    </assign>
    But this code does not pass parameters to the stylesheet. The ora:processXSLT() can do this it has an additional parameter in this function:
    <assign name="Transform">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RemoveNode.xsl'
    , bpws:getVariableData('Variable_BookList','payload')" />
    , bpws:getVariableData('BPELxslparameters'))"/>
    <to variable="Variable_BookListTemp" part="payload"/>
    </copy>
    </assign>
    Now only you have to create the BPELxslparameters variable and assign it with the correct name/value pairs. The structure of the this variable is as follows:
    <?xml version="1.0" encoding="windows-1252" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/service/bpel/common"
    targetNamespace="http://schemas.oracle.com/service/bpel/common"
    elementFormDefault="qualified">
    <xsd:element name="parameters">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="item" minOccurs="1" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="name" type="xsd:string"/>
    <xsd:element name="value" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    Create in BPEL the variable BPELxslparameters and let it point to this strucure:
    <process ....
    xmlns:common="http://schemas.oracle.com/service/bpel/common"
    .../>
    <variable name="BPELparameters" element="common:parameters"/>
    Now we can in BPEL create an empty XML message, based on this strcuture and assign the values to these parameters and then call the processXSLT function.
    <bpelx:assign name="Assign_GenerateEmptyParameterSet">
    <copy>
    <from>
    <parameters xmlns="http://schemas.oracle.com/service/bpel/common">
    <item>
    <name>pTitle</name>
    <value/>
    </item>
    <item>
    <name>pAutor</name>
    <value/>
    </item>
    </parameters>
    </from>
    <to variable="BPELparameters" query="/common:parameters"/>
    </copy>
    </bpelx:assign>
    <assign name="Assign_setXSLTParameters">
    <copy>
    <from expression="'Harry Potter'"/>
    <to variable="BPELparameters" query="/common:parameters/common:item[1]/common:value"/>
    </copy>
    <copy>
    <from expression="'J.R.R. Tolkien'"/>
    <to variable="BPELparameters" query="/common:parameters/common:item[1]/common:value"/>
    </copy>
    </assign>
    Posted by Marc Kelderman SOA Blog at 1/16/2008 09:20:00 PM

  • ORABPEL Err: 10007 while deploying SOAOrderBooking appln.

    When i tried to deploy the SOAOrderBooking Appln...iam getting this compilation err: ORABPEl err:1007 ...tell me some suggestions pls...
    Error is:
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    SOAOrderBooking.bpel code:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- PARTNERLINKS -->
    <!-- List of services participating in this BPEL process -->
    <!-- ================================================================= -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </partnerLinks>
    <!-- ================================================================= -->
    <!-- VARIABLES -->
    <!-- List of messages and XML documents used within this BPEL process -->
    <!-- ================================================================= -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- ORCHESTRATION LOGIC -->
    <!-- Set of activities coordinating the flow of messages across the -->
    <!-- services integrated within this business process -->
    <!-- ================================================================= -->
    <sequence name="main">
    <!-- Receive input from requestor.
    Note: This maps to operation defined in SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    there is some prob with ns5:notificationservice.....help me
    Thanks,
    Indhu

    Thx. Now there is no errors in compiling that SOAOrderBooking BPEL process(there is some warnings), but iam getting deployment errors:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think the above deployment err were bcoz of compilation warnings:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    plz come up with suggestions to resolve this issue...
    Thanks,
    Indhu

  • Errors after upgrading Bpel process manager

    Hi all,
    As said in the subject I recently upgraded to the latest version of the Bpel process manager. And it looks like some changes have been made ;-) My project does not compile/deploy anymore. See below the obant errors I got. Apparently, I should now add the ns prefixes in the bpel source ... could you confirm? What impact will that make on the queries?
    thanx,
    --mike
    Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument>obant
    Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument>SETLOCAL
    Buildfile: build.xml
    main:
    [bpelc] bpelc> validating "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel" ...
    [bpelc] BPEL validation failed.
    [bpelc] BPEL source validation failed, the errors are:
    [bpelc]
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 377 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/userId"
    is invalid, because step ':userId' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 382 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/imageUR
    L" is invalid, because step ':imageURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 404 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/passwor
    d" is invalid, because step ':password' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 747 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/ex
    ecution/started" is invalid, because step ':execution' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 752 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/lo
    anAccountNumber" is invalid, because step ':loanAccountNumber' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 757 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/fo
    rmURL" is invalid, because step ':formURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 767 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/lo
    anAccountNumber" is invalid, because step ':loanAccountNumber' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 772 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/fo
    rmURL" is invalid, because step ':formURL' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 782 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/loanupdate/ex
    ecution/finished" is invalid, because step ':execution' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 817 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailRe
    cipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 822 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailRe
    cipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    [bpelc] [Error ORABPEL-10057]: invalid query
    [bpelc] [Description]: in line 1127 of "Z:\smartdocument.bpel\src\LocalLoanIncSmartDocument\LocalLoanIncSmartDocument.bpel", query "/input/emailR
    ecipient" is invalid, because step ':emailRecipient' is not valid..
    [bpelc] [Potential fix]: Check the XML schema and make sure your query string is valid.
    Next is my bpel source:
    <!-- LocalLoanIncSmartDocument BPEL Process [Generated by the Oracle BPEL Designer] -->
    <process name="LocalLoanIncSmartDocument" targetNamespace="urn:SmartDocument" suppressJoinFailure="yes" xmlns:tns="urn:SmartDocument" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension" xmlns:ns0="urn:ocr.services.smartdocument.xerox.com" xmlns:ns1="urn:email.services.smartdocument.xerox.com" xmlns:ns2="urn:categoriser.services.smartdocument.xerox.com" xmlns:ns3="urn:signature.services.smartdocument.xerox.com" xmlns:ns4="urn:LoanService" xmlns:ns5="urn:dataglyph.services.smartdocument.xerox.com" xmlns:ns6="urn:initiate.services.smartdocument.xerox.com" xmlns:ns7="urn:seal.services.smartdocument.xerox.com" xmlns:ns8="http://www.xerox.com/webservices/" xmlns:ns9="urn:store.services.smartdocument.xerox.com" xmlns:ns10="urn:factfinder.services.smartdocument.xerox.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:task="http://services.oracle.com/bpel/task">
         <!-- ================================================================= -->
         <!-- PARTNERLINKS -->
         <!-- List of services participating in this BPEL process -->
         <!-- ================================================================= -->
         <partnerLinks>
              <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
              <partnerLink name="client" partnerLinkType="tns:LocalLoanIncSmartDocument" myRole="LocalLoanIncSmartDocumentProvider" partnerRole="LocalLoanIncSmartDocumentRequester"/>
              <partnerLink name="SignatureService" partnerRole="SignatureProvider" partnerLinkType="ns3:SignatureLink"/>
              <partnerLink name="CategoriserService" partnerRole="CategoriserProvider" partnerLinkType="ns2:CategoriserLink"/>
              <partnerLink name="EmailService" partnerRole="EmailProvider" partnerLinkType="ns1:EmailLink"/>
              <partnerLink name="OCRService" partnerRole="OcrProvider" partnerLinkType="ns0:OcrLink"/>
              <partnerLink name="ValidateApplicationManager" partnerLinkType="task:TaskManager" partnerRole="TaskManager" myRole="TaskManagerRequester"/>
              <partnerLink name="DataglyphService" partnerRole="DataglyphProvider" partnerLinkType="ns5:DataglyphLink"/>
              <partnerLink name="LoanService" partnerRole="LoanServiceProvider" partnerLinkType="ns4:LoanServiceLink"/>
              <partnerLink name="InitiateService" partnerLinkType="ns6:InitiateLink" partnerRole="InitiateProvider"/>
              <partnerLink name="SealService" partnerLinkType="ns7:SealLink" partnerRole="SealProvider"/>
              <!-- CHANGE If on boss
              <partnerLink name="FactFinderService" partnerLinkType="ns8:FactFinderSoapLink" partnerRole="FactFinderSoapProvider"/>
    -->
              <!-- CHANGE If not on boss -->
              <partnerLink name="FactFinderService" partnerLinkType="ns10:FactFinderSoapLink" partnerRole="FactFinderSoapProvider"/>
              <!-- -->
              <partnerLink name="StoreService" partnerLinkType="ns9:StoreLink" partnerRole="StoreProvider"/>
         </partnerLinks>
         <!-- ================================================================= -->
         <!-- VARIABLES -->
         <!-- List of messages and XML documents used within this BPEL process -->
         <!-- ================================================================= -->
         <variables>
              <!-- Reference to the message passed as input during initiation -->
              <variable name="input" messageType="tns:InputMessage"/>
              <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
              <variable name="flowContents" messageType="tns:SmartDocumentMessage"/>
              <variable name="dataglyphKey" type="xsd:string"/>
              <variable name="inputSmartDocumentId" type="xsd:string"/>
              <variable name="inputDocumentId" type="xsd:string"/>
              <variable name="inputUrl" type="xsd:string"/>
              <variable name="serviceIdentifier" type="xsd:string"/>
              <variable name="runtimeFaultMessage" messageType="bpelx:RuntimeFaultMessage"/>
              <variable name="authId" type="xsd:string"/>
         </variables>
         <faultHandlers>
              <catch faultName="bpelx:bindingFault" faultVariable="runtimeFaultMessage">
                   <scope name="HandleBindingFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="code">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="summary">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catch>
              <catch faultName="bpelx:remoteFault" faultVariable="runtimeFaultMessage">
                   <scope name="HandleRemoteFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="code">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from variable="runtimeFaultMessage" part="summary">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catch>
              <catchAll>
                   <scope name="HandleGenericFault">
                        <variables>
                             <variable name="error" element="tns:error"/>
                        </variables>
                        <sequence>
                             <scope name="SetErrorMessage">
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from variable="serviceIdentifier">
                                                 </from>
                                                 <to variable="error" query="/error/processStep"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="error" query="/error/occuredAt"/>
                                            </copy>
                                            <copy>
                                                 <from expression="'UNKNOWN ERROR CODE'">
                                                 </from>
                                                 <to variable="error" query="/error/errorCode"/>
                                            </copy>
                                            <copy>
                                                 <from expression="'UNKNOWN ERROR SUMMARY'">
                                                 </from>
                                                 <to variable="error" query="/error/errorSummary"/>
                                            </copy>
                                       </assign>
                                       <assign name="addToSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('error'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                  </sequence>
                             </scope>
                             <scope name="Seal">
                                  <variables>
                                       <variable name="seal" element="tns:seal"/>
                                       <variable name="sealInput" messageType="ns7:SealRequest"/>
                                       <variable name="sealOutput" messageType="ns7:SealResponse"/>
                                  </variables>
                                  <sequence>
                                       <assign name="prepareRecord">
                                            <copy>
                                                 <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                 </from>
                                                 <to variable="seal" query="/seal/execution/started"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputSmartDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/smartdocumentid"/>
                                            </copy>
                                            <copy>
                                                 <from variable="inputDocumentId">
                                                 </from>
                                                 <to variable="seal" query="/seal/input/documentid"/>
                                            </copy>
                                       </assign>
                                       <assign name="addtoSmartDocument">
                                            <copy>
                                                 <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('seal'))">
                                                 </from>
                                                 <to variable="flowContents" part="document" query="/smartdocument"/>
                                            </copy>
                                       </assign>
                                       <assign name="setServiceInput">
                                            <copy>
                                                 <from variable="authId">
                                                 </from>
                                                 <to variable="sealInput" part="AuthId"/>
                                            </copy>
                                            <copy>
                                                 <from variable="seal" query="/seal/input/smartdocumentid">
                                                 </from>
                                                 <to variable="sealInput" part="SmartDocumentId"/>
                                            </copy>
                                            <copy>
                                                 <from expression="ora:getContentAsString(ora:getElement('flowContents', 'document', '/smartdocument'))">
                                                 </from>
                                                 <to variable="sealInput" part="XmlString"/>
                                            </copy>
                                       </assign>
                                       <invoke partnerLink="SealService" portType="ns7:Seal" operation="Seal" inputVariable="sealInput" outputVariable="sealOutput"/>
                                  </sequence>
                             </scope>
                        </sequence>
                   </scope>
              </catchAll>
         </faultHandlers>
         <!-- ================================================================= -->
         <!-- ORCHESTRATION LOGIC -->
         <!-- Set of activities coordinating the flow of messages across the -->
         <!-- services integrated within this business process -->
         <!-- ================================================================= -->
         <sequence name="main">
              <!-- Receive input from requestor.
    Note: This maps to operation defined in LocalLoanIncSmartDocument.wsdl
    -->
              <receive name="receiveInput" partnerLink="client" portType="tns:LocalLoanIncSmartDocument" operation="initiate" variable="input" createInstance="yes"/>
              <assign name="InitialiseVariables">
                   <copy>
                        <from expression="'042e05a98cddac30e309f8'">
                        </from>
                        <to variable="dataglyphKey"/>
                   </copy>
                   <copy>
                        <from expression="'0'">
                        </from>
                        <to variable="inputSmartDocumentId"/>
                   </copy>
                   <copy>
                        <from expression="'0'">
                        </from>
                        <to variable="inputDocumentId"/>
                   </copy>
                   <copy>
                        <from expression="'Unknown service'">
                        </from>
                        <to variable="serviceIdentifier"/>
                   </copy>
              </assign>
              <scope name="Initiate">
                   <variables>
                        <variable name="initiate" element="tns:initiate"/>
                        <variable name="initiateInput" messageType="ns6:InitiateRequest"/>
                        <variable name="initiateOutput" messageType="ns6:InitiateResponse"/>
                   </variables>
                   <sequence>
                        <assign name="prepareRecord">
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="initiate" query="/initiate/execution/started"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/userId">
                                  </from>
                                  <to variable="initiate" query="/initiate/userid"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/imageURL">
                                  </from>
                                  <to variable="initiate" query="/initiate/url"/>
                             </copy>
                             <copy>
                                  <from expression="string('LocalLoanIncSmartDocument')">
                                  </from>
                                  <to variable="initiate" query="/initiate/processName"/>
                             </copy>
                        </assign>
                        <assign name="setServiceInput">
                             <copy>
                                  <from expression="'Initiate'">
                                  </from>
                                  <to variable="serviceIdentifier"/>
                             </copy>
                             <copy>
                                  <from variable="initiate" query="/initiate/userid">
                                  </from>
                                  <to variable="initiateInput" part="Username"/>
                             </copy>
                             <copy>
                                  <from variable="input" part="payload" query="/input/password">
                                  </from>
                                  <to variable="initiateInput" part="Password"/>
                             </copy>
                             <copy>
                                  <from variable="initiate" query="/initiate/url">
                                  </from>
                                  <to variable="initiateInput" part="URL"/>
                             </copy>
                        </assign>
                        <invoke partnerLink="InitiateService" portType="ns6:Initiate" operation="Initiate" inputVariable="initiateInput" outputVariable="initiateOutput"/>
                        <assign name="updateScopeVariables">
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="inputSmartDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="inputDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentURL">
                                  </from>
                                  <to variable="inputUrl"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/AuthId">
                                  </from>
                                  <to variable="authId"/>
                             </copy>
                        </assign>
                        <assign name="updateRecord">
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="initiate" query="/initiate/output/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="initiateOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="initiate" query="/initiate/output/documentid"/>
                             </copy>
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="initiate" query="/initiate/execution/finished"/>
                             </copy>
                        </assign>
                        <assign name="addToSmartDocument">
                             <copy>
                                  <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('initiate'))">
                                  </from>
                                  <to variable="flowContents" part="document" query="/smartdocument"/>
                             </copy>
                        </assign>
                   </sequence>
              </scope>
              <scope name="DetectDataglyph">
                   <variables>
                        <variable name="glyphdetection" element="tns:glyphdetection"/>
                        <variable name="detectDataglyphInput" messageType="ns5:SmartDocumentDataglyphDetectRequest"/>
                        <variable name="detectDataglyphOutput" messageType="ns5:SmartDocumentDataglyphDetectResponse"/>
                   </variables>
                   <sequence>
                        <assign name="prepareRecord">
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/execution/started"/>
                             </copy>
                             <copy>
                                  <from variable="flowContents" part="document" query="/smartdocument/initiate/output/smartdocumentid">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/input/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="flowContents" part="document" query="/smartdocument/initiate/output/documentid">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/input/documentid"/>
                             </copy>
                        </assign>
                        <assign name="setServiceInput">
                             <copy>
                                  <from expression="'GlyphDetection'">
                                  </from>
                                  <to variable="serviceIdentifier"/>
                             </copy>
                             <copy>
                                  <from variable="authId">
                                  </from>
                                  <to variable="detectDataglyphInput" part="AuthId"/>
                             </copy>
                             <copy>
                                  <from variable="dataglyphKey">
                                  </from>
                                  <to variable="detectDataglyphInput" part="Key"/>
                             </copy>
                             <copy>
                                  <from expression="5">
                                  </from>
                                  <to variable="detectDataglyphInput" part="MaxAngle"/>
                             </copy>
                             <copy>
                                  <from expression="128">
                                  </from>
                                  <to variable="detectDataglyphInput" part="Region"/>
                             </copy>
                             <copy>
                                  <from variable="glyphdetection" query="/glyphdetection/input/smartdocumentid">
                                  </from>
                                  <to variable="detectDataglyphInput" part="SmartDocumentId"/>
                             </copy>
                             <copy>
                                  <from variable="glyphdetection" query="/glyphdetection/input/documentid">
                                  </from>
                                  <to variable="detectDataglyphInput" part="DocumentId"/>
                             </copy>
                        </assign>
                        <invoke partnerLink="DataglyphService" portType="ns5:Dataglyph" operation="SmartDocumentDataglyphDetect" inputVariable="detectDataglyphInput" outputVariable="detectDataglyphOutput"/>
                        <assign name="updateRecord">
                             <copy>
                                  <from expression="string(boolean(bpws:getVariableData('detectDataglyphOutput', 'Result', '/Result/Result')&gt;500.0))">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/detected"/>
                             </copy>
                             <copy>
                                  <from variable="detectDataglyphOutput" part="Result" query="/Result/SmartDocumentId">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/output/smartdocumentid"/>
                             </copy>
                             <copy>
                                  <from variable="detectDataglyphOutput" part="Result" query="/Result/DocumentId">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/output/documentid"/>
                             </copy>
                             <copy>
                                  <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                  </from>
                                  <to variable="glyphdetection" query="/glyphdetection/execution/finished"/>
                             </copy>
                        </assign>
                        <assign name="addToSmartDocument">
                             <copy>
                                  <from expression="ora:addChildNode(bpws:getVariableData('flowContents', 'document', '/smartdocument'), bpws:getVariableData('glyphdetection'))">
                                  </from>
                                  <to variable="flowContents" part="document" query="/smartdocument"/>
                             </copy>
                        </assign>
                   </sequence>
              </scope>
              <switch name="DataglyphDetected">
                   <case condition="bpws:getVariableData('flowContents', 'document', '/smartdocument/glyphdetection/detected')='true'">
                        <sequence>
                             <scope name="Detected-ProcessAsForm">
                                  <sequence>
                                       <scope name="DetectSignature">
                                            <variables>
                                                 <variable name="signaturedetection" element="tns:signaturedetection"/>
                                                 <variable name="detectSignatureInput" messageType="ns3:SmartDocumentSignatureDetectRequest"/>
                                                 <variable name="detectSignatureOutput" messageType="ns3:SmartDocumentSignatureDetectResponse"/>
                                            </variables>
                                            <sequence>
                                                 <assign name="prepareRecord">
                                                      <copy>
                                                           <from expression="ora:getCurrentDateTime('yyyy-MM-dd hh:mm:ss z')">
                                                           </from>
                                                           <to variable="signaturedetection" query="/signaturedetection/execution/started"/>
                                                      </copy>
                                                      <copy>
                                                           <from variable="flowContents" part="document" query="/smartdocument/glyphdetection/output/smartdocumentid">
                                                           </from>
                                                           <to variable="signaturedetection" query="/signaturedetection/input/smartdocumentid"/>
                                                      </copy>
                                                      <copy>
                                                           <from variable="flowContents" part="document" query="/smartdocument/glyphdetection/output/documentid">
       

    Hi all,
    I modified the bpel so that it could compile by letting the designer add prefixes where it needed some. Then I deployed the process and tested it. Unfortunately ;-( See below the error log. It looks like the newly added prefixes are source of troubles ...
    Any ideas?
    --mike
    [2005/04/29 11:06:12] Error in <assign> expression: <to> value is empty at line "375". The XPath expression : "/tns:input/tns:userId" returns zero node, when applied to document shown below: Less
    <input xmlns="urn:SmartDocument" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <userId xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">mniemaz</userId>
    <password xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">mniemaz</password>
    <imageURL xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">http://pic-charvet.xrce.xeroxlabs.com:8080/smartdocument.demo/data/tiff/loanrequest1.tiff</imageURL>
    <emailRecipient xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">[email protected]</emailRecipient>
    <formOutput xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">file.pdf</formOutput>
    </input>
    [2005/04/29 11:06:12] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown. Less
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <part name="summary">empty variable/expression result. xpath variable/expression expression "/tns:input/tns:userId" is empty at line 375, when attempting reading/copying it. Please make sure the variable/expression result "/tns:input/tns:userId" is not empty.</part>
    </selectionFailure>

  • ORABPEL Err: 1007 in deploying SOAOrderBooking

    When i tried to deploy the deploy SOAOrderBooking Appln...iam getting this compilation err: ORABPEl err:1007 ...tell me some suggestions pls...
    Error is:
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    SOAOrderBooking.bpel code:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- PARTNERLINKS -->
    <!-- List of services participating in this BPEL process -->
    <!-- ================================================================= -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </partnerLinks>
    <!-- ================================================================= -->
    <!-- VARIABLES -->
    <!-- List of messages and XML documents used within this BPEL process -->
    <!-- ================================================================= -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- ORCHESTRATION LOGIC -->
    <!-- Set of activities coordinating the flow of messages across the -->
    <!-- services integrated within this business process -->
    <!-- ================================================================= -->
    <sequence name="main">
    <!-- Receive input from requestor.
    Note: This maps to operation defined in SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    there is some prob with ns5:notificationservice.....help me
    Thanks,
    mathi

    Thank you James.Yes u r right james...by mistake i deleted the NotificationService scope, so i started invoking creditservice from SOAOrderBooking BPEL process right from the begining..so now there is no errors during compilation(only some warnings)...
    but iam getting errors while deploying it...
    The Error is:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think these errors were bcoz of some warnings that i got during compilation time:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    pls give me suggestions reg this issue.
    Thanks,
    Indhu

Maybe you are looking for

  • Problem with IF THEN ELSE in RTF template

    HI ALL, I have two layouts in the RTF template. Based on the parameter value it has to show the value. For example if P_State='United States' then first layout should come. else second one should come. I tried to use the IF Then else logic through th

  • Performing Calculation based on drop down selection

    I need help with simple calculation. Im building an estimate form, and have the fields: "Total"  (manually entered total amount) "GrandTotal" (automatically calculates Total*1.07 to add 7% NJ sales tax) Next I have 3 drop down boxes with payment opti

  • Cannot hear USB microphone in headphone

    I'm using the Logitech USB microphone which works fine for Skype and quicktime recordings. The problem is that I cannot hear the microphone in my headphones which makes it difficult to monitor the recording. The input volume level is working in Syste

  • Iwork apps won't open any files on new iMac

    just got my new imac. my original iwork purchase was from a CD, so i reinstalled it on the new mac from the original disc, did all the updates, and now can only create new documents. none of the apps will open existing iwork or microsoft documents. i

  • Aperture exported IPTC4XMP sidecars not readable by Adobe or PhotoMecanic

    I'm exporting some CR2 RAW master files from an Aperture catalog and want to have the IPTC4XMP sidecar files. The resulting xmp files aren't recognised by Adobe DNG Convertor or PhotoMechanic. The Aperture created xmp files begin <?xpacket begin='' i