How to insert security headers thru BPEL Process

I am new to BPEL process creation and stuff, but I need to complete a task in which I need
1.Create a BPEL process which accepts Username and password and set it into the soap request header as follows;
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
ty-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-24438666"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurit
y-utility-1.0.xsd">
<wsse:Username>Username </wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
-profile-1.0#PasswordDigest">password </wsse:Password>
<wsse:Nonce>syVMUbFNvaQAfQaDpVDolA==</wsse:Nonce>
<wsu:Created>2009-03-25T22:55:51Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
Can you please let me know what all steps I need follow in order to introduce the soap:header with wsse :security header settings. I am using 10.1.2.
I tried to do it by importing a schema wsse.xsd into my WSDL file. and in bpel.xml I set the properties as follows,
<property name="wsdlLocation">AccruentService.wsdl</property>
<property name="wsseUsername">username</property>
<property name="wssePassword">password</property>
<property name="wsseHeaders">credentials</property>
but does not put in the required header.
I dont know if I need to do anything else, Please help.

Hi,
Thanks for the quick reply.
I tried doing he same as mentioned in the link that u provided, but I got struck at this;
I did not understand why we are doing this;
<bpelx:insertAfter>
<bpelx:from variable="pswd" query="/wsse:Password"/>
<bpelx:to variable="userNameToken" query="/wsse:UsernameToken/wsse:Username"/>
</bpelx:insertAfter>
<bpelx:append>
<bpelx:from variable="userNameToken" query="/wsse:UsernameToken"/>
<bpelx:to variable="securityContext" query="/wsse:Security"/>
</bpelx:append>
after doing this and deploying, my request when tested thru SOAPUI looks like this with not security headers
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:acc="http://www.accruent.com/">
<soapenv:Header>
<add:MessageID>?</add:MessageID>
<add:ReplyTo>
<add:Address>?</add:Address>
<!--Optional:-->
<add:ReferenceProperties>
<!--You may enter ANY elements at this point-->
</add:ReferenceProperties>
<!--Optional:-->
<add:PortType>?</add:PortType>
<!--Optional:-->
<add:ServiceName PortName="?">?</add:ServiceName>
<!--You may enter ANY elements at this point-->
</add:ReplyTo>
</soapenv:Header>
<soapenv:Body>
....I just removed so that it is short
</soapenv:Body>
</soapenv:Envelope>
the service which I am invoking should

