BPEL Process returns "empty variable/expression result."

Hi,
I have an Asynchronous BPEL Process which uses a DB Adapter (which in turn uses a custom SQL Procedure) to insert a value in to a table and return a sequence value generated in the procedure back to the BPEL Process. The process inserts the value in to the table but the sequence is not returned back and i get the below error,
<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<part name="summary">
<summary>
empty variable/expression result.
xpath variable/expression expression "/ns2:OutputParameters/ns2:X_NO" is empty at line 94, when attempting reading/copying it.
Please make sure the variable/expression result "/ns2:OutputParameters/ns2:X_NO" is not empty.
</summary>
</part>
</selectionFailure>
If i see the process flow the invoke activity shows the sequence value is returned from the procedure but when the invoke activity passes that value to the Assign activity its lost and the above error is displayed.
The details i see in Invoke activity is below,
<messages>
<Invoke_1_DBProcWrite_InputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
<InputParameters
xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
<P_NAME>Vivek</P_NAME>
</InputParameters>
</part>
</Invoke_1_DBProcWrite_InputVariable>
<Invoke_1_DBProcWrite_OutputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
<db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
<X_NO>9</X_NO>
</db:OutputParameters>
</part>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="response-headers">[]</part>
</Invoke_1_DBProcWrite_OutputVariable>
</messages>
I use Jdeveloper version 10.1.3.3.0.4157. I did not recieve this error in Jdeveloper 10.1.3.1.
Please let me know how to resolve this issue.
Regards, Suresh

I have exactly the same problem!!!! I would appreciate someone from Product or other to explain why I can see the incoming variable being created but when XPath expression is attempted to extract a value so I can do an assignment I get a "empty variable/expression result".
Using JDEV10.1.3.3 and SOA 10.1.3.3 advanced install. My process is receiving a R12 Business Event listed here:
<?xml version="1.0" encoding="UTF-8" ?>
- <WF_EVENT_T xmlns="http://xmlns.oracle.com/xdb/APPS/BES_EVENT/BES_EVENT">
<PRIORITY xmlns="">50</PRIORITY>
<SEND_DATE xmlns="">2008-04-30T13:40:33.000-05:00</SEND_DATE>
<RECEIVE_DATE xmlns="">2008-04-30T13:40:40.000-05:00</RECEIVE_DATE>
<CORRELATION_ID xmlns="" />
- <PARAMETER_LIST xmlns="">
- <PARAMETER_LIST_ITEM>
<NAME>BO_ID</NAME>
<VALUE>123456</VALUE>
</PARAMETER_LIST_ITEM>
- <PARAMETER_LIST_ITEM>
<NAME>#CURRENT_PHASE</NAME>
<VALUE>201</VALUE>
</PARAMETER_LIST_ITEM>
</PARAMETER_LIST>
<EVENT_NAME xmlns="">oracle.apps.ar.hz.PersonBO.create</EVENT_NAME>
<EVENT_KEY xmlns="">777666</EVENT_KEY>
<EVENT_DATA xmlns="" />
- <FROM_AGENT xmlns="">
<NAME>WF_BPEL_QAGENT</NAME>
<SYSTEM>VIS12.US.ORACLE.COM</SYSTEM>
</FROM_AGENT>
<TO_AGENT xmlns="" />
<ERROR_SUBSCRIPTION xmlns="">TBo0FQQPy6ngQKjAuQAXWA==</ERROR_SUBSCRIPTION>
<ERROR_MESSAGE xmlns="" />
<ERROR_STACK xmlns="" />
</WF_EVENT_T>

