Message protection (Encryption) through OWSM in BPEL process 11g

What is my requirements ?_
I want to encrypt the messages in BPEl process using OWSM message protection policies
What is the configuration i am using ?_
Weblogic Server 10.3.3
Soa Server 11.1.1.3.0
Oracle JDeveloper 11.1.1.3.0
What I have done so far ?_
(1) Created one Sync BPEl process (CalledAddition) which take two input and add them and give the output
(2) Created one more Sync BPEL process (CallerProcess) which takes two input and call the above created bpel process
(CalledAddition) and get the response back as addition of two number.
Now I want to Add OWSM Message protection policy to Encrypt the message in Main BPEl process(CallerProcess) and the called service (CalledAddition) decrypt the message upon invocation. It is a very simple scenario.
For this purpose I have done the following OWSM Policy Configuration:
(1) Created a java keystore as follows
keytool -genkey -keyalg RSA -keystore test_keystore.jks -storepass welcome1 -alias client_key -keypass welcome1 -dname "CN=Client, OU=WEB AGE, C=US" -keysize 1024 -validity 1460
(2) Copy the keystore (test_keystore.jks) to location domain/config/fmwconfig.
(3) Go to EM console/WeblogicDomain/Security/Credential and delete the map oracle.wsm.security and then again created it, with no key inside.
(4) Go to EM console/WeblogicDomain/Security/SecurityProviderConfiguration and configure the above created keystore as follows:
(i) Keystore Type=JKS, Keystore Path=./test_keystore.jks, password=welcome1, confirmPassword=welcome1
(ii) Signature Key:
Key Alias=client_key, Signature Password=welcome1, confirmPassword=welcome1
(iii)Encryption Key:
Crypt Alias=client_key, Crypt Password=welcome1, confirmPassword=welcome1
(5) Now restart the server (both Weblogic and SOA server)
(6) Now again go to EM console/WeblogicDomain/Security/Credential and open expand the oracle.wsm.security map, Automatically
the following keys are made inside it:
(i) sign-csf-key
(ii) enc-csf-key
(iii) keystore-csf-key
Created one more key inside it explicitly:
(iv) basic.credentials with username=weblogic and password=welcome1
(7) Go to EM console/WeblogicDomain/WebServices/Policy and cretaed the following policies:
oracle/wss11_message_protection_service_policy:
(i) select policy oracle/wss11_message_protection_service_policy from list and click on create like button. This will create a copy of the policy with different name.
(ii) Give the new name as oracle/wss11_message_protection_service_policy_Copy ( which is by default)
(iii) Local Optimization = off and enabled is checked
(iv) Attachment Attributes …..
Applies To=Service BIndings and Service Category=Service Clients
(v) Assertions …..
Select middle assertion MessageProtection and Advertised=checked and Enforced=checked
(vi) Configuration....
Add following Configure properties, if present already edit them as follows:
(a) name=keystore.enc.csf.key, property set=standard-security-properites, value=enc-csf-key, Type=Optional
(b) name=keystore.sig.csf.key, property set=standard-security-properites, value=sign-csf-key, Type=Optional
(c) name=role, property set=standard-security-properites, Default=ultimateReceiver, Type=Optional
(v) Setting.........
Done the following setting
- Message Security/include timestamp=unchecked
- Message Signing Setting/Include entire body=unchecked (since we need only encryption, no signing of message)
- Message Encrypt Setting/include entire body=checked
(vi) Validate and save
(vi) Thus a new policy is made in domain with name oracle/wss11_message_protection_service_policy_Copy
Simmilarly create oracle/wss11_message_protection_client_policy:
(ii) Give the new name as oracle/wss11_message_protection_client_policy_Copy ( which is by default)
(iv) Attachment Attributes …..
Applies To=Service BIndings and Service Category=Service Endpoint
(vi) Configuration....
Add following Configure properties, if present already edit them as follows:
(a) name=keystore.recipient.alias, property set=standard-security-properites, value=client_key, Type=Optional
(b) name=role, property set=standard-security-properites, Default=ultimateReceiver, Type=Optional
(vi) Thus a new policy is made in domain with name oracle/wss11_message_protection_client_policy_Copy
Rest of the steps(i,iii and v) are same as described above in case of service policy
After creating the policies in domain attach them to the bpel process as follows:
(1) Go to SOA project (CallerProcess) in EM console.
(2) Click on policy tab
(3) First attach the client policy (oracle/wss11_message_protection_client_policy_Copy) to the endpoint of the process CallerProcess.
(4) Then attach the service policy (oracle/wss11_message_protection_serivce_policy_Copy) to the reference in CallerProcess which is calling CalledAddition.
(5) Now test the process (CallerProcess)
pass input say 10 and 20 in input
Upon testing it give the following error_
Web Service invocation Failed:
oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: InvalidSecurity : error in processing the WS-Security security header
I have made all thing clear. I have gone through several documents but unable to find the solution. If anyone please help me in this case.
Thanks