Similar Messages

  • How to design multiple file polling BPEL process?

    Hi all,
    I am trying to solve/design the following in BPEL process:
    - The integration process flow I am trying to design is an interaction b/n system A (FTP server), an Integration platform and system B.
    - The integration platform will poll files from an internal FTP server. It has 2 Time files (“Time1” and “Time2”) alternatives to poll from the FTP server. It will then transform the message/information inside the files (time information) to an internal XML format. At the end it shall send the message to system B.
    - The information inside the files is identical. The reason to have 2 files with identical information is for redundancy. The integration-platform shall only poll file “TIME1” as long as the conditions are met. If the conditions are not met, then it polls file “Time2”.
    Normal succeeded scenario:
    1- The integration platform polls the latest “Time1” file from the internal FTP server. The polling is done every 15th minute.
    2- The integration platform logs to BAM and reports that the file is received.
    3- The platform then converts the message to an internal format.
    4- The platform sends the converted message/time information to system B.
    5 - The use-case ends.
    Not normal scenario:
    1- The platform cannot get/receive file “Time1” file.
    - The platform logs to BAM and reports that the file could not be received.
    - The platform polls file “Time2” from the FTP server and it does the same normal scenario as above. The use case ends.
    2 - Time message/information from the Time1 file has not full information (less than 24 rows). The file is supposed to have 24 rows (for 24 hours).
    - The platform logs to BAM and reports that there is missing information on the message.
    - The platform gets/polls instead the “Time2” file from the FTP server and it does the normal scenario.
    - The use case ends.
    3- The platform can find/get neither file “Time1” nor “Time2”.
    - The platform alarms to BAM that it could not get/find the files.
    ** I am considering either the pick activity or the switch activity solution. Does any one of you have an idea how to design this in oracle BPEL process?
    Thanks.

    Not sure I understand your use case completly so if I'm off track I apploigise.
    I think there are 3 ways to solve this. The 3rd may be closest to what you are looking for.
    1. Have 2 processes that read into a common area, e.g. database where you can compare. From there you can choose which file to pick. This is high leve but I think this would be dificult to implement.
    2. Implement a combination of a rejectedMessage handler and error processing witn the BPEL process itself. The rejecte message handler can call another BPEL process if the time1 file is in a invalid state. This process will then read the time2 file. The issue with this is that the rejecte message handler will only get invoked when the file doesn't conform to the schema.
    3. Use the quarts scheduler whcih invokes a BPEL process every 15 miniutes. Using the file adapter to perform a synchronous read to read time1, analyse it, if it fails read time2 using synchronous read. Then perform the approprate action id this fails.
    hope this give some ideas.
    cheers
    James

  • How to config the proxy of Bpel process manager(with password)

    HI, i met the quetion as below
    The The Oracle BPEL Process Designer & Manager server is installed on my computer in domin of my company, so if One of the BPEL processes deployed on the BPEL server needs to access a synchronous Web service hosted outside the firewall .i need to config the proxy, but the proxy of my company needs my ID and password to access outside . after I congfig the proxy
    option of designer and build the Process, there will be pop-up a dialog box and ask for my ID & password .But how i config the proxy of Bpel process manager?? I read the tecnote about HTTP Proxy Configuration and config the proxy in the obsetenv.bat ,but it seems has no information about my ID&password in obsetenv.bat.
    The question is How can i let the Bpel process manager know my proxy and ID&password ?? pls help me ,thx!

    I have set these value in obsetenv.bat as follows, and I restart the Bpel manager server and designer.
    but the same issue still occur:
    set OB_JAVA_PROPERTIES="-Djavax.wsdl.factory.WSDLFactory=oracle.j2ee.ws.wsdl.factory.WSDLFactoryImpl" "-Dhttp.proxySet=true" "-Dhttp.proxyHost=pxysha" "-Dhttp.proxyPort=8080" "-Dhttp.proxyUser=oocldm\hanfi" "-Dhttp.proxyPassword=123456" "-Dhttp.nonProxyHosts=localhost".
    At the same time, I have set proxy server in bpel designer of eclipse, after I build the process,it can works well(which display BUILD SUCCESSFUL), but the bpel server display error message as below :
    Exception Name:
    Failed to read wsdl
    Exception Description:
    Error happened when reading wsdl at "C:\orabpel\domains\default\tmp\.bpel_TerraFlow_1.0.jar\TerraServiceRef.wsdl", because "WSDLException: faultCode=PARSER_ERROR: Error reading file: Server returned HTTP response code: 407 for URL: http://terraserver.microsoft.com/TerraService.asmx?WSDL".
    what happen ?

  • Unable to get notifications thru BPEL process

    Hi,
    I am trying to develop a simple email notification process thru BPEL.
    I have set up a notification to send to my email id.
    While execution, I am getting the following error (process is in faulted state)
    InvokeNotificationService (faulted)
    [2006/06/09 06:45:58] "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}NotificationServiceFault" has been thrown. less
    <NotificationServiceFault>
    <part name="faultInfo" >
    <faultInfo>500 'HELO batoleti-PC': command not understood. </faultInfo>
    </part>
    </NotificationServiceFault>
    the ns_email.xml content is:
    <EmailAccounts xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
    <EmailAccount>
    <Name>Default</Name>
    <GeneralSettings>
    <FromName>Oracle BPM</FromName>
    <FromAddress>[email protected]</FromAddress>
    </GeneralSettings>
    <OutgoingServerSettings>
    <SMTPHost>dlsun4254.us.oracle.com</SMTPHost>
    <SMTPPort>21</SMTPPort>
    </OutgoingServerSettings>
    <IncomingServerSettings>
    <Server>dlsun4254.us.oracle.com</Server>
    <Port>21</Port>
    <Protocol>IMAP</Protocol>
    <UserName>bpm1</UserName>
    <Password ns0:encrypted="false" xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService">welcome</Password>
    <UseSSL>false</UseSSL>
    <Folder>Inbox</Folder>
    <PollingFrequency>1</PollingFrequency>
    <PostReadOperation>
    <MarkAsRead/>
    </PostReadOperation>
    </IncomingServerSettings>
    </EmailAccount>
    Can you please help me on how to reslove the NotificationServiceFault?
    Thanks in advance.
    Bala.

    you use the wrong port ..
    21 is for telnet, smtp is 25
    hth clemens

  • How to get security context in BPEL to get Logged in UserId

    Hi All,
    We have a requirement of getting security context in BPEL flow and from that we want to extract currentUserId. The requirement is to know who has initiated the composite flow. We are not passing userId in the event payload. In ADF we get the same through following expression:
    ADFContext.getCurrent().getSecurityContext().getUserName()
    Is there any similar api which we can access to get currentUserId?
    Thanks,
    Naga

    Hi,
    If your BPEL has oracle/wss_username_token_service_policy you can retrieve the username from the SOAP headers...
    Have a look at this...
    http://yuanmengblog.blogspot.com.au/2012/09/extracting-and-passing-wss-name-token.html
    Cheers,
    Vlad

  • How to Upload a File in Bpel Process using JSP

    I am trying to upload file in bpel process using front end as a Jsp.
    i create the jsp page and i am able to pass the value from jsp to bpel process.
    In bpel process i don't know how to pass or assign the specified file name into file adapter for reading the files.
    Please help me...
    Saravanan

    You don't assign the url of the file to it.
    To either get the data from the file into the bpel process you could use the url-parameter together with the ora:readFile function....or you could let your web-application upload the file to some location on the server...and on this location you could use the file-adapter together with the polling, to start your bpel process.

  • 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

  • How to configure JBoss for Oracle BPEL Process Manager

    an any body tell me , how to configure JBoss4.0.5 for Oracle BPEL Process Manager?

    http://download.oracle.com/docs/cd/E10291_01/doc.1013/e10538/toc.htm

  • Providing security to invoke bpel process

    Hi,
    After deploying the bpel process, how do I restrict invocation of end point url of the bpel process. I do not want everyone who knows the end point url to invoke the bpel process. How do I password protect invocation of bpel process?

    Hi,
    You can use the Oracle Web Services Manager(Earlier Oblix Webservices Gateway) to achieve this functionality.
    you can get more details on
    http://www.oracle.com/technology/products/webservices_manager/index.html
    HTH
    Dhaval

  • How to create a proxy of BPEL process(to initiate it) in Jdeveloper 11G

    Hi All,
    I am badly stuck in creating proxy of BPEL process developed in Jdeveloper 10G. It was working fine in 10G. But in 11G I am not able to do it. Even creating a
    JAX-RPC mapping file is disabled in 11G. So could any one help me out. Even I want to know is there any other process to initiate a BPEL process from 11G. It's very URGENT
    so please help me out.
    Thanks in Advance.

    Hi,
    JDeveloper 11g had four technology preview releases (they came with OC4J instead of WebLogic) before production, TP4 is the forth, and SOA components came with it (not out-of-the-box, but had to be installed) including BPEL engine.
    Start from here , there is a metalink note no. 565899.1 where you can find the instructions for installing SOA on JDeveloper 11g TP4.
    So, you need to:
    - download and install [JDeveloper 11g TP4|http://www.oracle.com/technology/software/products/jdev/htdocs/soft11tp.html]
    - install SOA on it (instructions on metalink)
    I used JDeveloper 11g R1 for my application because TP4 had some bugs when working with asynchronous web services.
    Ask away if you have any problems.
    Pedja

  • How to convert BPA model to BPEL process flow?

    Hi All,
    I am looking for documentation which explains below concepts
    1. Converting BPA model into a BPEL process
    2. Just wanted to add single human task definition from BPA model to BPEL process
    Can anybody please point me to correct documentation?
    Regards,
    Praveen

    Hi Don,
    you can perform this task with ASSIGN activity.
    For example, you have two variable V_ENV_TYPE (with type of environment) and V_TEXT ("Failed mapping <mapping name>"). Define additinal variable V_NEW_TEXT, bind Variable parameter of Assign activity to V_NEW_TEXT variable and define value in Assign activity as
    V_ENV_TYPE || ' ' || V_TEXTRegards,
    Oleg

  • How to obtain response from asyn bpel process invoked through java

    I need to get the response from Asynchronous bpel process which im invoking through java using DeliveryPost method whose return type is void.

    I was able to write java code for the above process
    the code is here
    NormalizedMessage nm = new NormalizedMessage( );
    String uniqueBpelId = com.collaxa.cube.util.GUIDGenerator.generateGUID();
    java.util.Map msgProps = new HashMap();
    // NormalizedMessage res = deliveryService.request("OraFormsService", "initiate", nm);
    //deliveryService.post(null,null,null,null);
    msgProps.put("conversationId",uniqueBpelId);
    nm.setProperty("conversationId",uniqueBpelId);//to set the property for this message
    nm.addPart("payload",xml1);//to add to the payload of this message
    deliveryService.post("OraFormsService", "initiate", nm);
    // System.out.println("con1 "+IDeliveryConstants.STATE_HANDLED);
    StringBuffer buf = new StringBuffer();
    WhereCondition cond;
    cond = new WhereCondition(buf.append(SQLDefs.IM_state).append( " = " ).append(IDeliveryConstants.STATE_UNRESOLVED ).toString() );
    //cond = WhereConditionHelper.whereInstancesOpen();
    IInvokeMetaData imd[] = locator.listInvokeMessages(cond);
    String ids[] = new String[imd.length];
    // print out the partial process information
    // for processes in manual recovery status on invoke
    for (int i = 0; i < imd.length; i++)
    System.out.println("ConversationId=" +
    imd.getConversationId());
    System.out.println("ProcessId=" +
    imd[i].getProcessId());
    System.out.println("State=" + imd[i].getState());
    ids[i] = imd[i].getConversationId();
    Thanks for the Help

  • How to increase SyncMaxWaitTime property at BPEL process level

    Hi,
    I want to increase SyncMaxWaitTime property specific to my BPEL process to avoid timeout for a request/response operation. Example: Invoking a plsql procedure from BPEL is taking much time to send response back than the timeout set in server.
    Thanks in advance

    Hi,
    I have changed the synmaxwaitTime in Server as you said...
    So if i said to 900, And in a Simple request/reply process, i am waiting for 10 minutes, the process is timing out after 303 seconds. If i wait for 300 seconds, its getting executed successfully. Can you tell what its exactly happening ?
    Thanks,
    N

  • How to test Performance of a bpel process

    Hi All,
    Pls let me know know how to do performance testing in BPEL?
    Thanks,
    ChitraDevi

    Hi ChitraDevi,
    In em select your application server and in that you will find Home,Applications,Performance...etc
    Under Home tab and Performance tab you can find some graphs and in Performance tab you can find a link called JVM metrics. In that also you can find some thing.
    And you can observe metrics by using JConsole (you have to download this software)... through which also you can observe the things
    Regards
    PavanKumar.M

  • How to insert different headers/footers according to recto/verso format in Pages 5.0 ?

    I formatted a document on Pages '09 with two different headers and footers because I print it recto/verso. When I opened this document with Pages 5.0 my headers/footers do no longer appeared and when I try to re-put it, I did not find where I could make them different according to a recto/verso format. Previously this function was situated in the section tab of the inspector. Does this function still exist ? If yes, where ?
    Thanks.

    Hi, Alizé. 
    Thank you for visiting Apple Support Communities. 
    You can still format headers and footers in Pages 5.0.  Here is the self help guide that walks you through this process. 
    Create document sections
    Cheers,
    Jason H. 

Maybe you are looking for