Similar Messages

  • Empty variable/expression result. xpath variable/expression expression

    Hi,
    I am new to BPEL, I have created one Process and trying to Call Procedure with the help of Invoke Process Activity. Database Procedure having one input parameter and one output parameter. When i am trying to execute deployed webservice it gives me error like
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 94218a8977e86d41:78a12598:12e474197b6:-7f6f. Please check the process instance for detail.</faultstring>
    </Fault>
    Server Trace for this: From Audit Instance
    receiveInput
    [2011/02/21 17:07:04] Received "inputVariable" call from partner "client"More...
    - <inputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    - <ns1:DBAdaptorParam2ProcessRequest xmlns:ns1="http://xmlns.oracle.com/DBAdaptorParam2">
    <ns1:input>wwww</ns1:input></ns1:DBAdaptorParam2ProcessRequest></part></inputVariable>
    Assign_in
    [2011/02/21 17:07:04] Updated variable "Invoke_DBService_DBAdaptor2_Service_InputVariable" More...
    - <Invoke_DBService_DBAdaptor2_Service_InputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
    - <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/">
    <PARAM1>wwww</PARAM1></InputParameters></part>
    </Invoke_DBService_DBAdaptor2_Service_InputVariable>
    Invoke_DBService
    [2011/02/21 17:07:04] Invoked 2-way operation "DBAdaptor2_Service" on partner "DBAdaptor2_Service".less
    - <messages>
    - <Invoke_DBService_DBAdaptor2_Service_InputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
    - <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/"><PARAM1>wwww</PARAM1>
    </InputParameters></part>
    </Invoke_DBService_DBAdaptor2_Service_InputVariable>
    - <Invoke_DBService_DBAdaptor2_Service_OutputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
    - <db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/"><PARAM2>wwww Extra added</PARAM2></db:OutputParameters></part>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="response-headers">[]</part>
    </Invoke_DBService_DBAdaptor2_Service_OutputVariable>
    </messages>
    Assign_out (faulted)
    [2011/02/21 17:07:04] Error in evaluate <from> expression at line "87". The result is empty for the XPath expression : "/ns2:OutputParameters/ns2:PARAM2".less
    oracle.xml.parser.v2.XMLElement@7cc53
    [2011/02/21 17:07:04] "{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">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns2:OutputParameters/ns2:PARAM2" is empty at line 87, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns2:OutputParameters/ns2:PARAM2" is not empty.
    </summary></part></selectionFailure>
    I am not able to fix this issue please help me out.
    Thanks in Advance
    Thanks,Abhijit

    Hi,
    Thanks for reply.
    For the development guideline i had followed "http://www.erpschools.com/apps/oracle-applications/articles/Fusion-Middleware/SOA/BPEL/BPEL-Database-Adapter-Part-2/index.aspx" this document. Instead of using "select" query, here I am using database procedure to get output.
    For this I am giving input as "Abhijit" and database procedure "GETCONCATESTRING" is returning value as "Abhijit Extra added",
    but finally i am getting this error:
    Invoke_DBService
    [2011/02/22 12:55:08]
    Invoked 2-way operation "DBAdaptor2_Service" on partner "DBAdaptor2_Service".
    - <messages>
    - <Invoke_DBService_DBAdaptor2_Service_InputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
    - <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/">
    <PARAM1> Abhijit </PARAM1> </InputParameters> </part> </Invoke_DBService_DBAdaptor2_Service_InputVariable>
    - <Invoke_DBService_DBAdaptor2_Service_OutputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
    - <db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/ *GETCONCATESTRING* /">
    <PARAM2> Abhijit     Extra added </PARAM2></db:OutputParameters></part>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="response-headers">[]</part>
    </Invoke_DBService_DBAdaptor2_Service_OutputVariable></messages>
    Please Guide me to use Receive Activity for output.
    Edited by: 815926 on Feb 21, 2011 11:41 PM
    Edited by: 815926 on Feb 21, 2011 11:42 PM

  • Error: empty variable/expression result

    Hi ,
    I am following the examples and initiating a bpel process(not the process given in the examples) through java. But when I execute the java code, I get the following error:
    com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.
    xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {null}
    parts: {{summary=<summary>empty variable/expression result.
    xpath variable/expression expression "/client:helloProcessRequest/client:name" i
    s empty at line 30, when attempting reading/copying it.
    Please make sure the variable/expression result "/client:helloProcessRequest/cli
    ent:name" is not empty.
    </summary>}}
    com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
    I am sending the variable in the string with the following code:
    String xml = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><SOAP-ENV:Body><m:helloProcessRequest xmlns:m=\"http://xmlns.oracle.com/hello\"><m:name>revanth</m:name></m:helloProcessRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>";
    Locator locator = new Locator("default","bpel",props);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to collaxa server
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload", xml );
    NormalizedMessage res = deliveryService.request("hello", "process", nm);
    Map payload = res.getPayload();
    Can anybody please tell me what is missing here?
    Appreciate your help.
    Thank you,
    Revanth

    Got it. Was sending the wrong string. Needed to send only the varaible and not the soap envelope. just for information, i had to send this string:
    String xml = "<m:helloProcessRequest xmlns:m=\"http://xmlns.oracle.com/hello\"><m:name>revanth</m:name></m:helloProcessRequest>";
    Sorry for any trouble.
    Rev

  • Variable/expression result error

    Hi,
    I am trying to run a BPEL process which reads data from an EDI file, transforms it and calls the Sales Order creation API. The process is giving the following error at runtime:
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>empty variable/expression result.
    xpath variable/expression expression "ora:processXSLT('EDI2Oracle.xsl',bpws:getVariableData('ReceiveEDI850XML_Dequeue_InputVariable','Transaction-850'))" is empty at line 69, when attempting reading/copying it.
    Please make sure the variable/expression result "ora:processXSLT('EDI2Oracle.xsl',bpws:getVariableData('ReceiveEDI850XML_Dequeue_InputVariable','Transaction-850'))" is not empty.
    </summary>
    </part></selectionFailure>
    Please can anyone help me resolve this issue. Also, does any one have a concise document on how to import an EDI and create 850 Purchase Order.
    Regards,
    Balu

    Hi,
    can you please provide some details of the ReceiveEDI850XML_Dequeue_InputVariable?
    What is the input before your transform?
    What value is in this Transaction-850 parameter and what is the namespace of the Input?
    Can you please check if the namespaces are set right?

  • Bpel process returning array of complex type

    Hi, I have created a BPEL process which is returning a array of Officer class objects, I used following xsd for that.
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/RegistrationUpload_jws/RegistrationUpload/OfficerList"
         xmlns="http://www.w3.org/2001/XMLSchema">
         <element name="process">
              <complexType>
                   <sequence>
                        <element name="jobAssignmentType" type="string"/>
    <element name="officerLevelNum" type="string"/>
    <element name="applicationType" type="string"/>
    <element name="functionId" type="string"/>
    <element name="app_id_val">
    <complexType>
    <sequence>
    <element name="key" type="string"/>
    <element name="value" type="string"/>
    </sequence>
    </complexType>
    </element>
    <element name="dcConservationFlag" type="string"/>
                   </sequence>
              </complexType>
         </element>
         <element name="processResponse">
              <complexType>
                   <sequence>
    <element name="Officer" maxOccurs="unbounded" minOccurs="1">
    <complexType>
    <sequence>
    <element name="mainOfficer" type="string"/>
    <element name="mainOfficerID" type="string"/>
    <element name="coveringOfficer" type="string"/>
    <element name="coveringOfficerId" type="string"/>
    <element name="defaultOfficer" type="string"/>
    <element name="defaultOfficerId" type="string"/>
    <element name="matrixId" type="string"/>
    </sequence>
    </complexType>
    </element>
                   </sequence>
              </complexType>
         </element>
    </schema>*
    we can check the processResponse Element is output variable.
    please tell me how can i set values in this element and return (lets I have 4 value objects for officer class)
    I am using following code and its giving me null pointer exception. in my early program I can get the variable in the same way.
    try
    for(int i=1; i<4; i++)
    setVariableData("outputVariable","payload","/client:processResponse/client:Officer[1]/client:mainOfficer","abhi",true);
    catch(Exception e)
    System.out.println("error occured");
    I am using Hard code value "1" for above example, I have tried with dynamic value of "i" also.
    thanks
    Edited by: abhishek on Apr 27, 2011 2:33 AM
    Edited by: abhishek on Apr 27, 2011 2:34 AM

    Hi,
    My requirement is to retrieve those task which satisfying some input criteria. and that input criteria are in payload attribute of task.
    we can use ITaskQueryService API, for retrieving task list, but I am not able to see any function through which I can find my task based on payload attribute,
    Lets take a example
    I created a task with atribute functionID="ABC" (payload attribute). now i want to query the task list which have functionID attribute value "ABC".
    for this I have found some flex fields are there, but even not sure what flex fields are.
    still trying for the same.

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

  • Invalid xml document for BPEL Process.

    Hi everyone,
    I am getting below error after i set validateXML=strict
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    Kindly help me with the steps. I am just a SOA admin, not developer.
    Regards
    Lammeki.

    Ummmm Vikas,
    Lemme bring out a better picture, so u get more clear on this one.
    The developer has upgraded an already deployed BPEL process.
    Since then, she has been facing problem. When she invoke those process they simply end up as faulted with a yellow color ! mark.
    Now i as an admin, i tried everything to help her cos she escalated the issue to me, thinking maybe there is sumthing i could do to assists her.
    Now i am not sure, how to help her, but yes i started with the logs. Both the oc4j container log for SOA and the domain log show the similar error.
    But till then, i didn't know black and white of it. so i tried doing all testing possible from my end.
    When i check on the faulted instances i see there is a Assign activity after Transform followed by Invoked being highlighted in red color. and when i clicked on it i get to see the error
    Assign_41
    [2011/07/21 02:26:15]
    Error in evaluate <from> expression at line "315". The result is empty for the XPath expression : "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER".
    oracle.xml.parser.v2.XMLElement@1ee216f
    Copy details to clipboard
    [2011/07/21 02:26:15]
    "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.
    - <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    - <part name="summary">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER" is empty at line 315, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns6:QueryPerAllPeopleOutputCollection/ns6:QueryPerAllPeopleOutput/ns6:EMPLOYEE_NUMBER" is not empty.
    Possible reasons behind this problems are: some xml elements/attributes are optional or the xml data is invalid according to XML Schema.
    To verify whether XML data received by a process is valid, user can turn on validateXML switch at the domain administration page.
    </summary>
    </part>
    </selectionFailure>
    Copy details to clipboard
    So because of that instruction i went ahead and set validateXML=strict
    and that is when i got the error message as below
    Invoke_PerAllPeople
    [2011/07/21 11:47:12]
    Invalid data: The value for variable "Invoke_PerAllPeople_QueryPerAllPeople_InputVariable", part "QueryPerAllPeopleInput_msg" does not match the schema definition for this part.The invalid xml document is shown below:
    oracle.xml.parser.v2.XMLElement@17f54ff
    Copy details to clipboard
    [2011/07/21 11:47:12]
    Faulted while invoking operation "QueryPerAllPeople" on provider "QueryPerAllPeople".
    - <messages>
    - <input>
    - <Invoke_PerAllPeople_QueryPerAllPeople_InputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="QueryPerAllPeopleInput_msg">
    - <QueryPerAllPeopleInput xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/QueryPerAllPeople" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/QueryPerAllPeople">
    <ns1:p_person_id/>
    </QueryPerAllPeopleInput>
    </part>
    </Invoke_PerAllPeople_QueryPerAllPeople_InputVariable>
    </input>
    - <fault>
    - <invalidVariables xmlns="http://schemas.oracle.com/bpel/extension">
    - <part name="code">
    <code>
    9710
    </code>
    </part>
    - <part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    </part>
    </invalidVariables>
    </fault>
    </messages>
    Copy details to clipboard
    [2011/07/21 11:47:12]
    "{http://schemas.oracle.com/bpel/extension}invalidVariables" has been thrown.
    - <invalidVariables xmlns="http://schemas.oracle.com/bpel/extension">
    - <part name="code">
    <code>
    9710
    </code>
    </part>
    - <part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-datatype-valid.1.2.1: '' is not a valid value for 'decimal'.
    Error::cvc-type.3.1.3: The value '' of element 'ns1:p_person_id' is not valid.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    </part>
    </invalidVariables>
    Copy details to clipboard
    The main problem was we were observing many SOA inactive threads in one particular database, and they keep building up minutes by minutes.
    I suspect, that in the code connections were open but were not closed, there4 there were inactive threads in the database.
    I had to stop the SOA application, to stop threads from building up. I guess they got build up when they were invoked. There is definitely some fault with the code. or tell me am wrong. tell me its sumthing else.
    However other domains processes were working fine.
    and oh, yes the developer also made changes in the database. when i asked her to revert back and see if it works, she say thats a huge amount of work.
    Finally she end up saying that maybe it could be a problem with the new version.
    Now as a learner, I want to know what is going on, and how do we go about solving it.
    Am not much of a SOA techie. that u can make out. but yes ready to learn things. so there4 i beg you to explain to me like am a standard 3 or 4 kid. any more information needed plz feel free to write back.
    regards
    Lammeki.

  • Empty BPEL Process in SOA 11g.

    HI,
    We created all bpel processes using Empty BPEL Process template Available in the jdeveloper. Then we add AQ adapter to read the data and calling some third party webservices.
    Is empty Bpel Processes option act as synchronous or asynchronous?
    as for my understanding its always act as a asynchronous.
    Please clear my doubt.

    Hi Pablo,
    Thanks For the reply.
    we are using DB adapter which will poll on table,that means this is the service which creates the bpel instance.
    the only prob we are facing is sometimes BPEL instances are never comeout from the RUNNING state and error its showing error as"The transaction was rolled back. The work performed for bpel instance "290086" was rolled back to the previous dehydration point, but the audit trail has been saved.You can recover the instance from the recovery console by resubmitting the callback message or activity for execution"
    Oracle suggested this problem occurs when you are using Synchronous processes. increase the timeout settings.
    DB adapter Polling is always Asynchronous?
    can you just share your thoughts on this..
    Regards,
    Sudha

  • Faults generated by Oracle file adapter not reaching BPEL process

    Hi,
    I have a process that uses the Oracle file adapter to receive the contents of a file, and am suffering from a number of problems when it is not able to parse the source file.
    The process is initiated by a receive activity associated with the file adapter partnerline that has the create instance flag ticked.
    One problem is that if the file adapter encounters an error when reading the file, there is no record of anything happening from the BPEL Console. I presume this is because no instance of the process has been created as the error was encountered before invoking the process. The only record I have of a problem ever occuring is in the logfiles.
    To make matters worse, if you select the Delete files after successful retrieval, the source file is deleted even though an exception has been encountered. If you specify the Archive processed files options, it does not archive the file.
    So to summarise the problems:
    * there is no record of an attempt to read, or of a faulty read occurring when trying to read the file from the BPEL console when a faulty read does occurs.
    * no instance of the process is ever created, so it is not possible to implement a fault handler to send out a notification of the problem.
    * when a problem is encountered, the source file is deleted and not archived.
    I assume that this is a bug, so can anyone advise if there is a patch to address these problems?
    Thanks
    Toby

    Ok, so now I'm using a rejection handler to invoke a BPEL process, and have defined the inputVariable type to be rej:RejectionMessage and imported RejectionMessage.wsdl.
    The process is being invoked successfully, and I can see that the processes input contains data.
    So I am writing the opaque MessagePayload to a file successfully using a file adapter, and can see the file content that is written is as I would expect (it matches the file used as input that would have caused the fault - although the content is truncated).
    Now I want to modify the file adapter so that the file's filename is set to the RejectionId attribute of the BPEL process. However, I'm receiving the following message:
    xpath variable/expression expression "/ns2:RejectedMessage/@ns2:RejectionId" is empty at line 50, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns2:RejectedMessage/@ns2:RejectionId" is not empty.
    I can see from the console that the RejectionId is in fact populated, and the copy from the RejectionMessage's MessagePayload is completed ok.
    Does anyone know what's going on here?
    Thanks
    Toby

  • Synchronous BPEL process calling apache soap 2.3.1 service(s) on jboss

    I have a problem that is quite frustratiing. I have a very simple synchronous BPEL process and I am trying to invoke some legacy services we have deployed using Apache soap 2.3.1 running on jboss. The process executes, the service executes, but the return value is not received by the BPEL process.
    I used obtunnel to capture the data flow and everything seems fine from that perspective. The problem is, if you watch the monitor, the status says active, but the BPEL process returns immediately. It does not wait for the response, so the return value winds up being null. I have tried this numerous times with several services and the result is always the same. This is a serious problem for us. Any suggestions/insight would be very much appreciated.
    Ina case there are any doubts as to whether or not it is actually a synchronous process, from the BPEL code:
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Wed Apr 18 13:19:50 EDT 2007
    Author: bmurray
    Purpose: Synchronous BPEL Process
    -->
    Below is an example from obtunnel:
    ==============
    Listen Port: 5678
    Target Host: pian.wlgore.com
    Target Port: 8080
    ==== Request ====
    POST /soap/servlet/rpcrouter HTTP/1.1
    Host: pian.wlgore.com:5678
    Connection: TE
    TE: trailers, deflate, gzip, compress
    User-Agent: Oracle HTTPClient Version 10h
    SOAPAction: "http://vitalstream.com/webservices/Authenticate"
    Accept-Encoding: gzip, x-gzip, compress, x-compress
    Content-type: text/xml; charset=UTF-8
    Content-length: 829
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Body>
    <ns0:Authenticate xmlns:ns0="http://vitalstream.com/webservices">
    <strAccount xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar3</strAccount>
    <strToken xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar1</strToken>
    <strReferrer xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar4</strReferrer>
    <strSourceURL xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar</strSourceURL>
    <strClientIP xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar2</strClientIP>
    </ns0:Authenticate>
    </env:Body>
    </env:Envelope>==== Response ====
    HTTP/1.1 200 OK
    X-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-4.0.1sp1 (build: CVSTag=JBoss_4_0_1_SP1 date=200502160314)
    Set-Cookie: JSESSIONID=C656EEE6B641F23F02D6E5BE79CD2A4D.ajp13w; Path=/soap
    Content-Type: text/xml;charset=utf-8
    Content-Length: 480
    Date: Wed, 18 Apr 2007 18:34:19 GMT
    Server: Apache-Coyote/1.1
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:AuthenticateResponse xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:int">1</return>
    </ns1:AuthenticateResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    ==============
    As you can see, the value is indeed returned from the service, but BPEL indicates a null value for the return:
    <messages><Invoke_1_Authenticate_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strSourceURL"><strSourceURL xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar</strSourceURL>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strToken"><strToken xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar1</strToken>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strAccount"><strAccount xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar3</strAccount>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strClientIP"><strClientIP xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar2</strClientIP>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strReferrer"><strReferrer xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar4</strReferrer>
    </part></Invoke_1_Authenticate_InputVariable><Invoke_1_Authenticate_OutputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">null</part></Invoke_1_Authenticate_OutputVariable></messages>

    Did you specify the correct message type for your return variable?
    <Invoke_1_Authenticate_OutputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">
    null
    </part>
    </Invoke_1_Authenticate_OutputVariable>
    As is returns:
    <ns1:AuthenticateResponse
    xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:int">1</return>
    </ns1:AuthenticateResponse>
    Regards,
    Marc

  • Read BPEL process fault - JSP - Servlet

    Hi all,
    I created a simple BPEL process, a JSP and a servlet to access and run the process. This is the scenario:
    - The user enters "test" in JSP page. The servlet execute the BPEL process
    - BPEL process throws a fault. A error msg is assigned to ProcessFault element
    - BPEL process returns -1 in output variable
    ... and this is my problem:
    I want to read the error msg in ProcessFault element. I created a xml facade to access the ProcessFault element but it's empty. There is no error msg ...
    If I checked the process with the console. It's works fine. The processus returns -1 and assign a error msg.
    Do you have an idea?
    Have a great day,
    Cyryl

    Hi Cyryl ,
    If you can send me the Process and JSP or servlet where you are trying to catch fault [ProcessFault] , i will see if ther is anything you are missing something.
    Thanks,
    rakesh

  • Implement callback for an asynchronous BPEL process through Java

    Hi ,
    I am trying to implement a callback functionality for an asynchronous BPEL process through java.
    I found the code in the samples folder of SOA suite installation folder .
    <SOA_HOME>\bpel\samples\tutorials\102.InvokingProcesses\rmi\com\otn\samples\async.
    There is an AsyncInstanceWatchdog object which registers a callback object(in this case an object of AsyncCallbackImpl class) for a specific CONVERSATION_ID.
    String convId = GUIDGenerator.generateGUID();
    nm.setProperty(NormalizedMessage.CONVERSATION_ID, convId);
    deliveryService.post(proc_name, "initiate", nm);
    // register the callback
    watchdog.registerAsyncCallback(convId, testAsyncHandler,
    locator.getDomainAuth());
    // start it
    watchdog.start();
    There is no problem till the last line. But once the BPEL process returns the control( does a callback), it throws the following error.
    May 25, 2010 3:36:06 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    ORABPEL-02118
    Variant not found.
    The variant "output" has not been declared in the current scope. All variants must be declared in the scope before being accessed.
    Please check that the variant "output" is properly declared; otherwise there may be a misspelling in the name of the variant.
         at com.collaxa.cube.engine.core.Scope.getVariantRV(Scope.java:535)
         at com.collaxa.cube.engine.CubeEngine.getFieldValue(CubeEngine.java:2668)
    For your reference the variable output is declared in the definition of AsyncCallbackImpl (which implements the IAsyncInstanceCallback interface).
    There are 2 methods defined in the AsyncCallbackImpl class.
    public void onResult(Map pResultMessage) {
    System.out.println("called back! ");
    Iterator iTest = pResultMessage.keySet().iterator();
    while (iTest.hasNext()) {
    String key = (String)iTest.next();
    System.out.println(XMLHelper.elementToString((Element)pResultMessage.get(key)));
    public String getVariableName() {
    return "output";
    The variable name is same given in the sample code. And the BPEL process returns variable named output. So the name should not be a problem.
    Is it because of the scope of the variable.. If so, how do I change it.
    Any help would be appreciated.
    Edited by: saptarishi on May 25, 2010 4:24 PM
    Edited by: saptarishi on May 26, 2010 4:45 PM

    Solved it by some googling .... :)
    Here is the link:-
    [http://abhishek-soablog.blogspot.com/2008/09/orabpel-02118.html]
    or
    [http://beautifulwaste.blogspot.com/2008/04/calling-asynchronous-bpel-process.html]
    Both gives the same solution..
    In pre 10.1.3.3 release the default behaviour were to keep global variable information along with the instance information for completed BPEL processes.
    In 10.1.3.3 or later, this behaviour changed for performance reasons so that the default behaviour is now, not to keep any global variables for a BPEL process once the BPEL process has completed.
    You can configure this behaviour on a process level basis by using the parameter keepGlobalVariables in the bpel.xml file for the specific process:
    <BPELSuitcase>
    <BPELProcess src=".........." id="...........">
    <configurations>
    <property name="keepGlobalVariables">true</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>
    Thanks
    saptarishi

  • Can an synchronous ESB process initiate an asynchronous BPEL process?

    I have a requirement to create a synchronous ESB service that initiates an aysnchronous BPEL process returning a success message to the requesting system.
    I can create an esb that receives a paylaod from the requesting system and returns a receipt message, I then created an asynchronous bpel process.
    Although I can initiate the asynchronous bpel process from the ESB I cannot work out how to send back the success message? The routing rules do not allow setting of outgoing messages unless you call a synchronous process?

    Can you make the BPEL process synchronous. Calling a asynchronous process breaks your synchronous message, because what happens if your asynchronous process takes longer that 1 minute. The synchronous process will timeout but the asynchronous process will complete.
    The previous note is correct you can use queues but all this will do is tell you that you posted correctly, you get the same result calling a web service. Asynchronous is fire and forget in a ESB world as it is stateless.
    cheers
    James

  • How to pass multiple parameters to DB adapter through BPEL process?

    Hi All
    I have created a BPEL process in which I am using invoke activity to call DB package.procedure having multiple parameters.Once the package gets executed it shows me custom exception message as input parameters are showing null values inside the package.
    When I see the audit flow in BPEL instance , it shows correct values against each parameter in BPEL process.
    Anybody know about this problem? why DB package is not able to read input parameters send through BPEL process?
    Regards
    Yogi

    Hi Chintan
    Thanks for your reply.
    Here is my procedure call. For these input and output parameters I have created variables @ BPEL process. Those variables are accepting values correctly.
    PROCEDURE custom_po_proc(
    p_return_status OUT VARCHAR2,
    p_error_code OUT VARCHAR2,
    p_error_desc OUT VARCHAR2,
    p_debug IN VARCHAR2 DEFAULT 'N',
    p_lgcy_trxn_num IN VARCHAR2,
    p_trxn_type IN VARCHAR2,
    p_operation IN VARCHAR2 DEFAULT NULL,
    p_po_number IN VARCHAR2,
    p_line_num IN VARCHAR2,
    p_org_code IN VARCHAR2,
    p_quantity IN NUMBER,
    p_user_name IN VARCHAR2);
    I just have one DB adapter based on above procedure.
    How do I increase the logging level, have not done that before.
    Regards
    Yogi

  • BPEL Process Manager says that My Simple Web Service returns null !

    Hi every body,
    I am deploying a process which invokes a simple web service (TheaterWS) running on Tomcat.This service simply accepts a string input and returns it concatenated with other string . I tested it with a client that I made with JDeveloper, every thing is O.K, But after deploying the process to a BPEL server, I got the following Assign Activity error on BPEL Console:
    ( Error in <assign> expression: <from>-Value is empty in row "43".The part "return" is Null, as shown in the following snippet:
    <Invoke_Theater_getBooked_OUT>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="return">null</part>
    </Invoke_Theater_getBooked_OUT>
    Here is my files:
    The TheaterBP.bpel
    <process name="TheaterBP" targetNamespace="http://xmlns.oracle.com/TheaterBP" 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:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns:client="http://xmlns.oracle.com/TheaterBP" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:TheaterBP" myRole="TheaterBPProvider" partnerRole="TheaterBPRequester"/>
    <partnerLink name="TheaterPartnerLink" partnerRole="TheaterWS_Role" partnerLinkType="ns2:TheaterWS_PL"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable" messageType="client:TheaterBPRequestMessage"/>
    <variable name="outputVariable" messageType="client:TheaterBPResponseMessage"/>
    <variable name="Invoke_Theater_getBooked_IN" messageType="ns2:getBookedRequest"/>
    <variable name="Invoke_Theater_getBooked_OUT" messageType="ns2:getBookedResponse"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client" portType="client:TheaterBP" operation="initiate" variable="inputVariable" createInstance="yes"/>
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/client:TheaterBPProcessRequest/client:input"/>
    <to variable="Invoke_Theater_getBooked_IN" part="a"/>
    </copy>
    </assign>
    <invoke name="Invoke_Theater" partnerLink="TheaterPartnerLink" portType="ns2:TheaterWS" operation="getBooked" inputVariable="Invoke_Theater_getBooked_IN" outputVariable="Invoke_Theater_getBooked_OUT"/>
    <assign name="Assign_2">
    <copy>
    <from variable="Invoke_Theater_getBooked_OUT" part="return"/>
    <to variable="outputVariable" part="payload" query="/client:TheaterBPProcessResponse/client:result"/>
    </copy>
    </assign>
    <invoke name="callbackClient" partnerLink="client" portType="client:TheaterBPCallback" operation="onResult" inputVariable="outputVariable"/>
    </sequence>
    </process>
    </definitions>
    The TheaterPartenerLink1.wsdl
    targetNamespace="http://139.25.6.39:8080/axis/TheaterWS.jws"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:intf="http://139.25.6.39:8080/axis/TheaterWS.jws"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    >
    <import namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" location="http://139.25.6.39:8080/axis/TheaterWS.jws?wsdl"/>
    <plnk:partnerLinkType name="TheaterWS_PL">
    <plnk:role name="TheaterWS_Role">
    <plnk:portType name="intf:TheaterWS"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    and here is the TheaterWS.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://139.25.6.39:8080/axis/TheaterWS.jws-impl" xmlns:intf="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:message name="getBookedResponse">
    <wsdl:part name="return" type="xsd:string"/>
    </wsdl:message>
    <wsdl:message name="getBookedRequest">
    <wsdl:part name="a" type="xsd:string"/>
    </wsdl:message>
    <wsdl:portType name="TheaterWS">
    <wsdl:operation name="getBooked" parameterOrder="a">
    <wsdl:input message="intf:getBookedRequest"/>
    <wsdl:output message="intf:getBookedResponse"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TheaterWSSoapBinding" type="intf:TheaterWS">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getBooked">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input>
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" use="encoded"/>
    </wsdl:input>
    <wsdl:output>
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" use="encoded"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TheaterWSService">
    <wsdl:port binding="intf:TheaterWSSoapBinding" name="TheaterWS">
    <wsdlsoap:address location="http://139.25.6.39:8080/axis/TheaterWS.jws"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    I apprecitae any hints,

    Hi every body,
    I am deploying a process which invokes a simple web service (TheaterWS) running on Tomcat.This service simply accepts a string input and returns it concatenated with other string . I tested it with a client that I made with JDeveloper, every thing is O.K, But after deploying the process to a BPEL server, I got the following Assign Activity error on BPEL Console:
    ( Error in <assign> expression: <from>-Value is empty in row "43".The part "return" is Null, as shown in the following snippet:
    <Invoke_Theater_getBooked_OUT>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="return">null</part>
    </Invoke_Theater_getBooked_OUT>
    Here is my files:
    The TheaterBP.bpel
    <process name="TheaterBP" targetNamespace="http://xmlns.oracle.com/TheaterBP" 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:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns:client="http://xmlns.oracle.com/TheaterBP" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:TheaterBP" myRole="TheaterBPProvider" partnerRole="TheaterBPRequester"/>
    <partnerLink name="TheaterPartnerLink" partnerRole="TheaterWS_Role" partnerLinkType="ns2:TheaterWS_PL"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable" messageType="client:TheaterBPRequestMessage"/>
    <variable name="outputVariable" messageType="client:TheaterBPResponseMessage"/>
    <variable name="Invoke_Theater_getBooked_IN" messageType="ns2:getBookedRequest"/>
    <variable name="Invoke_Theater_getBooked_OUT" messageType="ns2:getBookedResponse"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client" portType="client:TheaterBP" operation="initiate" variable="inputVariable" createInstance="yes"/>
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/client:TheaterBPProcessRequest/client:input"/>
    <to variable="Invoke_Theater_getBooked_IN" part="a"/>
    </copy>
    </assign>
    <invoke name="Invoke_Theater" partnerLink="TheaterPartnerLink" portType="ns2:TheaterWS" operation="getBooked" inputVariable="Invoke_Theater_getBooked_IN" outputVariable="Invoke_Theater_getBooked_OUT"/>
    <assign name="Assign_2">
    <copy>
    <from variable="Invoke_Theater_getBooked_OUT" part="return"/>
    <to variable="outputVariable" part="payload" query="/client:TheaterBPProcessResponse/client:result"/>
    </copy>
    </assign>
    <invoke name="callbackClient" partnerLink="client" portType="client:TheaterBPCallback" operation="onResult" inputVariable="outputVariable"/>
    </sequence>
    </process>
    </definitions>
    The TheaterPartenerLink1.wsdl
    targetNamespace="http://139.25.6.39:8080/axis/TheaterWS.jws"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:intf="http://139.25.6.39:8080/axis/TheaterWS.jws"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    >
    <import namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" location="http://139.25.6.39:8080/axis/TheaterWS.jws?wsdl"/>
    <plnk:partnerLinkType name="TheaterWS_PL">
    <plnk:role name="TheaterWS_Role">
    <plnk:portType name="intf:TheaterWS"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    and here is the TheaterWS.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://139.25.6.39:8080/axis/TheaterWS.jws-impl" xmlns:intf="http://139.25.6.39:8080/axis/TheaterWS.jws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:message name="getBookedResponse">
    <wsdl:part name="return" type="xsd:string"/>
    </wsdl:message>
    <wsdl:message name="getBookedRequest">
    <wsdl:part name="a" type="xsd:string"/>
    </wsdl:message>
    <wsdl:portType name="TheaterWS">
    <wsdl:operation name="getBooked" parameterOrder="a">
    <wsdl:input message="intf:getBookedRequest"/>
    <wsdl:output message="intf:getBookedResponse"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TheaterWSSoapBinding" type="intf:TheaterWS">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getBooked">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input>
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" use="encoded"/>
    </wsdl:input>
    <wsdl:output>
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://139.25.6.39:8080/axis/TheaterWS.jws" use="encoded"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TheaterWSService">
    <wsdl:port binding="intf:TheaterWSSoapBinding" name="TheaterWS">
    <wsdlsoap:address location="http://139.25.6.39:8080/axis/TheaterWS.jws"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    I apprecitae any hints,

Maybe you are looking for

  • How do I find the Home/Library on a backup disk?

    On my Mac laptop using Mountain Lion, the Home/Library is found by holding the Option key while selecting the GO menu. But if I want to replace a file from my backup disk (I backup with Time Machine), how do I get to the Library window to get this fi

  • How to make buttons work in Interactive Adobe Forms

    Hi Experts, I am new to interactive form. Though i have worked in normal/non-Interactive form, i do not know how to make buttons work in interactive adobe forms using ABAP  (I don't know JAVA). Can any one help me out and walk me through to how to co

  • Error in SAPGUI-on AIX- Can't load JNI library

    Error in SAPGUI-on AIX- Can't load JNI library I am getting error as below: ^C# ./sapgui /H/punlparidm06 /S/sapdbIND ERROR ############################# 07.03. 12:48:37.619 ERROR: Attempt to load shared library /local/SAPClients/SAPGUI7.00rev2.1/bin/

  • Partner functions for FV11 conditions are not working for MIRO

    Hi, We have a business process wherein PO Ordering vendor and invoicing vendor are different. We have defined  FV11  tax conditions  ( VAT and Excise)for PO vendor . We have not defined  FV11 tax conditions  ( VAT and Excise) for Invoicing vendor. So

  • How to read AL11 parameters in ABAP program

    Hello SAP Masters, I came across a requirement to read AL11 file parameters such as lastchanged day and lastchanged time of a particular file in directory. Can you guide me by providing either the function module name or any table where this informat