I have followed same steps and getting same errror.
User 868153, were you able to resolve this issue.
Appreciate your help.
Thanks

Similar Messages

  • Calling OWSM Secured BPEL Process from JAVA

    HI,
    I have created OWSM gateway and registered BPEL process under that.
    Now i want to call that BPEL process from java class. Can anybody please tell me how can i pass the security SOAP header.
    Here is the class i am using ...
    package com.javarpc;
    import java.rmi.RemoteException;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    import org.apache.axis.client.Call;
    import org.apache.axis.message.SOAPBodyElement;
    import java.io.InputStream;
    import java.io.ByteArrayInputStream;
    public class CallHelloWorld
    private static QName SERVICE_NAME;
    private static QName PORT_TYPE;
    private static QName OPERATION_NAME_IN;
    private static String SOAP_ACTION;
    private static String STYLE;
    private static String THIS_NAMESPACE = "http://xmlns.oracle.com/HelloWorld";
    private static String PARAMETER_NAMESPACE = "http://xmlns.oracle.com/HelloWorld";
    private String location;
    static
    SERVICE_NAME = new QName(THIS_NAMESPACE,"HelloWorld");
    PORT_TYPE = new QName(THIS_NAMESPACE,"HelloWorld") ;
    SOAP_ACTION = "process";
    /*Setting for Wraped style of calling*/
    //STYLE = "wraped";
    //OPERATION_NAME_IN = new QName(THIS_NAMESPACE,"HelloWorldProcessRequest");
    /*Setting for Message style of calling*/
    STYLE = "message";
    OPERATION_NAME_IN = new QName(THIS_NAMESPACE,"process");
    public void setLocation(String location)
    this.location = location;
    public void initiate(String symbol)
    try
    /* Create Service and Call object */
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    Service service = serviceFactory.createService( SERVICE_NAME );
    Call call = (Call)service.createCall( PORT_TYPE );
    /* Set all of the stuff that would normally come from WSDL */
    call.setTargetEndpointAddress( location );
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
    call.setProperty( Call.OPERATION_STYLE_PROPERTY , STYLE );
    call.setOperationName(OPERATION_NAME_IN);
    /*Setting Input for message type and invoke web service through message style*/
    String strXMLInput="<HelloWorldProcessRequest xmlns=\"http://xmlns.oracle.com/HelloWorld\">";
    strXMLInput+="<enovia>test</enovia>";
    strXMLInput+="</HelloWorldProcessRequest>";
    SOAPBodyElement[] requestSBElts = new SOAPBodyElement[1];
    InputStream resultInputStream = new ByteArrayInputStream(strXMLInput.getBytes());
    requestSBElts[0] = new SOAPBodyElement(resultInputStream);
    System.out.println(requestSBElts[0]);
    java.util.Vector output = (java.util.Vector) call.invoke(requestSBElts);
    System.out.println( "HelloWorld BPEL process initiated by message " +output);
    /*Setting Input for message type and invoke web service through wraped style
    call.addParameter(new QName(PARAMETER_NAMESPACE,"input"), XMLType.XSD_STRING, ParameterMode.IN);
    //call.setReturnType(new QName("XMLType.XSD_STRING"));
    // call.setReturnType(new QName("String"));
    Object[] params = new Object[1];
    String outPut = new String();
    params[0] = symbol;
    call.invokeOneWay(params);
    //Object ret;
    //ret = (String) call.invoke( params );
    System.out.println( "HelloWorld BPEL process initiated" );*/
    catch (SOAPFaultException e)
    System.err.println("Generated fault: ");
    System.out.println (" Fault Code = " + e.getFaultCode());
    System.out.println (" Fault String = " + e.getFaultString());
    catch (JAXRPCException e)
    System.err.println("JAXRPC Exception: " + e.getMessage());
    catch (ServiceException e)
    System.err.println("Service Exception: " + e.getMessage());
    catch (RemoteException e)
    System.err.println("RemoteException: " + e.getMessage());
    public static void main(String[] args)
    String symbol = "Kevin";
    // String location = "http://valizprd208.val.cummins.com:7777/orabpel/tst/HelloWorld/1.0";
    String location = "http://integrationvaldlv.cummins.com:7777/gateway/services/SID0003002?wsdl";
    CallHelloWorld client = new CallHelloWorld();
    client.setLocation( location );
    client.initiate( symbol );
    }

    You can get sample input by intercepting the request to check what exactly you need to put in SOAP header and what in body.
    To manipulate soap header you can look at : http://www.oracle.com/technology/sample_code/tech/java/codesnippet/webservices/soapheader/index.html
    HTH
    Chintan

  • Data not display in BAM Dataobject through sensor in Bpel process.

    Hi,
    I am trying to integrate BAM with BPEL process in oracle 11g. I have created BAM Activity and variable sensor
    in BPEL process but when i run my BPEL process then no data is display in BAM corrsponding to it. Error is coming at backend "not able to invoke writeToBAM operation in BAM Adapter".
    Also this error is coming at SOA server console:
    Exception: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'writetoBAM' failed due to: javax.security.auth.login.LoginException: [Security:090304]Authentication Failed: User javax.security.auth.login.LoginException: [Security:090301]Password Not Supplied".
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution
    Thanks in Advance

    Hi,
    I am trying to integrate BAM with BPEL process in oracle 11g. I have created BAM Activity and variable sensor
    in BPEL process but when i run my BPEL process then no data is display in BAM corrsponding to it. Error is coming at backend "not able to invoke writeToBAM operation in BAM Adapter".
    Also this error is coming at SOA server console:
    Exception: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'writetoBAM' failed due to: javax.security.auth.login.LoginException: [Security:090304]Authentication Failed: User javax.security.auth.login.LoginException: [Security:090301]Password Not Supplied".
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution
    Thanks in Advance

  • OWSM EMPTY BPEL PROCESS VIRTUALIZATION PROBLEM!!!!!!!!!!

    Hi,
    I developed an EMPTY BPEL PROCESS which gets instantiated by a FILE ADAPTER . I am trying to virtualize the process by using OWSM GATEWAYS, but get error when i test it in the test page option unders tools link in OWSM MONITOR.
    I am also not sure about the efficacy of using gateways to virtualize an EMPTY BPEL PROCESS.
    CAN WE USE GATEWAYS TO VIRTUALIZE AN EMPTY BPEL PROCESS INITIATED BY A FILE ADAPTER???????
    Regards,
    Vishnu

    Hi,
    I developed an EMPTY BPEL PROCESS which gets instantiated by a FILE ADAPTER . I am trying to virtualize the process by using OWSM GATEWAYS, but get error when i test it in the test page option unders tools link in OWSM MONITOR.
    I am also not sure about the efficacy of using gateways to virtualize an EMPTY BPEL PROCESS.
    CAN WE USE GATEWAYS TO VIRTUALIZE AN EMPTY BPEL PROCESS INITIATED BY A FILE ADAPTER???????
    Regards,
    Vishnu

  • Processing messages sequentially in a Queue-Oracle BPEL process

    Hi,
      What are the settings we need to dof for sequential processing of the data in a queue.Is there a way we can do it with ot UnitofOrder and UnitofWork approach?My requirement is to process teh messages in a queue in FIFO order.I tried setting the maximum messages per session to 1 in connection-factory(Admin console).But it din't work.Please advice.
    Thanks

    Thanks for the response.I am using JMS queue.Also, I will not be able to use staging tables.Here is my requirement.
    I will read a file in batches and need to update audit table with each batch information(Total records in a batch, errors in a batch, time taken to process etc). we will create a batch record for each batch and  summary record for the first batch and when we execute the second batch, we will update the summary record with the 2nd batch details  and then3rd batch details etc.So, I need  all the batches to be processed sequentially.I beleive there should be some setting that will allow sequnetial processing.
    Thanks

  • OWSM 11g: Message Protection

    Hi All,
    I have earlier woked on OWSM 10g and implemented XML encryption and decryption. Now,I am trying to implement message protection(encryption and decryption) using OWSM 11g policies. The sample scenario consists of two web services OWSM_11g and OWSM_11g_client. The message send from OWSM_11g_client should be encrypted and signed and OWSM_11g needs to verify the signature and decrypt the message.
    Here is what i have done so far.
    a.) I have attached oracle/wss10_message_protection_client_policy to OWSM_11g and oracle/wss10_message_protection_service_policy to OWSM_11g_client.
    b.) I have configured a keystore for weblogic domain exactly as explained in the following article http://www.ora600.be/node/5000
    c.) I have enabled the logging assertion for oracle/wss10_message_protection_client_policy & oracle/wss10_message_protection_service_policy.
    The message flow between the services is proceeding without any errors. There are two problems that I am facing here:
    a.) I cannot view SOAP message in the message logs to verify the encrytion and decryption.
    b.) It seems that I may be missing out some configuration parameters as specified in the documentation required to apply above policies.
    Any inputs regarding this would be greatly helpful.

    Hi there,
    I can suggest the following to you and hopefully it should work:
    a.) Instead of using the default keystore you should set up a new keystore for the weblogic domain. You may follow the guidelines as described in the following article: http://www.ora600.be/node/5000
    b.) Specify the keystore.recipient.alias (public key which maps to client_key according to the above article) at per-client basis using the Security Configuration Details and keystore.enc.csf.key (private key which again maps to client_key according to the above article).
    c.) message_protection_client_policy and message_protection_service policy are made up of assertion templates. So, Go to the web services policy page and enable the loggin assertion for each of the policies. Here, in case both the composites are on the same soa server then, you need to turn off the local optimization. Read the above post by Ronald which explains this lucidly. On this page you may change setting for the request and response messages.
    d.) You need to check the following log file to view the soap messages logged by the assertions to verify encryption and decryption domains\soa_domain\servers\AdminServer\logs\owsm\msglogging\diagonstic.log
    Here I was able to encrypt and sign the message when both the composites were in the same soa server. However when they were in different soa server some server side error was occuring. You may try the same as an addtional exercise and update me in case you succeed.
    In case you still face any problems I will be glad to help you out.
    Regards,
    Shomit

  • Issue in invoking a BPEL process (having a DB Adapter) from ESB

    Dear All,
    I am having an issue while invoking a ESB process (Batch file mode) which inturn will call a second BPEL process which will invoke the Oracle APPS standard API ego_item_pub.process_items to create an item in Inventocry, through a DB adapter
    I am able to create the Item and API is working when I pass the input XML through the second BPEL process.
    But when invoking through the ESB process which will invoke the BPEL process, based on the polling to the batch file from the ESB. This is done through an FTP adapter in ESB.
    The Issue is that while invoking from ESB, through batch file. The PL/SQL API is throwing error from the standard API 'ego_item_pub.process_items'
    But it works fine if I invoke the BPEL process individually.
    What might be the problem for this and how can I fix this..
    Please update..
    Many thanks in advance ...

    Hi,
    We tried the same thing and it worked for us. In our scenario we had a BPEL process calling a ESB and then this ESB calling another BPEL process which inturn calls the API. I agree with James it seems more of a Data issue/or your XSD is not proper i.e the XSD that you ESB process is having. If you have created a ESB and then changed the BPEL process afterward the issue you mentioned will come. Please run the process in DEBIG mode and provide the domain.log file.
    Regards
    Sahil
    http://soab2bsahil.blogspot.com

  • BPEL Process CurrencyExchangeList BUG or Limitation...its part of Oracle PIPs for AIA,

    Hi All,
    The BPEL process CurrencyExchangeListEbizJMSProducer is a Oracle standard process (PIPs) , but still we are getting the error.
    The below error in red I took from server log file.
    We are getting an error in Production environment while a BPEL process producing (enqueue) a message to a JMS queue by using JMS adapter. (partener link)
    We are using Orcacle 10G SOA suite with OC4J server and AIA 10G.
    Please note that we are not getting this error every time,  few BPEL instances are getting this error, around 4 out of 10 instances.
    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 all the below JMS tunings with different combination, but not no improvement.
    <property name="useJCAConnectionPool">true</property>
    <property name="maxSizeJCAConnectionPool">500</property>
    <property name="retryMaxCount">10</property>
    <property name="retryInterval">60</property>
    First we are taking these messages from BPEL_Q_TAB (business event) by Apps adapter then sending to JMS Queue. So, throttling also not working as this is apps adapter.
    I tried "minimumDelayBetweenMessages">1000</property> in the apps adapter while consume the message from Business Event Q (BPEL_Q_TAB).
    But it didn’t work, there was no delay happened while picking the messages.
    Please let me know if there is any fix for this issue, otherwise pls let me know is there any way to throttle the apps adapter.
    Thanks,
    Pershad

    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

  • 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

  • User Task in a BPEL Process

    I'm making an ASP .NET websites that calls to a BPEL Process. This BPEL Process receives an ID and make three calls to three web services that search this ID in three diferent databases containing data about books. The process selects the cheapest of the books found. Once this is made, I want to make tha process ask the user if he wants to boy the book and the user must to answer yes or no. The process must comunicate with the user by an ASP .NET web page. I suppose I have to use an User Task to make this possible but I don't know how to use user tasks so can anybody help me telling me where can I find a good tutorial that explains to me how to make that?
    Please help!!
    Thank you very much!!

    with 10.1.2.02 this is really hard, becaus eyou need to expose the worklist API through webservices itself (bpel process) - with 10.1.3.1 the whole worklist is WS enabled, so then it should be super straight and easy..
    best clemens

  • Please advise regarding implementing pub/sub in a BPEL process.

    Hi guys,
    Requirement
    The customer information comes as HTTP/SOAP message and is sent to the BPEL process as input. BPEL uses ESB and database adapters to create the customer in Oracle apps. Now, we need to send the same customer information with the Oracle apps customer number to some other systems. The number of systems is not know at this time, so we need a pub/sub mechanism where we can publish the customer creation event with the required parameters (customer name, number, etc.). Then we just create subscriptions to that event as an when required. This gives us the flexibility to add subscriptions withougt changing the initial BPEL process.
    My questions
    I can think of three ways to do this, please advise.
    1. Use Oracle workflow business events and subscriptions. At the end of the BPEL process, raise the wf event and the subscriptions to that will be processed by workflow engine. My doubt here is that most of the times the subscriptions is another BPEL process, so does it make sense to go from BPEL to WF and then WF to PL/SQL to invoke a new BPEL?
    2. Use Advanced Queues (Oracle AQ). This is similar to using Oracle WF and to me the issues are also the same.
    3. Use routing rules in ESB -- I am not really sure if this can be done to replicate a pub/sub scenario, please advise and elaborate.
    As a summary, we want the ability to have pub/sub within BPEL and/or ESB. Any other suggestions are also welcome.
    Thanks!

    I have the same question , but could not find the releveant post in ESB forum.. is the response posted ? pls post the link to that thread...

  • Assign Statement using EDI 850 XML Problem - No BPEL Process Instantion

    I am currently experiencing the following problem: I receive an EDI 850 message via AQ, and then when I try to copy one of the segments in the message
    to a temporary variable, my BPEL process instantiation never shows up in the BPEL console display, nor does it error out anywhere where I can see.
    Note: if I take out this assign activity, the BPEL process instantiation does show in the console, and does complete.
    Can someone tell me where to look inside of the BPEL engine for any error information and perhaps explain why this situation happens in the first place. Also, if anyone can tell me if my syntax below for the extraction is correct, that would also be great.
    Arthur (203-921-5925)
    </schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <import namespace="http://www.edifecs.com/xdata/100"
    schemaLocation="850.xsd" />
    </schema>
    </types>
    <message name="Header_msg">
    <part name="Header" element="tns:Header"/>
    </message>
    <message name="Transaction-850_msg">
    <part name="Transaction-850" element="imp1:Transaction-850"/>
    </message>
    <variable name="Variable_1" element="ns3:Segment-CTT"/>
    <variable name="Receive_PO_Dequeue_InputVariable"
    messageType="ns1:Transaction-850_msg"/>
    <sequence name="main">
    <receive name="Receive_PO" partnerLink="X12_4010_850_PO_DEQ"
    portType="ns1:Dequeue_ptt" operation="Dequeue"
    variable="Receive_PO_Dequeue_InputVariable" createInstance="yes"
    bpelx:headerVariable="Variable_Receive_X12_4010_850_PO_Hdr"/>
    <assign name="abc_test_assign">
    <copy>
    <from expression="bpws:getVariableData('Receive_PO_Dequeue_InputVariable',
    'Transaction-850','/ns3:Transaction-850/ns3:Loop-CTT/ns3:Segment-CTT')"/>
    <to variable="Variable_1"/>
    </copy>
    </assign>

    Hi Arthur,
    Please verify the namespace in the xml instance matches the xsd used in BPEL. In many cases, the data cannot be copied/transformed successfully if there is a mismatch in namespace.
    Eng

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

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

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

  • How to handle no of BPEL process Instances

    Hi,
    I am facing issue at my cleint. Here is the scenario
    1) I have Business Event
    2) BPEL is subscribed to event using Oracle Application Adapter
    3) No every time new message comes in queue, causes new BPEL process Instances
    4) So suppose there are 1 million message per day then BPEL Server is dying.
    What is the best way to handle it?

    This is managed via the dspMaxThreads and ReceiverThreads parameters, by default these are set to poor values, dspMaxThreads by default is set to 100 (domain level) whereas by default ReceiverThreads is set to 40. According to the performance guide the total of dspMaxThreads for all domains should be <= ReceiverThreads, so making some adjustment to the dspMaxThreads parameter should help.

  • OWSM gateway : Message not encrypted error

    Hi,
    I have a BPEL process which invokes a web service via partner link. Both BPEL and service are secured with OWSM gateway.In the policy defined for BPEL I'm doing Sign Message And Encrypt using XPath expression( which is working). In the policy for webservice I'm doing a Decrypt and Verify Signature . But its not invoking the service and throws a Client:GenericFault saying Message is not encrypted.
    In fact the logs from BPEL after encryption shows encrypted data. But logs in service does not contain the same data.
    Am I doing something wrong? Should I copy something ? I'm using the same keystore for both the policies. The version is 10.1.3.1
    Please help me
    Thanks
    Meer

    All of them are running with Win XP SP2 at work. NAT-Traversal: is Disabled. DMZ is enabled. Thanks

Maybe you are looking for