Bind the output data (Xml) from BPEL process to ADF SelectOneChoice Control

Hello,
My requirement is to invoke a BPEL process from ADF page and display returned results in a select one choice (drop down box).
I have created a Data Control for the BPEL process through Web service data control and tried to invoke the BPEL process. I could see from the BPEL console that BPEL process is getting invoked. But the ADF doesn't bind any of the output to Select one choice.
It doesn't even show any error.
Can you plz help me how to bind the output of the BPEL process to ADF SelectOneChoice control.
The Xml Which I recieve from BPEL process is
<outputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><DBConnectDemoProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/DBConnectDemo">
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>1</transId>
<fromStatus>Open</fromStatus>
<toStatus>Assigned</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>2</transId>
<fromStatus>Open</fromStatus>
<toStatus>Pending</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>3</transId>
<fromStatus>Open</fromStatus>
<toStatus>Closed</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>4</transId>
<fromStatus>Open</fromStatus>
<toStatus>Cancelled</toStatus>
</StatusTrans>
</DBConnectDemoProcessResponse>
</part></outputVariable>
And the toStatus node values viz, Assigned, Pending, Closed, Cancelled should get binded to the SelectOneChoice control
Waiting for your valuable inputs,
Regards,
babloo.

I have been still trying for the solution. I have modified the XSD created by the jdeveloper to,
<schema attributeFormDefault="unqualified"
     elementFormDefault="qualified"
     targetNamespace="http://xmlns.oracle.com/StateTransitions"
     xmlns="http://www.w3.org/2001/XMLSchema">
     <element name="StateTransitionsProcessRequest">
          <complexType>
               <sequence>
               <element name="input" type="string"/>
               </sequence>
          </complexType>
     </element>
     <element name="StateTransitionsProcessResponse">
          <complexType>
               <sequence maxOccurs="unbounded">
<element name="stateChanges">
<complexType>
<sequence>
<element name="fromState" type="string" />
<element name="toState" type = "string" />
</sequence>
</complexType>
</element>
</sequence>
          </complexType>
     </element>
