Question on BPEL Process Performance

Hello,
We have a BPEL process reading the datafile through file adapter and upserting into DB using DB Adapter. Our requirement is
If there are 10 records to process and two records (record 5 and 9) fail while inserting/updating for some reason(i.e data type mismatch, column length mismatch etc..), at the end of the process you should see 8 records in the destination table and two records in error table.
I know there are solutions of this :
*1) Multiple calls to DB:* Use a While loop in a BPEL process and Invoke DB adapter for each record and use exception handling(Catch all block).
*2) Invoke Store Procedure:* to prevent multiple calls to DB, create a stored proc on DB side to iterate and insert the records and the stored proc should also return the IDs of failed records back as error response so that you can insert those failed records to a log table or in log files.
Can you suggest which solution is best in terms of performance and why ??
Also we need to perform some business validation (i.e NOT NULL check, date format check etc..), Where should we perform this.. at DB level or BPEL process level?? and why..
Thanks,
Buddhi

BPEL is a slow performer.
Always call a stored procedure to do complex data processings.
Hence go with the second approach.
Error records:
If your going to log errors in the same database, insert the error details direcly into the error table. Dont go back to BPEL.
Application specific validations should be handled in the application itself.
--Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • How to enable https in Oracle BPEL Process Manager 10.1.2

    Hi,
    I have a few security related questions surrounding BPEL process manager.
    1. Does the BPEL engine have the capability to invoke a web service using https (HTTP over SSL)? Does it automatically do that if partner link URI starts with https:// ?
    2. If not, what needs to be done to enable accessing a https based web service?
    Thanks,
    Vidya

    Eric,
    I had applied the steps specified in the URL and modified the files default-web-site.xml, secure-web-site.xml and server.xml in directory Ora_Home\j2ee\home\config. Able to invoke the application deployed in Ora_Home\j2ee\home\applications successfully using https.
    For securing BPEL process I had followed the same steps by modifying files default-web-site.xml, secure-web-site.xml and server.xml in directory Ora_Home\j2ee\OC4J_BPEL\config. While invoking the BPEL Processes using https protocol I am facing error “HTTP 500 - Internal server error”, after the security alert popup.
    Do I need to do any other configurations for securing BPEL processes deployed in Ora_Home\integration\orabpel\domains\default\deploy directory?
    Please assist me on this.
    Thanks,
    Vidya

  • Question: How to call a BPEL process from a PL/SQL procedure

    Hi All,
    Greetings to all BPEL people. I have a question on how can we call a BPEL process from a PLSQL procedure. It might be a stupid question but i wanted to know whether this fetaure is available in BPEL as our scenario requires us to explore if this functionality is available in BPEL.
    Please let me know and also if possible please send me the links for the tutorials if it is available.
    Thanks In Advance,
    Dibya

    Yes u can do it. there are two ways.
    1) First one is using utl_http package of PL/SQL
    In this case u can create SOAP request message & send it as Http request to your deployed BPEL process.
    This package provides some methods like
    set_header,write_text,get_response,read_text etc..
    Following is part of code which may be helpful to you.
    create or replace package body test_book_order_sub_pkg
    is
    FUNCTION test_book_order_sub(p_subscription_guid IN RAW,
    p_event IN OUT WF_EVENT_T
                                            Return VARCHAR2 IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
         begin
         DBMS_OUTPUT.Put_Line('Subscription : Order has been booked');
         soap_request:='<?xml version="1.0" encoding="UTF-8"?>
         <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/BES_BookOrder">
    <ns1:BES_BookOrderProcessRequest>
    <ns1:input>725</ns1:input>
    </ns1:BES_BookOrderProcessRequest>
    </soap:Body>
    </soap:Envelope>';
    http_req:= utl_http.begin_request
    ('http://172.28.5.191:8888/orabpel/default/BES_BookOrder/1.0',
    'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
         utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    DBMS_OUTPUT.Put_Line(soap_respond);
    return('SUCCESS');
    end test_book_order_sub;
    end test_book_order_sub_pkg;
    2) Second way is make your BPEL process listening to some database Queue(use AQ Adapter). & then put some message in tht queue from ur Pl/SQL code . This will also initiate BPEL instance. Check out AQAdapter tutorials.
    /mishit

  • Performance tuning of BPEL processes in SOA Suite 11g

    Hi,
      We are working with a customer for performance tuning of SOA Suite 11g, one of the areas is to tune the BPEL processes. I am new to this and started out with stress testing Hello World process using SOAPUI tool. I would like help with the below topics -
    1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
    2. Do we need to run stress tests for every BPEL process deployed?
    2. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
    Thanks in advance!
    Sritama

    1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
    You need
    pay attention to:
    java heap usage vs java heap capacity
    java eden usage vs java eden capacity
    JDBC pool initial connections vs JDBC pool capacity connections
    if you are using linux: top
    if you are using aix: topas
    2. Do we need to run stress tests for every BPEL process deployed?
    yes, you need test each BPEL. You can use "Jmeter" tool.
    Download Jmeter from here: Apache JMeter - Apache JMeter&amp;trade;
    Other tools:
    jstat
    jstack
    jps -v
    Enterprise Manager
    WebLogic Console
    VisualVM
    JRockit Mission Control
    3. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
    I recommend "Oracle SOA Suite 11g Performance Tuning Cookbook" http://www.amazon.com/Oracle-Suite-Performance-Tuning-Cookbook/dp/1849688842/ref=sr_1_1?ie=UTF8&qid=1378482031&sr=8-1&keywords=oracle+soa+suite+11g+performance+tuning+cookbook

  • Question in invoking a bpel process from adf (how to return a table)

    hi all,
    i have developed a bpel process that checks customer name and if the customer name is valid , it will go to query a table of product and send this data to the client (jsf)
    In my bpel process ,there are two services
    1. Getcustomer service--> this service is developed by java web services that checks if the customername ='john' and it will return true and then query the product deta
    2. Product serverice--> this service is developed using entity ejb class first and then created sesssion bean , exposing this seesion bean as a ejb web serive that can query a product table in the database.
    In the syschronous process
    1. receive input (customer name)
    2. assigncustomer
    3. invoke_customer-->if =john----> Getcustomer service
    4. switch---->if true--->
    5. invoke_product ---> product service that can return a table of product detail
    6. assignproductdetail
    7. replyoutput to the client ( i could see the result of the detail of product on the bpel control , it seemed fine)
    i could deploy this bpel process sucessfully without errors and i copied the wsdl of this bpel process
    8. i created an adf application and put this wsdl link into the web service control that i created so that i could see the data control
    However,
    Under the data control tab......
    product------>(data control)
    process(string)...operation
    parameters
    ----input
    <----String (result)
    the question is did i create the wrong bpel process because the result that return is String why when the bpel process is mapped into data control it looked like this.
    why i can not see any collection of product or any parameter of product could anyone give me some advices???
    Therefore when i developed jsf page i fill the input value customer name -- and it returned nothing......please help i would highly appreicated.
    datacontrol.xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.39.84" id="untitled1PageDef"
    Package="oracle.view.pageDefs">
    <parameters/>
    <executables>
    <variableIterator id="variables">
    <variable Type="java.lang.String" Name="process_input"
    IsQueriable="false"/>
    <variable Type="java.lang.String" Name="process_Return"
    IsQueriable="false" IsUpdateable="0"
    DefaultValue="${bindings.process.result}"/>
    </variableIterator>
    </executables>
    <bindings>
    <methodAction id="process" MethodName="process" RequiresUpdateModel="true"
    Action="999" IsViewObjectMethod="false"
    DataControl="product_customer" InstanceName="product_customer"
    ReturnName="product_customer.methodResults.product_customer_process_result">
    <NamedData NDName="input" NDType="java.lang.String"
    NDValue="${bindings.process_input}"/>
    </methodAction>
    <attributeValues id="input" IterBinding="variables">
    <AttrNames>
    <Item Value="process_input"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="process1" IterBinding="variables">
    <AttrNames>
    <Item Value="process_Return"/>
    </AttrNames>
    </attributeValues>
    </bindings>
    </pageDefinition>
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="10.1.3.39.84"
    id="product_customer" BeanClass="product_customer"
    isJavaBased="false">
    <MethodAccessor IsCollection="false" Type="java.lang.String" id="process"
    ReturnNodeName="Return">
    <ParameterInfo id="input" Type="java.lang.String" isStructured="false"/>
    </MethodAccessor>
    </JavaBean>

    hi, i just can not post the long information...test
    ProductSession.wsdl
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://oracle/" name="ProductSessionWebServiceService" targetNamespace="http://oracle/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://oracle/" elementFormDefault="qualified">
    <complexType name="Product">
    <sequence>
    <element name="brand" type="string" nillable="true"/>
    <element name="price" type="float" nillable="true"/>
    <element name="description" type="string" nillable="true"/>
    <element name="category" type="string" nillable="true"/>
    <element name="name" type="string" nillable="true"/>
    <element name="prodid" type="long" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntity" type="tns:mergeEntity"/>
    <complexType name="mergeEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntityResponse" type="tns:mergeEntityResponse"/>
    <complexType name="mergeEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntity" type="tns:persistEntity"/>
    <complexType name="persistEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntityResponse" type="tns:persistEntityResponse"/>
    <complexType name="persistEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="queryProductFindAll" type="tns:queryProductFindAll"/>
    <complexType name="queryProductFindAll">
    <sequence/>
    </complexType>
    <element name="queryProductFindAllResponse" type="tns:queryProductFindAllResponse"/>
    <complexType name="queryProductFindAllResponse">
    <sequence>
    <element name="return" type="tns:ListOfProduct" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="ListOfProduct">
    <sequence>
    <element name="item" type="tns:Product" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <element name="removeProduct" type="tns:removeProduct"/>
    <complexType name="removeProduct">
    <sequence>
    <element name="Product_1" type="tns:Product" nillable="true"/>
    </sequence>
    </complexType>
    <element name="removeProductResponse" type="tns:removeProductResponse"/>
    <complexType name="removeProductResponse">
    <sequence/>
    </complexType>
    </schema>
    </types>
    <message name="ProductSessionWebService_mergeEntity">
    <part name="parameters" element="tns:mergeEntity"/>
    </message>
    <message name="ProductSessionWebService_mergeEntityResponse">
    <part name="parameters" element="tns:mergeEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_persistEntity">
    <part name="parameters" element="tns:persistEntity"/>
    </message>
    <message name="ProductSessionWebService_persistEntityResponse">
    <part name="parameters" element="tns:persistEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAll">
    <part name="parameters" element="tns:queryProductFindAll"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAllResponse">
    <part name="parameters" element="tns:queryProductFindAllResponse"/>
    </message>
    <message name="ProductSessionWebService_removeProduct">
    <part name="parameters" element="tns:removeProduct"/>
    </message>
    <message name="ProductSessionWebService_removeProductResponse">
    <part name="parameters" element="tns:removeProductResponse"/>
    </message>
    <portType name="ProductSessionWebService">
    <operation name="mergeEntity">
    <input message="tns:ProductSessionWebService_mergeEntity"/>
    <output message="tns:ProductSessionWebService_mergeEntityResponse"/>
    </operation>
    <operation name="persistEntity">
    <input message="tns:ProductSessionWebService_persistEntity"/>
    <output message="tns:ProductSessionWebService_persistEntityResponse"/>
    </operation>
    <operation name="queryProductFindAll">
    <input message="tns:ProductSessionWebService_queryProductFindAll"/>
    <output message="tns:ProductSessionWebService_queryProductFindAllResponse"/>
    </operation>
    <operation name="removeProduct">
    <input message="tns:ProductSessionWebService_removeProduct"/>
    <output message="tns:ProductSessionWebService_removeProductResponse"/>
    </operation>
    </portType>
    <binding name="ProductSessionWebServiceSoapHttp" type="tns:ProductSessionWebService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="mergeEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="persistEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="queryProductFindAll">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="removeProduct">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ProductSessionWebServiceService">
    <port name="ProductSession" binding="tns:ProductSessionWebServiceSoapHttp">
    <soap:address location="http://home-f045512354:8888/testproduct/ProductSession"/>
    </port>
    </service>
    </definitions>

  • Accessing BPEL processes via a proxy web service performance issues

    Hello,
    I have more BPEL processes implemented, each such a process implementing business functionality in a certain domain (generally, a domain has more business processes).
    The request was to provide a single web service for each domain. It means that all the business methods (processes) in the same domain should be accessed through the same web service. This request doesn't make possible to expose the BPEL processes themselves as web services that could be directly consumed by different clients of the application.
    The alternative will be to implement the "domain" web services through a Java class, for instance. With this approach, the Java based domain web services will expose the needed business methods to the clients. And the Java class will get the request input parameters and will call the corresponding BPEL process via SOAP. This scenario would be fine, but... this approach would imply a supplementary marshalling/unmarshalling process at the domain web service level. The data returned by the BPEL processes could be very large and in such a situation the Java based domain web service will introduce an important performance drawback.
    Is there any other solution to this case that will allow the using of a "proxy" domain web services that will not introduce any important drawback via marshalling/unmarshalling?
    Many thanks in advance!
    Regards,
    Marinel

    Hello,
    First, thank you Sandor for your answer.
    I understand that it is possible to create a BPEL process that exposes multiple operations/messages. This would be exactly what I need: a single process (web service) that will expose many operations. Could anyone, please, point me to such an example?
    So far I thought that there is possible to have only one operation exposed with a BPEL process, what is delimited between the receive/reply blocks (in the synchronous case).
    Regards,
    Marinel

  • Performance measure for BPEL process using Oracle BPEL Process Analytics

    Hi All,
    For measuring perfomance of a bpel process, can we use Process Analytics? Is this to be purchased separately? Is any other tool available which can be used measuring performance of a bpel process. & produces graphical reports etc? (product / open source)
    Your help is highly appreciated.
    Thanks in advance.
    Regards

    yeah you are 100% correct ..
    I have attached some stuff for CDH integration, where we used plsql to send out info on a created record to a queue.
    CREATE OR REPLACE
    TYPE XXBPEL_MESSAGE_TYPE AS OBJECT (
    MSG_ID VARCHAR2(128),
    INREPLYTO_MSG_ID VARCHAR2(128),
    FROM_PARTY VARCHAR2(512),
    TO_PARTY VARCHAR2(512),
    ACTION_NAME VARCHAR2(512),
    MSG_TYPE INT,
    PAYLOAD CLOB,
    ATTACHMENT BLOB
    EXECUTE DBMS_AQADM.create_queue_table (queue_table => 'XXBPEL_QTAB',queue_payload_type => 'XXBPEL_MESSAGE_TYPE',multiple_consumers => TRUE);
    EXECUTE DBMS_AQADM.create_queue (queue_name => 'XXBPEL_OUT_QUEUE',queue_table => 'XXBPEL_QTAB');
    EXECUTE DBMS_AQADM.start_queue(queue_name => 'XXBPEL_OUT_QUEUE',dequeue => TRUE,enqueue => TRUE);
    On BPEL side creata a process that listens to this queue (with and AQ partnerlink) as shown in $BPEL_HOME/integration\orabpel\samples\tutorials\124.AQAdapter\MulticonsumerInbound
    thx clemens

  • BPEL process failing in many instances due to JMS performance issue...

    Hi All,
    We are using a JMS adapter as partner link in a BPEL process to produce messages to JMS Queue.
    We are getting an error while producing a message to a JMS Queue.
    The error comes for 1 or 2 instances among 5 to10 intsances. (all these instances ran with in 1 or 2 seconds).
    We are using Oracle 10G SOA suite.
    This error is getting in the Production environment.
    The error is as follows (took error from server log).
    Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    parts: {{summary=file:/sw/appaia/product/SOA/bpel/domains/default/tmp/.bpel_CurrencyExchangeListEbizJMSProducer_1.0_4ec528ec93a8a6ff0278fab9701dcc71.tmp/CurrencyExchangeListEbizJMSProducerV1.wsdl [ Produce_Message_ptt::Produce_Message(OutputParameters) ] - WSIF JCA Execute of operation 'Produce_Message' failed due to: Adapter Framework unable to create outbound JCA connection.
    file:/sw/appaia/product/SOA/bpel/domains/default/tmp/.bpel_CurrencyExchangeListEbizJMSProducer_1.0_4ec528ec93a8a6ff0278fab9701dcc71.tmp/CurrencyExchangeListEbizJMSProducerV1.wsdl [ Produce_Message_ptt::Produce_Message(OutputParameters) ] - : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: oracle.j2ee.connector.proxy.ProxyInterceptException: javax.resource.ResourceException: RollbackException: Transaction has been marked for rollback: null [Caused by: RollbackException: Transaction has been marked for rollback: null]
    ; nested exception is:
    ORABPEL-12511
    Adapter Framework unable to create outbound JCA connection.
    I tried the below JMS tunings with differnt combination, but no improvem
    Please let me know if any other logs or any other information is required.
    Thanks,
    Pershad

    One of the values in the oc4j-ra.xml has the below values:
    <connector-factory location="OracleASjms/MyXAQCF" connector-name="OracleASjms">
              <config-property name="jndiLocation" value="jms/XAQueueConnectionFactory"/>
              <config-property name="autoCloseSession" value="false"/>
              <connection-pooling use="private">
                   <property name="waitTimeout" value="300" />
                   <property name="scheme" value="fixed_wait" />
                   <property name="maxConnections" value="50" />
                   <property name="minConnections" value="0" />
              </connection-pooling>
              <security-config use="principal-mapping-entries">
                   <principal-mapping-entries>
                        <principal-mapping-entry>
                             <initiating-user>servletuser</initiating-user>
                             <res-user>jmsuser</res-user>
                             <res-password>-&gt;jmsuser</res-password>
                        </principal-mapping-entry>
                   </principal-mapping-entries>
              </security-config>
              <connectionfactory-interface>javax.jms.XAQueueConnectionFactory</connectionfactory-interface>
         </connector-factory>
    Where do we need to change ?
    Please suggest .
    Thanks

  • Question about the usage of wsdlRuntimeLocation property in BPEL process

    Hi,
    I have a BPEL process P1. And then I also have a BPEL process P2. Within P2, I invoke the process P1 using P1.wsdl in the following way -
    <partnerLinkBinding name="WshGetRefDataPL">
    <property name="wsdlLocation">http://rvishnuv-PC2:9700/orabpel/default/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl</property>
    </partnerLinkBinding>
    Then I tried adding the following property -
    <property name="wsdlRuntimeLocation">${domain_url}/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl</property>
    Then, when I try to deploy my process P2 after adding this in my bpel.xml I keep getting the error -
    Error:
    [Error ORABPEL-10903]: failed to read wsdl
    [Description]: in "bpel.xml", Error loading schemas from wsdl.
    Error while loading schemas from wsdl file at location "file:/H:/jdevhome/jdev/mywork/BPELProj/WshSendRefDataStlToOtm/WshSendRefDataStlToOtm.wsdl". The reason is The specified network name is no longer available.
    Please verify the schemas defined in wsdl.
    [Potential fix]: If your site has a proxy server, then you may need to configure your BPEL Server, designer and browser with your proxy server configuration settings (see tech note on http://otn.oracle.com/bpel for instructions).
    I also tried - <property name="wsdlRuntimeLocation">${domain_url}/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl/1.0</property>
    With this change, the process P2 gets deployed successfully, but I am running into the following runtime issue -
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="code">
    <code>WSDLReadingError</code>
    </part>
    <part name="summary">
    <summary>Failed to read wsdl. Failed to read wsdl at "http://rvishnuv-PC2:9700/orabpel/default/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl/1.0", because "WSDLException: faultCode=INVALID_WSDL: The document: http://rvishnuv-PC2:9700/orabpel/default/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl/1.0 is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.". Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly.</summary>
    </part>
    </remoteFault>
    I have also pasted process P2's bpel.xml below.
    Can you please let me know what I might be missing here?
    Thanks a lot for your help.
    Thanks
    Ravi
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="WshSendRefDataStlToOtm" src="WshSendRefDataStlToOtm.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">WshSendRefDataStlToOtm.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="WshGetRefDataPL">
    <property name="wsdlLocation">http://rvishnuv-PC2:9700/orabpel/default/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl</property>
    <property name="wsdlRuntimeLocation">${domain_url}/WshSendLocRefDataToOtm/WshSendLocRefDataToOtm?wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="SendRefDataToGC3PL">
    <property name="wsdlLocation">GLogXML.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    </BPELProcess>
    </BPELSuitcase>

    there is a nice article on this issue.
    http://www.oracle.com/technology/products/ias/bpel/pdf/bpel-admin-webinar.pdf
    Try another property to see if you have the same issue:
    Deployment in 10.1.2, String substitution, Only have support for:
    • server_url
    • domain_url
    • suitcase_url
    • suitcase_path
    bpel.xml
    <BPELSuitcase>
    <BPELProcess id="OrderBooking" src="OrderBooking.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="CreditRatingService">
    <property name="wsdlLocation">
    http://$(server_url)/orabpel/default/CreditRatingService?wsdl
    </property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    </BPELProcess>
    </BPELSuitcase>

  • Email Activity Not sending email when BPEL process fails

    In 11g SOASuite I have a BPEL process which does the following,
    1) Receive response from client
    2) Email activity - Notify with an id received in the request as content
    3) Insert data into a table using db adapter
    Whenever db adapter has some key violations or issues, I notice that no emails are getting dispatched. When I look at EM console it displays that txn has been rolled back after 3rd step. I understand that but it makes me ask this question,
    How can I make the process to send an email at step2 irrespective of an error that happens down stream at step-3? How to make email activity not part of this Txn scope?
    It works as expected(emails are dispatched) when there are no issues at step-3.

    Hi,
    In order to not rollback your transactions, you need to hit a dehydration point, meaning, save your process into the db store and perform a commit until that point.
    It sounds like a simple process, so you can drag a checkpoint activity after the email activity.
    That is one option. Try, and see if it works for you.
    Arik

  • A question about BPEL data formats

    Hi everyone,
    I am new to BPEL and have a question regarding the format of data "inside" BPEL variables. Perhaps someone can clear this up?
    When defining a variable in BPEL, I can either give it an XML Schema simple or complex type - or a "WSDL message type". I am confused with regard to the last one. A WSDL message has parts, and the parts have types themselves. These types, however, can be from an arbitrary type language. XML Schema is one possibility, but there might be others. I have two questions with regard to this:
    1) If I use some proprietary schema instead of XML Schema, can I handle data in this format in the BPEL process? I.e., can I assign "literal" data to the parts in my own format, and (if it is XML-based) manipulate it with XPath?
    2) WSDL allows the definition of styles and encodings in the concrete part. How does the conversion happen between what's on the wire (in the SOAP body) and inside the BPEL variables? I.e. when using RPC/Encoded, does the Oracle BPEL engine automatically convert everything into plain-XML-Schema-validated-XML and back or does RPC/Encoded XML show up inside the variables? What if the BPEL engine doesn't understand the concrete format?
    Thanks a lot!
    Reto

    Fabio,
    I am not sure I understood you clearly. But ODI uses the underlying technology of the target database to perform the CDC. There are several KMs for each technology that let you achieve the same.
    eg. For Oracle, a trigger based CDC is available which creates triggers on the underlying tables in the database to capture the changes.
    Also for Oracle, a Logminer based CDC is available which reads the Oracle logs to capture the changes made over to tables.

  • ESB errors not propagating to BPEL process

    I am working in SOA Suite 10.1.3.3. I have an asynchronous BPEL process that is orchestrating a number of ESB services, most of which perform database operations. Occasionally an attempt is made to insert a record into a table which results in an error (e.g., null value inserted into a non-null field, record already exists, non-existent record in parent table upon which current table depends, etc.). This correctly results in an error in the ESB service that shows up in the ESB Control console.
    The problem is that the error is NOT propagated upward to the invoking BPEL process (which contains all manner of fault catching branches to process the error, log it, send email notifications, and perform other database operations dependent upon the success or failure of the ESB operations). The BPEL process is therefore left "hanging" and never appears in the BPEL Control console as an instance. It shows up in the Manual Recovery queue as an essentially unrecoverable process.
    I am assuming that this change in behavior (such errors formerly propagated to the calling BPEL) is a direct result of the new Fault Handling Framework. My question is: what do I have to do in order to restore the original behavior of the system (ESB service encounters an error and propagates the fault to the async BPEL process, which catches it and does whatever it needs to do to fulfill the requirements of the overall system)? Is this something that can be handled by changes to the BPEL/ESB system configuration, the BPEL process definition, the ESB service definitions, or some combination thereof?
    Thanks for your time.
    Paul Camann

    Hello. We applied 10.1.3.3.1 MLR14 in late October 2008.
    We are seeing large numbers of errors like this in the ESB log ($ORACLE_HOME/j2ee/oc4j_soa/log/oc4j_soa_default_group_1/oc4j/log.xml):
    <MESSAGE>
    <HEADER>
    <TSTZ_ORIGINATING>2009-01-26T13:11:15.497-05:00</TSTZ_ORIGINATING>
    <COMPONENT_ID>tip</COMPONENT_ID>
    <MSG_TYPE TYPE="ERROR"></MSG_TYPE>
    <MSG_LEVEL>1</MSG_LEVEL>
    <HOST_ID>biwsvlbat027.gdbiw.com</HOST_ID>
    <HOST_NWADDR>1.2.3.4</HOST_NWADDR>
    <MODULE_ID>esb.server.service.impl.soap</MODULE_ID>
    <THREAD_ID>98</THREAD_ID>
    <USER_ID>oracle</USER_ID>
    <SUPPL_ATTRS>
    <ATTR NAME="J2EE_MODULE.name">provider-war</ATTR>
    <ATTR NAME="J2EE_APP.name">esb-rt</ATTR>
    <ATTR
    NAME="WEBSERVICE_PORT.name">__soap_Router_ODS_STAGE_Insert_ODS_STAGE_I_PortType</ATTR>
    <ATTR NAME="WEBSERVICE.name">ESB_Router_ODS_STAGE_Insert_Service</ATTR>
    </SUPPL_ATTRS>
    </HEADER>
    <CORRELATION_DATA>
    <EXEC_CONTEXT_ID><UNIQUE_ID>1232993475:1.2.3.4:7097:0:307</UNIQUE_ID><SEQ>5</SEQ></EXEC_CONT
    EXT_ID>
    </CORRELATION_DATA>
    <PAYLOAD>
    <MSG_TEXT>Exception while print response</MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[java.lang.NullPointerException
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage
    (EventOracleSoapProvider.java:215)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing
    (ProviderProcessor.java:956)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation
    (WebServiceProcessor.java:349)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing
    (ProviderProcessor.java:466)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest
    (WebServiceProcessor.java:114)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke
    (ServletRequestDispatcher.java:713)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal
    (ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest
    (HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest
    (HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run
    (ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run
    (ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    ]]></SUPPL_DETAIL>
    </PAYLOAD>
    </MESSAGE>
    which is possibly the message that would come back from ESB to BPEL failing?
    Thank you.

  • PeopleSoft Invoking BPEL process gets HTML returned and not XML

    I am executing a SyncRequestXmlDoc in PeopleCode to call a BPEL process.
    In an earlier demo environment this works fine and when I interrogate the log I get a correct Request and Response message :
    I have now installed SOA Suite and I am deploying to that and I now have a problem with the Call.
    It works.... but does not execute the BPEL Process.
    Investigation has found that the PeopleTools Synchronous Message log shows the failing call as returning the HTML form of the BPEL process instead of the XML.
    Detailed below are the request and response logs for the working process and then the failing process.
    The question is :
    Is the BPEL process launched by SOA suite being returned in HTML form because of a setting or configuration issue or .... ?
    I can run the failing process from the BPEL Console without any problems ?
    Working Call Logs
    Request message :
    <?xml version="1.0"?>
    <SOAP-ENV:Envelope xmlns:client="http://xmlns.oracle.com/POSyncComp" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <client:POSyncCompProcessRequest>
    <client:Customer>test2</client:Customer>
    <client:Item>1</client:Item>
    <client:Quantity>1</client:Quantity>
    <client:DeliveryDate>2007-08-02</client:DeliveryDate>
    </client:POSyncCompProcessRequest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    and a correct response :
    <?xml version="1.0"?>
    <soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <POSyncCompProcessResponse xmlns="http://xmlns.oracle.com/POSyncComp">
    <result/>
    </POSyncCompProcessResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    However with a new demo environment where I am using an SOA suite I get the response returned in HTML not XML
    Failing call logs shows html form in response
    Request Message :<?xml version="1.0"?>
    <SOAP-ENV:Envelope xmlns:client="http://xmlns.oracle.com/POSyncCompInt" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <client:POSyncCompIntProcessRequest>
    <client:Customer>test2</client:Customer>
    <client:Item>1</client:Item>
    <client:Quantity>1</client:Quantity>
    <client:DeliveryDate>2007-08-02</client:DeliveryDate>
    </client:POSyncCompIntProcessRequest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Response Message :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><head><title> Web Service</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style type="text/css" media="screen">A:link { font-family: Arial, Helvetica, sans-serif; color:#663300; background-color : #FFFFFF;}
    A:active { font-family: Arial, Helvetica, sans-serif; color:#ff6600; background-color : #FFFFFF;}
    A:visited { font-family: Arial, Helvetica, sans-serif; color:#996633; background-color : #FFFFFF;}
    A.navigation:link{font-family: Arial, Helvetica, sans-serif;font-size:65%;color:#996633;background-color : #FFFFFF;}
    A.navigation:active{ font-family: Arial, Helvetica, sans-serif; font-size:65%; color:#996633; background-color : #FFFFFF;}
    A.navigation:visited{ font-family: Arial, Helvetica, sans-serif; font-size:65%; color:#996633; background-color : #FFFFFF;}
    BODY, P, LI, UL, OL { font-family: Arial, Helvetica, sans-serif; font-size:12px; color:#000000; background-color : #FFFFFF;}
    H1 { font-family: Arial, Helvetica, sans-serif; font-size:150%; color:#336699; background-color : #FFFFFF; border : solid #CCCC99; border-width : 0px 0px 2px 0px; width : 100%;}
    H2 {font-family: Arial, Helvetica, sans-serif; font-size:120%; color:#336699; background-color : #FFFFFF; border : solid #cccc99; border-width : 0px 0px 2px 0px; width : 100%;}
    H3 {font-family: Arial, Helvetica, sans-serif;font-size:110%;color:#336699;background-color : #FFFFFF;width : 100%;}
    H4 {font-family: Arial, Helvetica, sans-serif;font-size:10pt;color:#000000;background-color : #FFFFFF;font-weight: bold;width : 100%;}
    P.indent {text-indent: 9%;}
    .testpage-message-body-editor { margin: 10 0 10px 10px; font-size: 12px; }
    .testpage-complex-editor { margin: 10 0 0 10px; font-size: 12px;}
    .testpage-complex-editor-body { margin: 10 0 0 10px; }
    .testpage-complex-editor-part {     margin: 10 10 0 10px; }
    .testpage-header-editor { margin: 10 0 30 10px; font-size: 12px; }
    .testpage-header-editor-part { margin: 0 0 10 0px; font-size: 12px; }
    .testpage-simpletype-type-tag { color: rgb(128, 0, 128); padding: 0px;     font-size: 12px; margin: 0 2 0 10px; }
    .testpage-simpletype-tag {color: blue; font-size: 12px; margin: 0 6 0 2px; text-align:right; }
    .testpage-complextype-tag {color: black; font-size: 12px; font-weight: bold;}
    .testpage-input {font-size: 12px; text-align:left; }
    .testpage-input-box {border: 1px solid dimgray; font-size: 12px; text-align:left;}
    .testpage-dropdown { font-size: 12px;}
    .testpage-dropdown-box {font-size: 12px;}
    .testpage-arraytype-tag {color: black; font-size: 12px; font-weight: bold;}
    .testpage-array-element-tag { margin: 0 0 0 10px; }
    .testpage-array-element { margin : 10px; background-color: #FFFFFF; background-image: url("med_sub_BG.gif"); }
    .testpage-arraytype-adder { font-size: 12px; }
    .testpage-checkbox { height: 12px; width: 12px; margin: 2 2 3 0px; }
    table {border-spacing: 0;}
    td {padding: 1px 4px 1px 4px; width: 130px; }
    .testpage-invocation-textarea { margin: 10px 0 0 10px; font-size: 12px; border-top: solid #95b7cd 1px;
    border-left: solid #95b7cd 1px; border-bottom: solid #95b7cd 1px; border-right: solid #95b7cd 1px; }
    .testpage-invocation-button { margin: 10px 0 10px 150px; font-size: 12px;}
    .testpage-array-remove { background-image: url(http://etcintel01.uk.oracle.com:7777/orabpel/InternalCompany/POSyncCompInt/1.0?tp_delete_png);  background-repeat: no-repeat; clear: both; display: inline-block; }
    .testpage-array-add { background-image: url(http://etcintel01.uk.oracle.com:7777/orabpel/InternalCompany/POSyncCompInt/1.0?tp_add_png);  background-repeat: no-repeat; clear: both; display: block; position: relative; left: 1px}
    .xmlViewer {font-family: monospace; height: 300px; width: 95%; overflow: auto; position: relative; left:0px;}
    .xmlViewer2 {font-family: monospace; height: 85%; width: 95%; overflow: auto; position: relative; left:0px;}
    .xmlTag {color: #336699; background-color: transparent; font-weight: bold;}
    .xmlAttName {color: #990000; background-color: transparent}
    .xmlAttEqual {color: #006699; background-color: transparent}
    .xmlAttValue {color: #0033cc; background-color: transparent}
    .mode-select { margin: 0 0 0 10px;}
    .extras { margin: 10px 0 0 0px; font-size: 12px; }
    .expander-open {background-image: url(http://etcintel01.uk.oracle.com:7777/orabpel/InternalCompany/POSyncCompInt/1.0?tp_disclosure_expanded_png); background-repeat: no-repeat; background-position: center; display:inline-block;}
    .expander-closed { background-image: url(http://etcintel01.uk.oracle.com:7777/orabpel/InternalCompany/POSyncCompInt/1.0?tp_disclosure_collapsed_png); background-repeat: no-repeat; background-position: center; display:inline-block;}
    div.bar {width:85%; padding-left:15px; border-color: rgb(128,128,128);border-width: 0px 0px 1px 0px ; border-style:solid; line-height: 0}
    div.container {position:relative; border-width:1px; border:solid #95b7cd 2px; margin-top:20px;padding-top:20px}
    div.operation {position:absolute; top:-12px; left:40px; background-color:white}
    a .alt { visibility: hidden; position: relative; left: -4px; }
    </style>
    </head><body onLoad="javascript:buildEditor()">
    <h1>POSyncCompInt endpoint</h1>
    <p>For a formal definition, please review the Service Description.</p>
    <p>Download the JavaScript Stub (<i>BETA</i>) for POSyncCompIntPort and see its documentation.</p>
    <script type="text/javascript" src="http://etcintel01.uk.oracle.com:7777/orabpel/InternalCompany/POSyncCompInt/1.0?BPEL_OC4J_Servlettest.js"></script>
    <script type="text/javascript">
    // Copyright © 2003, 2006, Oracle. All rights reserved.
    function switchOperation(selection) {
    submit_to_self();
    function switchMode(newMode) {
    submit_to_self();
    function submit_to_self() {
    var f = document.forms['CreateMessage'];
    f.action = "/orabpel/InternalCompany/POSyncCompInt/1.0";
    f.submit();
    function toggleHttpParams(transBox) {
    var transportParams = document.getElementById("http-params");
    if (transBox.checked) {
    transportParams.style.display = "block";
    } else {
    transportParams.style.display = "none";
    function handleStressInfo( stressCheckBox ) {
    var initiateForm = document.forms['CreateMessage'];
    if( stressCheckBox.checked ) {
    // User is requesting stress test
    // change the address of the form
    initiateForm.action = "/orabpel/InternalCompany/POSyncCompInt/1.0?stressTest=";
    } else {
    // The user does not want a stress test
    // change the address of the form
    initiateForm.action = "/orabpel/InternalCompany/POSyncCompInt/1.0";
    function buildEditor() {
    var wsm_interceptors = [];
    wsm_interceptors[0] = "reliability";
    wsm_interceptors[1] = "security";
    var node = document.getElementById("editor");
    var editor = findEditors("process", wsm_interceptors);
    editor.build(node);
    syncFormRadioField('mode_html', true);
    syncFormRadioField('mode_xml', false);
    syncFormSelectField('operationName', 'process,,');
    var soapAction = document.getElementById("soapAction");
    soapAction.value = "process";
    var soapAction_cb = document.getElementById("soapAction_cb");
    soapAction_cb.checked = "true";
    </script>
    <h2>POSyncCompIntPort</h2>
    <form name="CreateMessage" action='/orabpel/InternalCompany/POSyncCompInt/1.0?invoke=' method="POST" onSubmit="javascript:return validateAllAtomicInputs(this);">
    <input type="hidden" name="contentType" value="text/xml" >
    <input type="hidden" name="portName" value="POSyncCompIntPort" >
    <input type="hidden" name="serviceName" value="POSyncCompInt" >
    <input type="hidden" name="serviceNamespace" value="http://xmlns.oracle.com/POSyncCompInt" >
    <div class="container">
    <div id="mode-select" class="operation">
    Operation
    : <span id="operationSelect">
    <select class="testpage-input-box" id="operationName" name="operationName"
    onchange="switchOperation( this.value ); return true;">
    <option value="process,," SELECTED>process</option></select>
    </span>
       <span style="align: right" class="testpage-edit-modes">
    <input id="mode_html" name="mode" type="radio" onclick="switchMode( this.value ); return true;"
    VALUE="html" Checked />
    HTML Form</span>
    <input id="mode_xml" name="mode" type="radio" onclick="if(!validateAllAtomicInputs(this.form)){ this.checked = false; document.getElementById('mode_html').checked = true; } else { switchMode( this.value ) }; return true;"
    VALUE="xml" />
    XML Source
    </div>
    <div id="editor"></div>
    </div>
    <div>
    <p><i>Note: XML source view contents will not be reflected in the HTML form view</i></p>
    </div>
    <div class="extras">
    <label>
    <span><a class="expander-closed" id="tp_http_transport" href="javascript:toggleExpand('http-params','tp_http_transport')"><span class="alt">---</span></a></span>
    <span>Show Transport Info</span>
    </label>
    <div id="http-params" class="extras" style="font-size:12px;padding-left:20px;display:none">
    <table><tr>
    <td class="testpage-input">HTTP Authentication
    </td><td class="testpage-input"><input type="checkbox" class="testpage-checkbox" name="transport-enablement" style="font-size:12px; margin-left:10px"> Enable
    </td>
    </tr><tr><td>
    <table><tr><td class="testpage-input">
    User Name</td><td><input class="testpage-input-box"
    type="text"
    name="form_user"/></td>
    </tr>
    <tr><td class="testpage-input">
    Password</td><td><input class="testpage-input-box"
    type="password"
    name="form_password"/>
    </td></tr>
    </table>
    </td></tr>
    </table>
    <div id="soap-action" class="extras">
    <label>
      SOAP Action  
    </label>
    <span id="testpage-soap-action" class="extras">
    <input class="testpage-input-box" type="text" id="soapAction" name="soapAction" size="35"/>
    </span>
    <span><input type="checkbox" class="testpage-checkbox" name="soapAction_cb" id="soapAction_cb"
    onclick="javascript:toggleDisabled(this, 'soapAction')" style="font-size:12px; margin-left:10px"/> Enable</span>
    </div>
    </div>
    </div>
    <div id="stress" class="extras">
    <div>
    <span><a class="expander-closed" id="tp_stress_info" href="javascript:toggleExpand('stressInfo','tp_stress_info')"><span class="alt">---</span></a></span>
    <span>Perform stress test</span>
    <span> <input type="checkbox" class="testpage-checkbox" name="stress" onclick="handleStressInfo( this )" style="font-size:12px; margin-left:10px"><span> Enable </span></span>
    <div id="stressInfo" style="font-size:12px;padding-left:20px;display:none">
    <table cellpadding="1" cellspacing="0" width="100%" summary="">
    <tr>
    <td width="300" class="testpage-input">
    Number of Concurrent Threads </td>
    <td class="testpage-input">
    <input type="text" name="stress_threadCount" value="10" size="4" />
    (threads) </td>
    </tr>
    <tr>
    <td class="testpage-input">
    Number of Loops </td>
    <td class="testpage-input">
    <input type="text" name="stress_loopCount" value="5" size="4" />
    (loops) </td>
    </tr>
    <tr>
    <td class="testpage-input">
    Delay </td>
    <td class="testpage-input">
    <input type="text" name="stress_delay" value="1000" size="4" />(milliseconds) </td>
    </tr>
    </table>
    </div>
    </div></div>
    <input type="hidden" name="reliability" value="true"/>
    <input type="hidden" name="security" value="true"/>
    <input align="right" name="invokeMessage" type="submit" value="Invoke" class="button"/><div id="validation_error_message"></div>
    </form>
    <h2> </h2>
    <p><font face="Arial" size="1">Copyright &copy; 2003, 2006, Oracle. All rights reserved.</font></p>
    </body></html>
    Is this a setting or configuration problem in my SOA suite install ?
    Needless to say the BPEL process does not execute.
    Can anyone help ?

    Hi Lonneke
    Thanks for responding....
    You are correct in seeing that the two services are different in name.
    However they are identical in function.
    I created the service POSyncComp in my earlier version of JDev and deployed it to my local OC4J.
    Which is launched by a PeopleSoft call using PeopleCode.
    I have now rewritten this service in my new JDev and called it POSyncCompInt and deployed to home in an SOA suite implementation.
    So whilst I test and before I roll the original service call out, I have both.
    I have duplicated the PeopleCode and tweaked the message call, so that for testing purposes, and before I drop the current working version I have both calls in my PeopleCode event.
    The original POSyncComp call still works, but the call to the 'new replacement' does not.
    Hence the log shows both calls.... with slightly different names.
    The strange thing is that the PeopleSoft LOG shows very similar code in the Request Message, but the response from the new call shows the HTML Form that I get if I run the second BPEL process from the SOA BPEL console.
    So it looks like it is addressing the URL correctly.... but it suggests that stand alone OC4J returns a different response to the SOA suite which I am using for the new version of the BPEL process.... Is this configuration ?
    It hints at the xsd file and the complex message type at entry to the BPEL process.
    I can run the new process from the SOA suite BPEL Console with no problems.
    I hope that clarifies your question about two different service names

  • Reg: SQL select Query in BPEL process flow

    <p>
    Hi,
    I am suppose to execute a SQL select query (in BPEL Process flow) as mention below in JDeveloper using Database adapter.
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;xyz&gt;
    </p>
    <p>
    AND OBJECT= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    <strong>Now my question is:
    1.</strong> What does this "*" refer to in the query and how can I retrieve the value of LENGTH*WIDTH* HEIGHT from the query where LENGTH,WIDTH and HEIGHT are the individual field in the table.
    2.What does this " AS" refer to? If " ITEM_CUBE " is the alies for the table name "ITEM" to retrieve the value, then query shoud be evaluated as
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE <strong>ITEM_CUBE.ITEM</strong>= &lt;xyz&gt;
    </p>
    <p>
    AND <strong>ITEM_CUBE.OBJECT</strong>= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    Is my assumption correct?
    Please suggest asap.
    Thanks...
    </p>
    <p>
    </p>

    Hi
    Thank for your reply!
    I have a nested select query which performs on two different table as shown below:
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;abc&gt;
    </p>
    <p>
    AND OBJECT= (SELECT NAME FROM SUPPLIER WHERE ITEM=&lt;Item&gt; AND SUPP_IND = &lsquo;Y')
    I am using DB adapter of Oracle JDeveloper in BPEL process flow, where I can able to select only one master table in DB adapter say SUPPLIER and its attributes at a time.But as per my requirment I need to select both the table (CUBE and SUPPLIER) in a single adapter to execute my query.
    It can be achievable by using two DB adapter , One to execute the nested query and another to execute the main qyery considering value of nested query as a parameter.But I want to achieve it by using a single one.
    Am I correct with my concept?
    Please suggest how to get it ?
    </p>
    Edited by: user10259700 on Oct 23, 2008 12:17 AM

  • Multiple BPEL Process Managers in one environment?

    Hi,
    I'm quite new to the Oracle SOA product line, so please be gentle when my question doesn't make sense.
    I’m in the process of designing a new enterprise architecture based on service orientation. I’m looking at the Oracle SOA Suite software to get a better understanding of what things will look like when getting to the actual implementation.
    Some internal projects are moving fast, so I’m trying to get an understanding on how things will work out in the future. One case has my current attention, related to the BPEL Process Manager.
    A 3rd party vender is offering a specific solution which is using or based on the BPEL Process Manager. This solution can be purchased as a black-box. From the perspective of my new architecture I would like to purchase the SOA suite as a whole. New developments will most likely be using the BPEL Process Manager for orchestration. But when purchasing the black-box application, the environment will be extended with an extra BPEL Process Manager. My first thought is to try and incorporate the BPEL processes from the 3rd party vendor onto one single BPEL Process Manager. But I also think two BPEL Process Managers can have advantages.
    I’m not sure how to go forward with this. How should I handle this? Is it common to have multiple BPEL Process Managers in one environment or should I pursue maximum integration and only go for one BPEL Process Manager?

    Hi,
    We have similar situation at my current client site and we are going with two seperate BPEL PM installs for various reasons. One of the main driver in our case is conflicting in timelines of two seperate projects.
    But my suggestion is to go with single enterprise install if that's not breaking the 3rd-party vendor supporting contracts. This has obviously benefits of redecued infrastructure/administrative and other related costs. How many processes does the vendor has as part of their solution? If they are handful you know it doesn't justify having seperate environments.
    On the otherhand having two seperate installs isn't bad either depending on how big or small your SOA service/process orchestration footprint is. We don't have complete handle on the performance/scalability aspects of BPEL PM based on number of processes deployed. But as you can see that may be one of drivers to have redundancy in BPEL PM servers.
    End of the day there is no clear cut answer. If you have funding and resources, go with two seperate instances. But from architectural perspective better to have single install with clustering for better performance/scalability.
    HTH
    Regards,
    Rajesh

Maybe you are looking for

  • PSE 10 Keeps freezing EVERY TIME I try to open it.

    I have a less than 3 year old MacBook Pro running OS 10.8.3.  I purchased elements 10 NEW in october 2012. EVERY TIME I try to open elements 10  Editor, it freezes before I can do anything. I have looked in other discussions. Tried to restart from an

  • Why is there NO way to change the credit card info to pay for ICloud services??

    Currently I am being asked for a 3 digit verification number to a credit card that is no longer valid.  Why is there no way to change the credit card info on ICloud services?

  • Error click on datawindow in webform

    I have a window that contained a datawindow, and migrate successful to webform, when Clicked to the column of the datawindow , an error came out : I had also disable all the script in all events of the datawindow, but still the same error.

  • Local snapshots missing

    Lion via Time Machine is supposed to create "local snapshots" on my boot volumn. This is explained by Apple here-http://support.apple.com/kb/HT4878. About this Mac shows I have 1.8 GB of back ups indicating local snapshots have been created. However,

  • ML clean install on 2013 Mac Mini - not working

    Hello guys, I have a weird problem with my new Mac Mini. I received it yesterday, the first thing I wanted to do was to format "Macintosh HD" and do a clean install of Mountain Lion using a bootable USB. I will be using the computer only for audio co