</schema>
And I have given this XSD url while creating the Web Service Data Control by deploying it into the Oracle App server.
So, I can see the tree structure of "Return" as "StateTransitionsProcessResponse->StateChanges->toState,fromState"
I have binded the toState field of the Data Control to the SelectOneChoice ADF control in a jspx page by using List binding editor.
I have selected,
Base data source as "Variables" (Currently I don't need to update any table),
List Data source as "process: getStateTransitions.process.StateTransitionsProcessResponse.stateChanges" (Web Service Data Control)
Base Data source attribute as "process_input"
List Data Source Attribute as "toState"
I can initiate the web service (BPEL process) by providing the necessary input value like 'Open' or 'Pending' or 'Assigned' but the SelectOneChoice control doesn't populate with any values.
Waiting for valuable inputs!
Thanks and Regards,
babloo.

Similar Messages

  • Sending attachment from bpel process

    Hi,
    Is there a way to send the file read through the file adapter to be sent as response from bpel process to ADF ?
    I do not want to read the contents of the file. Its just that I need to read the file from a directory through file adapter and send that attachment as a response from bpel process.
    Regards,
    Stalin

    Thanks Neeraj. Need a clarification on fetching the doc from the file system.
    Since my process will be invoked from ADF, I cant have Read File Operation option in the file adapter to read the file from the directory. Is it possible to fetch the file using syncread operation ? As I said before, I do not want to read the content of the file, just the file alone is enough.

  • Error while invoking the WSDL service of EBS from BPEL process

    Hi Team,
    when we are calling webservice client to call WSDL service which is published in Oracle EBS integrated SOA Gateway from BPEL process.
    After invoking, we are getting the below error
    <bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>FND_SOA_SERVICE_EXECUTION_ERR:oracle.apps.fnd.soa.util.SOAException: ServiceExecutionError: Error while executing the service Exception returned from JCA Service Runtime. Exception returned from JCA Service Runtime. null :Please see service monitor logs for full error trace</summary></part><part name="detail"><detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : FND_SOA_SERVICE_EXECUTION_ERR:oracle.apps.fnd.soa.util.SOAException: ServiceExecutionError: Error while executing the service Exception returned from JCA Service Runtime. Exception returned from JCA Service Runtime. null :Please see service monitor logs for full error trace</detail></part><part name="code"><code>{http://schemas.xmlsoap.org/soap/envelope/}Server</code></part></remoteFault></bpelFault>
    API Name : OE_ORDER_PUB.PROCESS_ORDER
    could you please let me know the exact problem and provide the solution.
    Thanks
    Phani Ch.

    Hi Phani,
    Are you able to reproduce issue as below:
    1. Login to Application as sysadmin.
    2. Navigate to Intergrated SOA Gateway > Integration Repository.
    3. Click on search on right hand side of the page.
    4. In the Internal Name type "FND_USER_PKG" and click Go.
    5. Click on the User link.
    6. Under the "Web Service - SOA Provider", click in the "View WSDL". Copy the complete URL "http://test:8003/webservices/SOAProvider/plsql/fnd_user_pkg/?wsdl"
    7. Open the soapUI.
    8. Click File > new soapUI Project.
    9. Test the web service.
    If yes,
    I think you might be need to execute a patch:
    solution:
    To implement the solution, please execute the following steps:
    1. Download and review the readme and pre-requisites for iAS Patch 18855074.
    Note: Above Merge Label Request (MLR) is build for EBS 12.1.3 having OC4J 10.1.3.5.
    2. Enable the profile option "EBS Adapter for BPEL, Function Security Enabled".
    a. Login as SYSADMIN user and Navigate to System >Profile  and Search for "EBS Adapter for BPEL, Function Security Enabled" (Internal name :EBS_ADAPTER_FUNCTION_SEC_ENABLED)
    b. Set the Value to 'Y' at SITE level . This means  function security feature is enabled and all API calls for PL/SQL APIs, Oracle e-Commerce Gateway, and concurrent programs will be checked for user security before they are invoked.
    3. Retest the issue by Generating and Deploying the required package.
    4. Migrate the solution as appropriate to other environments.
    Thanks
    Ranjan

  • I tried to invoke WS from BPEL process

    I tried to invoke WS from BPEL process. And error occurred when I deployed the process.
    Error:
    [ERROR ORABPEL-10902]: COMPILING FAILED.
    [NOTE]: IN "bpel.xml", XML syntax analysis failed. The reason is "Part Element not defined".
    In "http://192.168.0.188:8989/newTest-newTest-context-root/MyorderListWS?wsdl" , Message Part Element "{http://www.w3.org/2001/XMLSchema}any" is not defined in any SCHEMA&#12290;
    Please make sure to spell the definite name of the ELEMENT correctly and import WSDL completely.
    wsdl file(IMyorderListWS.wsdl)
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <!--Generated by the Oracle JDeveloper 10g Web Services WSDL Generator-->
    <!--Date Created: Thu Sep 29 17:00:15 CST 2005-->
    <definitions
    name="MyorderListWS"
    targetNamespace="http://zbht/com/orderList.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://zbht/com/orderList.wsdl"
    xmlns:ns1="http://zbht.com/IMyorderListWS.xsd">
    <types>
    <schema
    targetNamespace="http://zbht.com/IMyorderListWS.xsd"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"/>
    </types>
    <message name="getResInfo0Request">
    <part name="custID" type="xsd:string"/>
    <part name="prodctID" type="xsd:string"/>
    </message>
    <message name="getResInfo0Response">
    <part name="return" element="xsd:any"/>
    </message>
    <portType name="orderListPortType">
    <operation name="getResInfo">
    <input name="getResInfo0Request" message="tns:getResInfo0Request"/>
    <output name="getResInfo0Response" message="tns:getResInfo0Response"/>
    </operation>
    </portType>
    <binding name="orderListBinding" type="tns:orderListPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getResInfo">
    <soap:operation soapAction="" style="rpc"/>
    <input name="getResInfo0Request">
    <soap:body use="encoded" namespace="MyorderListWS" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output name="getResInfo0Response">
    <soap:body use="literal" namespace="MyorderListWS"/>
    </output>
    </operation>
    </binding>
    <service name="MyorderListWS">
    <port name="orderListPort" binding="tns:orderListBinding">
    <soap:address location="http://192.168.0.188:8989/newTest-newTest-context-root/MyorderListWS"/>
    </port>
    </service>
    </definitions>
    /*****************************************************************************************/

    In your wsdl ...
    instead of
    <part name="custID" type="xsd:string"/>
    try
    <part name="custID" element="xsd:string"/>
    the part is usually an element such as
    <element name="BPELProcess1ProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    </element>
    hth clemens

  • Passing complex object from bpel process to web service

    I have deployed my web service on apache axis.The wsdl file looks like as follows,
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://bpel.jmetro.actiontech.com" xmlns:intf="http://bpel.jmetro.actiontech.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="ADLevelBpelWS">
    - <sequence>
    <element name="adLevelStr" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:int" />
    </sequence>
    </complexType>
    - <complexType name="TransResultWS">
    - <sequence>
    <element name="description" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:long" />
    <element name="responseType" type="xsd:int" />
    <element name="status" type="xsd:boolean" />
    </sequence>
    </complexType>
    - <complexType name="NamespaceDataImplBpelWS">
    - <sequence>
    <element name="ADLevel" nillable="true" type="impl:ADLevelBpelWS" />
    <element name="appdataDef" nillable="true" type="apachesoap:Map" />
    <element name="description" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="CreateSharedNamespaceBpelWS">
    - <sequence>
    <element name="actor" nillable="true" type="xsd:string" />
    <element name="comment" nillable="true" type="xsd:string" />
    <element name="from" nillable="true" type="xsd:string" />
    <element name="namespaceData" nillable="true" type="impl:NamespaceDataImplBpelWS" />
    <element name="priority" type="xsd:int" />
    <element name="processAtTime" nillable="true" type="xsd:dateTime" />
    <element name="replyTo" nillable="true" type="xsd:string" />
    <element name="responseRequired" type="xsd:boolean" />
    </sequence>
    </complexType>
    </schema>
    - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="mapItem">
    - <sequence>
    <element name="key" nillable="true" type="xsd:string" />
    <element name="value" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="Map">
    - <sequence>
    <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
    </sequence>
    </complexType>
    </schema>
    </wsdl:types>
    + <wsdl:message name="createNamespaceRequest">
    <wsdl:part name="createNs" type="impl:CreateSharedNamespaceBpelWS" />
    </wsdl:message>
    - <wsdl:message name="createNamespaceResponse">
    <wsdl:part name="createNamespaceReturn" type="impl:TransResultWS" />
    </wsdl:message>
    - <wsdl:portType name="JMetroWebService">
    - <wsdl:operation name="createNamespace" parameterOrder="createNs">
    <wsdl:input message="impl:createNamespaceRequest" name="createNamespaceRequest" />
    <wsdl:output message="impl:createNamespaceResponse" name="createNamespaceResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="NAMESPACEWITHMAPSoapBinding" type="impl:JMetroWebService">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="createNamespace">
    <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="createNamespaceRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:input>
    - <wsdl:output name="createNamespaceResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="JMetroWebServiceService">
    - <wsdl:port binding="impl:NAMESPACEWITHMAPSoapBinding" name="NAMESPACEWITHMAP">
    <wsdlsoap:address location="http://localhost:7001/axis/services/NAMESPACEWITHMAP" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    My NamespaceDataObjectImplBpelWS object contains element appDataDef which is of type java.util.Map.My bpel wsdl file is as below,
    <?xml version="1.0"?>
    <definitions name="NsWithMap"
    targetNamespace="http://bpel.jmetro.actiontech.com"
    xmlns:tns="http://bpel.jmetro.actiontech.com"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of services participating in this BPEL process
    The default output of the BPEL designer uses strings as input and
    output to the BPEL Process. But you can define or import any XML
    Schema type and us them as part of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
         <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
         <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
              <element name="createNamespace" type="tns:CreateSharedNamespaceBpelWS"/>
              <element name="transResult" type="tns:TransResultWS"/>
              <complexType name="TransResultWS">
                   <sequence>
                        <element name="description" type="string" />
                        <element name="id" type="long" />
                        <element name="responseType" type="int" />
                        <element name="status" type="boolean" />
              </sequence>
              </complexType>
              <complexType name="ADLevelBpelWS">
                   <sequence>
                        <element name="adLevelStr" type="string" />
                        <element name="id" type="int" />
                   </sequence>
              </complexType>
              <complexType name="NamespaceDataImplBpelWS">
                   <sequence>
                        <element name="ADLevel" type="tns:ADLevelBpelWS" />
                        <element name="description" type="string" />
                        <element name="name" type="string" />
                        <element name="appdataDef" type="apachesoap:Map" />
                   </sequence>
              </complexType>
              <complexType name="CreateSharedNamespaceBpelWS">
                   <sequence>
                        <element name="namespaceData" type="tns:NamespaceDataImplBpelWS" />
              </sequence>
              </complexType>
         <element name="desc" type="string"/>
         </schema>
         <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
                        <complexType name="mapItem">
                             <sequence>
                                  <element name="key" type="string" />
                                  <element name="value" type="string" />
                        </sequence>
                        </complexType>
                        <complexType name="Map">
                             <sequence>
                             <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
                             </sequence>
                        </complexType>
              </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="NsWithMapRequestMessage">
    <part name="payload" element="tns:createNamespace"/>
    </message>
    <message name="NsWithMapResponseMessage">
    <part name="payload" element="tns:transResult"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the NsWithMap BPEL process -->
    <portType name="NsWithMap">
    <operation name="initiate">
    <input message="tns:NsWithMapRequestMessage"/>
    </operation>
    </portType>
    <!-- portType implemented by the requester of NsWithMap BPEL process
    for asynchronous callback purposes
    -->
    <portType name="NsWithMapCallback">
    <operation name="onResult">
    <input message="tns:NsWithMapResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    the NsWithMap partnerLinkType binds the provider and
    requester portType into an asynchronous conversation.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="NsWithMap">
    <plnk:role name="NsWithMapProvider">
    <plnk:portType name="tns:NsWithMap"/>
    </plnk:role>
    <plnk:role name="NsWithMapRequester">
    <plnk:portType name="tns:NsWithMapCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    I am trying to set this map data using java code ,
         HashMap procADMap1 = new HashMap(5);
                   PropertyTypeWS pType = new PropertyTypeWS();
                   pType.setTypeIndex(2);     
              AppdataDefImplWS appData1 = new AppdataDefImplWS();
              appData1.setName("Project");
              appData1.setType(pType);
              appData1.setMaxSize(400);
              appData1.setLOB(false);
         appData1.setDefaultValue("Project Default value");
              procADMap1.put(appData1.getName(), appData1);
              setVariableData("request","createNs","/createNs/namespaceData/appdataDef",procADMap1);     
    Then I am passing request object to the method which I want to invoke from bpel process.
    I am able to deploy the application but when I do post message I am getting following exception,
    NamespaceWithMap (createNamespace) (faulted)
    [2004/09/09 18:35:54] "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown. Less
    faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    code: {Server.userException}
    summary: {org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.}
    detail: {null}
    Is there any other way to handle Map type in bpel process?
    Thanks in advance,
    Sanjay

    Thanks for the quick reply.Actually the web service is already deployed on the server.What I want to do is use existing wsdl file of the deployed web service and invoke the method of the same using oracle PM.
    If I remove element which uses apachesoap:Map type it just works fine also I am getting the complex object returned by the web service method.But when I try to set appDataDef which is of type apachesoap:Map(Axis conversion for java.util.Map and it uses namespace xmlns:apachesoap="http://xml.apache.org/xml-soap") I am getting the error.
    Can you give me some direction to use this exising wsdl file to set map object or it is not possible.

  • Error Calling ODI Data Service from BPEL

    Hi all,
    I'm trying to call ODI data services from BPEL, but this error comes up:
    <messages>
    -<input>
    -<Invoke_1_addSrcCustomer_InputVariable_1>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1">
    <SrcCustomer xmlns="test/WSSrcCustomer/schema"/>
    </part>
    </Invoke_1_addSrcCustomer_InputVariable_1>
    </input>
    -<fault>
    -<bindingFault xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="summary">
    <summary>[email protected]6 : Could not find binding output for operation addSrcCustomer
    </summary>
    </part>
    </bindingFault>
    </fault>
    </messages>
    A WSSrcCustomer WSDL has been successfully deployed and the addSrcCustomer operation is chosen. Also, I'm using the following input as XML flagment:
    <ns2:SrcCustomer xmlns:ns2="http://www.w3.org/2001/XMLSchema/" xmlns="test/WSSrcCustomer/schema/">
    <CUSTID>999</CUSTID>
    <TITLE>0</TITLE>
    <LAST_NAME>lastname</LAST_NAME>
    <FIRST_NAME>firstname</FIRST_NAME>
    <ADDRESS>myaddress</ADDRESS>
    <CITY_ID>23</CITY_ID>
    <PHONE>123456789</PHONE>
    <AGE>33</AGE>
    <SALES_PERS_ID>11</SALES_PERS_ID>
    </ns2:SrcCustomer>
    Regards

    Hello,
    Can you call the same WS from ODI (through a data server test)?
    I think you should post the WSDL file generated by the data service to the BPEL Forum.
    There must be something BPEL does not like in the WSDL.
    -FX

  • Date format in BPEL process

    Hi,
    I have a requirement where in the webservice I invoke takes in date in the format 'YYYY-MM-DDTHH:MM:SSZ'. To do this I am taking the current date into say variable_1 ( xp20:current-dateTime() ). which gives me date as _2009-04-02T08:49:04-08:00_ but the actual time is _2009-04-02T09:49:04-08:00_ . This is because of the daylight saving I guess. So for this to give me correct date and time I have embedded java code which takes in the dateTime and gives me the XSD date. The code goes like this
    String xsdDateString = (String)getVariableData("Variable_3");
    addAuditTrailEntry("Output: " + xsdDateString);
    try{
    if (xsdDateString != null || xsdDateString.trim().length() != 0) {
                   javax.xml.datatype.DatatypeFactory factory=null;
                   try {
              factory = javax.xml.datatype.DatatypeFactory.newInstance();
              } catch (javax.xml.datatype.DatatypeConfigurationException e) {
              addAuditTrailEntry("exception: " + e);
              javax.xml.datatype.XMLGregorianCalendar xmlCal = factory.newXMLGregorianCalendar(xsdDateString);
              java.util.GregorianCalendar cal = xmlCal.toGregorianCalendar();
              java.util.Date date = cal.getTime();
              java.text.DateFormat FORMAT = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
                   addAuditTrailEntry("date: " + date);
    setVariableData("Variable_3",FORMAT.format(date)+"Z");
    }catch(Exception e){
    addAuditTrailEntry("exception: " + e);
    This when tested thru java works perfectly correct. I mean when I give the date string as _2009-04-02T08:49:04-08:00_ returns me back _2009-04-02T09:49:04-08:00_. But the same code embedded into BPEL process does not return me the expetced date .It still gives me _2009-04-02T08:49:04-08:00_.
    Did some one come across this . Or can some one help me with this.
    Edited by: user3622266 on Apr 2, 2009 10:04 AM

    All,
    Update on this issue! I had the same issue and the timestamp was logged 1 hr ahead of time in the database tables while using the xp20:current-dateTime() function. However, when I resorted to ora:getCurrentDateTime() BPEL XPath extension function, this issue was resolved and the actual timestamp was logged as expected. I guess, instead of going in for a Java Embedding activity to extract the exact timestamp, we can use the BPEL extension functions to resolve this issue. Also the only difference I could find between these two functions is the timezone value that comes additionally with the xp20:current-dateTime() version.
    Note: I am using SOA Suite 10.1.3.3 which comes bundled with default JDK version 1.5.0_06.
    Thanks!

  • Problem validate the input payload in a bpel process

    Hi
    I am trying to validate the input payload in a bpel process and need to catch the exact validation error . I am using the validate activity or validate property
    I am getting the error as
    <process>
    <main (80)>
    receiveInput (pending)
    Jun 21, 2013 12:24:57 PM Invalid data: The value for variable "inputVariable", part "payload" does not match the schema definition for this part Invalid text 'Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)' in element: 'PARAM_NAME'. The invalid xml document is shown below:
    <payload>
    <catchAll (60)>
    Unable to handle the error.  Please help me if anybody handled this validation.
    Thanks in advance
    kalyani

    One of the issues with using the validate activity in BPEL is that when the error is thrown it throws it with little information.  Mediators however give much more information as they throw a remote exception and this can be caught. If you require detailed fault information to be sent back to the caller, then one solution is to use a mediator with validation as a callout (echo service etc).  Then catch the remote exception, this will give you more information in the fault payload. 

  • URGENT: Error while invoking soap-based web service from BPEL process

    I am trying to invoke a soap-based web service deployed in a different OC4J container but on the same iAS middle tier install as the BPEL server. The deployment is successful. I am running 10.1.2 BPEL server.
    But invoking a process throws the following error.
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="summary">
    <summary>when invoking locally the endpoint 'http://stadd53.us.oracle.com:7779/idm/ProvService/cps', ; nested exception is: ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "ProvService" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</summary>
    </part>
    <part name="detail">
    <detail>ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "ProvService" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</detail>
    </part>
    </remoteFault>
    Any ideas on what the problem might be ?

    Sandor,
    Thanks. Your suggestion of turning off optSoapShortcut worked. So does that mean that by default remote web services cannot be invoked from BPEL process by SOAP - unless this configuration change is done ?

  • Invoking Xai Service from  BPEL process (Error 411--Length Required)

    Hi Friends,
    I am trying to invoke xai inbound service webserive i.e WSDL from BPEL process, when i am testing the request i am getting the following error
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: oracle.fabric.common.FabricInvocationException: Unable to access the following endpoint(s): http://190.12.19.100:6500/spl/XAIApp/xaiserver/CMMBC
    when i open the above end point url in the browser:
    Error 411--Length Required
    From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    10.4.12 411 Length Required
    The server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message.
    pls help me out
    thanks and regards
    sivaram
    Edited by: sivaram on Apr 21, 2011 6:56 AM

    Yes we have got the same error while invoking from SOAP UI.
    But wsdl alone is opening through browser.
    But when we try opening the endpoint url we are getting the above error.
    Please help!

  • Can I get a query to get the output data like 4th column instead of 3rd col

    Can I get a query to get the output data like 4th column instead of 3rd column ?
    SQL&gt; select emp.deptno, empno, rownum from emp, dept where emp.deptno=dept.deptno;
    DEPTNO EMPNO ROWNUM
    10 7782 *1* *1*
    10 7839 *2* *2*
    10 7934 *3* *3*
    20 7369 *4* *1*
    20 7876 *5* *2*
    20 7902 *6* *3*
    20 7788 *7* *4*
    20 7566 *8* *5*
    30 7499 *9* *1*
    30 7698 *10* *2*
    30 7654 *11* *3*
    30 7900 *12* *4*
    30 7844 *13* *5*
    30 7521 *14* *6*
    14 rows selected.

    SQL> select emp.deptno, emp.empno,
      2    row_number() over(order by emp.deptno, emp.empno) rn,
      3    row_number() over(partition by emp.deptno order by emp.empno) dept_rn
      4  from emp, dept
      5  where emp.deptno=dept.deptno
      6  order by emp.deptno, emp.empno;
        DEPTNO      EMPNO         RN    DEPT_RN
            10       7782          1          1
            10       7839          2          2
            10       7934          3          3
            20       7369          4          1
            20       7566          5          2
            20       7788          6          3
            20       7876          7          4
            20       7902          8          5
            30       7499          9          1
            30       7521         10          2
            30       7654         11          3
            30       7698         12          4
            30       7844         13          5
            30       7900         14          6
    14 rows selected.Regards,
    Dima

  • Modify the Due Date in a GP Process

    Hello everybody,
    I need to modify the Due Date on a given Process. All I have is the Process ID, that i get from a Parameter in my function... I got some code form several pages in the SAP Library, but i get an error in the line:
              IGPProcessInstance procesInst = rtm.getProcessInstance(proc, userContext);
    In this line a GPEngineException is raised, Any help will be greatly appreciated!!!
    This is the Code I have:
         IUser user = null;
         IGPStructure params = null;
    //        Get current user
         try {
                   IWDClientUser wdUser = WDClientUser.getCurrentUser();
                   user = UMFactory.getUserFactory().getUserByLogonID(wdUser.getSAPUser().getName());
              //        obtain the Process template
                   IGPProcess process =
                   GPProcessFactory.getDesigntimeManager().getActiveTemplate(
              //        by specifying its ID
                   processId,
              //        and the user accessing it
                   user);
              //        obtain the Run Time Manager
                   IGPRuntimeManager rtm = GPProcessFactory.getRuntimeManager();
              //        create a new, empty role assignment list
                   IGPProcessRoleInstanceList roles = rtm.createProcesRoleInstanceList();
              //        get the number of roles required
                   int rolenum = process.getRoleInfoCount();
              //        iterate over the required roles
                   for (int i = 0; i < rolenum; i++) {
              //          add a new role assignment to the list
                    roles.createProcessRoleInstance(
              //          by specifying the role's unique name
                    process.getRoleInfo(i).getRoleName()).addUser(
              //          add the current user to every process role
                    user);
              //          Here you see how to populate parameters with data.
              //          This example only works, if you initiate the "Time-Off process"
              //          that is delivered per default with the GP Framework.
              //          You find it in the gallery below "Examples".
              //          Otherwise no parameters are initialized.
              String proc = processId;  // Got it as a Parameter
              IGPUserContext userContext =  GPContextFactory.getContextManager().createUserContext(user);
                               /* En Exception is Raised in this line: */
              IGPProcessInstance procesInst = rtm.getProcessInstance(proc, userContext);
              Iterator notifs = (Iterator) procesInst.getNotificationInstanceEnumeration();
              IGPNotificationManager notifManager = GPProcessFactory.getNotificationManager();
              while(notifs.hasNext())
                      IGPNotificationInstance notif = (IGPNotificationInstance)notifs.next();
                      if(notif.isDueDateNotification())
                                IGPDeadline deadline = GPNotificationFactory.createDeadline(
                                                                                         IGPDeadline.DEADLINE_ABSOLUTE_POINT,
                                                                                         null,
                                                                                         0,
                                                                                         (java.sql.Date.valueOf("2008-02-29")).getTime());
                                notifManager.updateNotification(
                                                                     proc,
                                                                     notif.getActivityInstanceID(),
                                                                     notif.getNotificationID(),
                                                                     deadline);
                    params = GPStructureFactory.getStructure(process.getInputParameters());
                    if (process.getTitle().equals("Time-Off Process")){
                         IGPStructure struc = params.addStructure("Time_off_data.1");
                         struc.setAttributeValue("AbsenceTypeText", "Vacation");
                         struc.setAttributeValue("SimulationCode", 0);
                         struc.setAttributeValue("CompletionCode", 0);
                         struc.setAttributeValue("PaidFlag", true);
                    params.setAttributeValue("data", java.sql.Date.valueOf("2008-02-28"));
              //          initiate the process template by passing the Process template
                    rtm.startProcess(process,
              //          a name,
                    "Process started by API ",
              //          a description,
                    "This process has been started by an API",
              //          the initiating user
                    user,
              //          the role assignment,
                    roles,
              //          the initial parameters
                    params,
              //          and the user actually executing this action
                    user);
          } catch (WDUMException ex) {
          logger.traceThrowableT(Severity.ERROR,
          "Current user could not be resolved: ", ex);
          } catch (GPInvocationException ex) {
          logger.traceThrowableT(Severity.ERROR,
          "Exception raised when trying to start process: ", ex);
          } catch (GPEngineException ex) {
          logger.traceThrowableT(Severity.ERROR, "Exception raised when trying to start process: ", ex);     
         catch (UMException ex) {
         logger.traceThrowableT(Severity.ERROR,
         "Exception raised when trying to start process: ", ex);
    Edited by: Francisco Perez on Mar 10, 2008 3:41 PM

    Hello All,
    You can change the deadline of a Due date notification of an process as given below:
               IGPRuntimeManager rtManager = GPProcessFactory.getRuntimeManager();     
               String process = executionContext.getProcessId();
               IUser admin =   UMFactory.getUserFactory().getUserByUniqueName("administrator");
               IGPUserContext userContext =  GPContextFactory.getContextManager().createUserContext(admin);
               IGPProcessInstance procesInst = rtManager.getProcessInstance(process,userContext);
               Iterator notifs = (Iterator) procesInst.getNotificationInstanceEnumeration();
               while(notifs.hasNext())
                    IGPNotificationInstance notif = (IGPNotificationInstance)notifs.next();
                    if(notif.isDueDateNotification())
                        IGPDeadline deadline = GPNotificationFactory.createDeadline( IGPDeadline.DEADLINE_ABSOLUTE_POINT,null,0,(new Date(108,2,1)).getTime());
                        notifManager.updateNotification(process,notif.getActivityInstanceID(),notif.getNotificationID(),deadline);

  • Fault information from bpel process when exception happens

    How to extract all the fault information from bpel process when exception happens?
    Are there any other methods other than "ora:getFaultName(), ora:getFaultAsString()"
    When I use "ora:getFaultName(), ora:getFaultAsString()", I get the below message,so I am wondering whether
    I can get any more information about the exception as mentioned below - "detailed root cause described in the exception message" -> how do I get it?
    Check the detailed root cause described in the exception message text and verify that the XPath query is correct.

    Hi,
    As far as I know, it's not possible to get the exception message with a catch all. You need to catch each exception separately, and the you will be able to get each message.
    Regards
    Gustavo

  • Invoke ODI Scenario from BPEL Process

    Hi:
    My problem is when invoke ODI Scenario from a BPEL Process, the error in ODI Designer is:
    Return Code 7000
    java.lang.NullPointerException
    at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java)
    at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSessionPreTrt(SnpSession.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    at com.sunopsis.dwg.cmd.e.i(e.java)
    at com.sunopsis.dwg.cmd.h.y(h.java)
    at com.sunopsis.dwg.cmd.e.run(e.java)
    at java.lang.Thread.run(Thread.java:595)
    In the BPEL Console the result is OK and process complete, but in the task INVOKE Scenario send message:
    <messages><ODI_REQUEST><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><invokeScenarioRequest xmlns="xmlns.oracle.com/odi/OdiInvoke/">
    <RepositoryConnection xmlns=""
    <JdbcDriver>oracle.jdbc.driver.OracleDriver</JdbcDriver>
    <JdbcUrl>jdbc:oracle:thin:@192.168.1.109:1521:ORCL</JdbcUrl>
    <JdbcUser>dimaster</JdbcUser>
    <JdbcPassword>sabr0sa</JdbcPassword>
    <OdiUser>SUPERVISOR</OdiUser>
    <OdiPassword>SUNOPSIS</OdiPassword>
    <WorkRepository>TESTWORKREP1</WorkRepository>
    </RepositoryConnection>
    <Command xmlns="">
    <ScenName>P_TRASPASOSOP09</ScenName>
    <ScenVersion>2</ScenVersion>
    <Context>Global</Context>
    <LogLevel>5</LogLevel>
    <SyncMode>0</SyncMode>
    <SessionName/>
    <Keywords/>
    <Variables>
    <Name/>
    <Value xmlns:ns1="http://xmlns.oracle.com/Recepcion">
    <ns1:Escenario>P_TRASPASOSOP09</ns1:Escenario>
    <ns1:Version>2</ns1:Version>
    <ns1:Contexto>Global</ns1:Contexto>
    <ns1:ID>1</ns1:ID>
    <ns1:NivelLogeo>5</ns1:NivelLogeo>
    </Value>
    </Variables>
    </Command>
    <Agent xmlns="">
    <Host>192.168.1.109</Host>
    <Port>20910</Port>
    </Agent>
    </invokeScenarioRequest>
    </part></ODI_REQUEST><ODI_RESPONSE><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><odi:invokeScenarioResponse xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/">
    <odi:CommandResultType>
    <odi:Ok>true</odi:Ok>
    <odi:SessionNumber>445000</odi:SessionNumber>
    </odi:CommandResultType>
    </odi:invokeScenarioResponse>
    </part></ODI_RESPONSE></messages>
    You have response a problem?
    Edited by: user2080320 on 16-oct-2008 11:18

    Hi,
    I'm also trying to implement the scenario of invoking ODI from BPEL process. I need a document with the steps to guide me thru the whole process.
    Thanks in advance!.

  • BPC:: Master data load from BI Process chain

    Hi,
    we are trying to automatize the master data load from BI.
    Now we are using a package with:
    PROMPT(INFILES,,"Import file:",)
    PROMPT(TRANSFORMATION,%TRANSFORMATION%,"Transformation file:",,,Import.xls)
    PROMPT(DIMENSIONNAME,%DIMNAME%,"Dimension name:",,,%DIMS%)
    PROMPT(RADIOBUTTON,%WRITEMODE%,"Write Mode",2,{"Overwirte","Update"},{"1","2"})
    INFO(%TEMPNO1%,%INCREASENO%)
    INFO(%TEMPNO2%,%INCREASENO%)
    TASK(/CPMB/MASTER_CONVERT,OUTPUTNO,%TEMPNO1%)
    TASK(/CPMB/MASTER_CONVERT,FORMULA_FILE_NO,%TEMPNO2%)
    TASK(/CPMB/MASTER_CONVERT,TRANSFORMATIONFILEPATH,%TRANSFORMATION%)
    TASK(/CPMB/MASTER_CONVERT,SUSER,%USER%)
    TASK(/CPMB/MASTER_CONVERT,SAPPSET,%APPSET%)
    TASK(/CPMB/MASTER_CONVERT,SAPP,%APP%)
    TASK(/CPMB/MASTER_CONVERT,FILE,%FILE%)
    TASK(/CPMB/MASTER_CONVERT,DIMNAME,%DIMNAME%)
    TASK(/CPMB/MASTER_LOAD,INPUTNO,%TEMPNO1%)
    TASK(/CPMB/MASTER_LOAD,FORMULA_FILE_NO,%TEMPNO2%)
    TASK(/CPMB/MASTER_LOAD,DIMNAME,%DIMNAME%)
    TASK(/CPMB/MASTER_LOAD,WRITEMODE,%WRITEMODE%)
    But we need to include these tasks into a BI process chain.
    How can we add the INFO statement into a process chain?
    And how can we declare the variables?
    Regards,
    EZ.

    Hi,
    i have followed your recomendation, but when i try to use the process /CPMB/MASTER_CONVERT, with the parameter TRANSFORMATIONFILEPATH and the root of the transformation file as value, i have a new problem. The value only have 60 char, and my root is longer:
    \ROOT\WEBFOLDERS\APPXX\PLANNING\DATAMANAGER\TRANSFORMATIONFILES\trans.xls
    How can we put this root???
    Regards,
    EZ.

Maybe you are looking for

  • Printing from webform

    Hi there, Does anyone out there knows how to print a report directly to a printer from the webform? The printer is actually connected to the client PC instead of the server. If anyone knows, would appreciate if someone can provide the complete steps

  • Jquery scrollTop not working correctly?

    Hi, I am trying to get a scroll function to work without 100% luck. I have a a few links that are position:fixed on my side for easy nav to a particular section. I want it to work so when user clicks it the page with auto scroll to the particular div

  • Exchange Store unavailable for 30 seconds to 1 minute randomly

    We are running Exchange 2003.  Lately, in the afternoons, the connection to the server/store will drop for about a minute before it comes back.  The server itself is still online and can be reached.  The event viewer shows no errors, just the "Inform

  • Cisco ISE Certificate error.

    Cisco ISE 1.1.1 is given Certificate error while trying to access any of nodes. It is started after adding other nodes in to primary node. Accessing by IP's redirect to other nodes suppose if we accessing primary admin node by IP, it redirect to othe

  • Need help, happening for a while now.

    My iPod Touch 4g isn't responding to me. It's not jail broken or damaged. When I tried to update the iPod to the lastest one, the screen turned black and the apple logo was blinking every 10 seconds. When I try to restore it, there is a error 3194. W