Java embedding: throw exceptions

Hi all
How can I throw an exception from a Java Embedding activity?
I try this
throw e
but the compiler raise this error:
Exception java.lang.Exception must be caught, or it must be declared in the throws clause of this method.
There is no method signature (so no throws) in a Java Embedding snippet code, so how can I throw an exception to be caught by the process?

Hi Clemens
Can you send me an example on how throw a BPELFault and populate a variable with the error message?
Now I´m just using
QName qName = new QName("http://mercurio.com","error");
throw new com.oracle.bpel.client.BPELFault(qName);
where "http://mercurio.com" is the qualified name and "error" is the part, but I´m confusing on where I put the error message.
There is no example on ..\orabpel\samples\tutorials or \orabpel\samples\demos...
Thanks for your help.

Similar Messages

  • Java Client throws exception – while sending NTLMV2 Response from WIN7 to W

    We have written a Java client which connects to a webservices application using NTLM authentication against Windows 2008 R2 Server (using IIS7). This program works fine when running from Windows XP, Linux but failing when running from Windows 7.
    Error encountered is: java.io.IOException: Authentication failure.
    Here is what we have written to connect to HTTPS with credential using SSLContext as mentioned below.
    SSLContext sc = SSLContext.getInstance( "SSL" );
    sc.init( null, trustAllCerts, new java.security.SecureRandom() );
    HttpsURLConnection.setDefaultSSLSocketFactory( sc.getSocketFactory() );
    ( ( HttpsURLConnection )( m_oHttpURLConnection ) ).setHostnameVerifier( this );
    URL url = new URL("https://testsite...");
    HttpsURLConnection m_oHttpURLConnection = (HttpsURLConnection) url.openConnection();
    Following properties are set to HttpsURLConnection:
    RequestMethod : GET
    InstanceFollowRedirects : true
    AllowUserInteraction : true
    UseCaches : false
    DoOutput : true
    DoInput : true
    After setting all the above parameters the following code is used to set credentials data and connect to site
    Authenticator.setDefault(new MyAuthenticator ());
    m_oHttpURLConnection.connect();
    After connection is successful request XML is sent to server and expecting a response from the server. So when the below line is called exception is thrown.
    m_oHttpURLConnection.getResponseCode();
    Exception :
    java.io.IOException: Authentication failure
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1173)
         at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318)
    After changing LAN Manager Authentication level setting of Windows 7 from “Send NTLMv2 response only” to “Send LM & NTLM – use NTLMv2 session security if negotiated”, application is working fine.
    Local Security Settings àSecurity SettingsàLocal Policies à Security Optionsà Network security: LAN Manager Authentication level
    By default in Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: Send NTLMv2 response only , Lowering the security level at the client end is bit risk and typically is not recommended.

    this subforum is about Kerberos and GSS and not about NTLM. Why are you hasseling with NTLM? Take Kerberos.

  • Throwing Exception in java embedding to BPEL

    Hi,
    My requirement is that all exceptions needs to be thrown to BPEL so that the BPEL exception handler can handle it.I am using some classes through BPEL's java embedding. So any exception in them, i wud like to be propagated to BPEL. The Exception is thrown to the java embedding activity but i am not able to throw it to BPEL after that. I have to catch and handle it there itself, else the BPEL gives a compilation error.
    Can anybody please gimme a sol for this problem
    Thanks
    Ashish

    Hi,
    My requirement is that all exceptions needs to be thrown to BPEL so that the BPEL exception handler can handle it.I am using some classes through BPEL's java embedding. So any exception in them, i wud like to be propagated to BPEL. The Exception is thrown to the java embedding activity but i am not able to throw it to BPEL after that. I have to catch and handle it there itself, else the BPEL gives a compilation error.
    Can anybody please gimme a sol for this problem
    Thanks
    Ashish

  • How do i throw BPEL exception from java embedded activity

    Hello everybody,
    i want to use some embedded java code in my BPEL process (bpelx:exec). This code would sometimes throw exceptions. How can i deal with these exceptions to control my BPEL process? I would like, in a sense, to do some catching of java exceptions but at the BPEL level... for example, my java code would throw an exception, that my BPEL process would "catch" and react the way i want. Is it possible to do that?
    Thanks for your help!

    Re: Embedded Java in BPEL and exception handling

  • Throw exception in Java mapping and handle this in BPM

    Hi,
    I'll use a Java mapping in a BPM transform step. Is it possible to throw an exception inside this Java mapping and handle this in a BPM exception handler?
    thanks and regards
    Verena

    Hi Verena,
    In a BPM transformation step, I think you can throw exceptions only for system errors.
    Let me explain with an example, one of the ways to handle your scenario:
    Lets assume your Java Mapping fails then you can trap that exception in your Java mapping and compose an XML message which indicates that an error has occurred.
    say for e.g.
    <intermediateStructure>
    <SatusDocument>
    <StatusCode>ERROR</StatusCode>
    <ErrCode>123</ErrCode>
    <ErrDesc><!populate the thrown exception details></ErrDesc>
    </StatusDocument>
    <Payload>
    <!contains actual XML message with data>
    </Payload>
    </intermediateStructure>
    if Java mapping is Successful, you can compose the XML message as follows:
    <intermediateStructure>
    <SatusDocument>
    <StatusCode>SUCCESS</StatusCode>
    <ErrCode>0</ErrCode>
    <ErrDesc></ErrDesc>
    </StatusDocument>
    <Payload>
    <!contains actual XML message with data>
    </Payload>
    </intermediateStructure>
    You can use BPM switch operation to switch to different processing branches say for e.g. "error" branch or "success" branch by examining the value of <StatusCode> tag.
    Hope it helps !
    Regards,
    Sridhar

  • Java Does Not Throw Exception When Writing To Read-Only Files

    I have noticed that when I try to write to a read-only file in a window environment, Java does not throw an IOExcpetion, it just dosn't write to the file.
    I am writing an FTP server and here is the code:
         public static long copyStream(InputStream in, OutputStream out)throws IOException
              IOException exception = null;
              long copied = 0;
              try
                   byte buffer[] = new byte[1024];
                   int read;
                   while((read = in.read(buffer)) != -1)
                        out.write(buffer, 0, read);
                        copied += read;
              catch(IOException e)
                   //ensures that the streams are closed.
                   exception = e;
              try
                   in.close();//ensures output stream gets closed, even if there is an
                   //excption here.
              catch(IOException e){exception = e;}
              out.close();//try to close output.
              if(exception != null)
                   //exception is not null, an exception has occured.
                   //rethrow exception.
                   throw exception;
              return copied;//all ok, return bytes copied.
         }Is this a bug in JAVA VM? Is so, how should I report it?

    I have noticed that when I try to write to a read-only file in a window environment,
    Java does not throw an IOExcpetion, it just dosn't write to the file.C:\source\java\Markov>attrib readonly.out
    A R C:\source\java\Markov\readonly.out
    �C:\source\java\Markov>java b
    java.io.FileNotFoundException: readonly.out (Access is denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at b.main(b.java:5)
    import java.io.*;
    public class b {
        public static void main(String[] args) {
         try     {
              OutputStream os = new FileOutputStream ( "readonly.out");
         catch (Exception e) {
              e.printStackTrace();
    }

  • This is regarding "throw exceptions" in Java

    Hi, I have Queue class and a Test drive for the Queue class called QueueDriver. After I run the program I see a number which I have set in the QueueDrive shown up in the terminal window. How can I throw an exception here along with a message? what kind of exception would it be? IOException......OR FileNotFound exception.....OR is there a generic type of exception?
    Thanks.

    Queue class;
    public class Queue
        private Object []items;
        private int max_items;
         private int next_free;
         private int next_full;
         public Queue(int _max_items)
             max_items = _max_items;
              items = new Object[max_items];
              next_free = next_full = 0;
         public void enqueue(Object it)
              items[next_free] = it;
              next_free = (next_free + 1) % max_items;
         // throw exception....
         public Object dequeue()
             Object rtn = items[next_full];
             next_full = (next_full + 1) % max_items;
             return rtn;
         // throw exception....
    QueueDriver;
    import Queue;
    public class QueueDriver
        public static void main(String[] args)throws Exception;
            Queue int_queue = new Queue(50);
            try
                int_queue.enqueue(new Integer(12));
                int_queue.enqueue(new Integer(5));
                System.out.println((Integer) int_queue.dequeue());
               catch(QueueException e)
                   System.out.println("Caught QueueException: " + e.getMessage());
    }

  • Java Embedding setVariableData not working - Urgent

    Hi Guys,
    I tried a simple HelloWord/Echo Kinda example, accessing input variable using getVariableData and assigning it to output variable using setVariable data in Java Embedding. It's throwing an error.
    JavaEnbedCode :
    String xmlData = ((oracle.xml.parser.v2.XMLElement) getVariableData("inputVariable","payload","/client:HelloJavaEmbedBPELProcessRequest/client:input")).getFirstChild().getNodeValue();
    setVariableData("outputVariable","payload","/client:HelloJavaEmbedBPELProcessResponse/client:result",xmlData);
    Imports:
    <bpelx:exec import="java.util.*"/>
    <bpelx:exec import="java.lang.*"/>
    <bpelx:exec import="java.rmi.RemoteException"/>
    <bpelx:exec import="javax.naming.NamingException"/>
    <bpelx:exec import="org.w3c.dom.Element"/>
    <bpelx:exec import="java.math.*"/>
    <bpelx:exec import="java.io.*"/>
    <bpelx:exec import="java.net.*"/>
    Error:
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {}
    parts: {{summary=&lt;summary>XPath query string returns zero node.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity &amp;amp;lt;to&amp;amp;gt; part query should not return zero node.
    Please check the BPEL source at line number "" and verify the &amp;amp;lt;to&amp;amp;gt; part xpath query.
    &lt;/summary>
    </summary>
    </part></selectionFailure>
    I am using Jdev 10.1.3.3 and SOA Suite 10.1.3.3
    Thanks in adavance.

    I gave up trying to reference elements, especially those that are accessed through the input and output messages and leave that up to BPEL Assigns. So my inline Java looks like this and it works in 10.1.3.3.
    Hopefully the forum leaves enough of the formatting intact for you to get the idea.
    /*Write your java code below e.g.
         System.out.println("Hello, World");
    try{                                                              
    String in = (String)getVariableData("Input_Value");
    addAuditTrailEntry("You Entered: " + in);
    int InvalidCharsFound = 0;
    String ValidChars="0123456789.";
    String FilteredChars="$ ,";
    String TempChar="";
    String Tempstring="";
    int innum;
    double inval;
    innum=in.length();//get string length
    for (int i=0;i<innum;i++){         
    TempChar = in.substring(i,i+1);
    if (ValidChars.contains(TempChar)){         
    Tempstring+=TempChar;
    else {         
    if (FilteredChars.contains(TempChar)){   
    //filtered char was found
    addAuditTrailEntry("A filtered character was found such as: " + FilteredChars);
    else{   
    //invalid chars
    InvalidCharsFound = 1;
    addAuditTrailEntry("An invalid character was found");
    if (InvalidCharsFound == 0){  
    //clean number input was detected so proceed.
    inval = Double.valueOf(Tempstring).doubleValue();
    inval *= 100;//multiply by 100
    addAuditTrailEntry("Times 100 is: " + inval);
    double out = Math.rint(inval);
    addAuditTrailEntry("Rounded is: " + out);
    out /= 100;
    addAuditTrailEntry("Divided by 100 is: " + out);
    DecimalFormat myFormatter = new DecimalFormat("###.00");
    String output = myFormatter.format(out);
    addAuditTrailEntry("Formated is: " + output);
    setVariableData("Output_Value",output);
    else
    // The number input was not a good clean number
    setVariableData("Output_Value","ERROR the input was not a number");
    catch(Exception e){                                                                    
    addAuditTrailEntry(e);
    If you actually find this Java example that I made usefull keep in mind the Math.rint
    function incorrectly rounds 100.5 to 100 instead of 101. Or in other words with this program if you try to round 100.245 it will produce 100.24. This is not a problem for what I'm using it for as I'm simply trying to correct small inaccuracies found when adding 2 currency numbers using BPEL see Bug No. 6451541
    As far as the Math.rint "bug" I have found this same issue duscussed on the sun java forums and as far as I can tell someone who is mathematically brilliant (compared to me) decided that this was the correct way to round. I'm glad I'm not in school any more.
    Oh the complete BPEL source looks like this (I probably should have included this instead)
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Tue Sep 04 10:45:03 PDT 2007
    Author: RTaylor
    Purpose: Synchronous BPEL Process
    -->
    <process name="BPEL_Round_Currency"
    targetNamespace="http://xmlns.oracle.com/BPEL_Round_Currency"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://xmlns.oracle.com/BPEL_Round_Currency"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:BPEL_Round_Currency"
    myRole="BPEL_Round_CurrencyProvider"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="inputVariable"
    messageType="client:BPEL_Round_CurrencyRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:BPEL_Round_CurrencyResponseMessage"/>
    <variable name="Input_Value" type="xsd:string"/>
    <variable name="Output_Value" type="xsd:string"/>
    </variables>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPEL_Round_Currency.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:BPEL_Round_Currency" operation="process"
    variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Copy_Input">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:BPEL_Round_CurrencyProcessRequest/client:input"/>
    <to variable="Input_Value"/>
    </copy>
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:BPEL_Round_CurrencyProcessRequest/client:input"/>
    <to variable="Output_Value"/>
    </copy>
    </assign>
    <bpelx:exec import="java.text.DecimalFormat"/>
    <bpelx:exec name="Round_Output" language="java" version="1.3">
    <![CDATA[/*Write your java code below e.g.                                       
         System.out.println("Hello, World");                                      
    try{                                                              
       String in = (String)getVariableData("Input_Value");                                                                   
       addAuditTrailEntry("You Entered: " + in);  
       int InvalidCharsFound = 0;  
       String ValidChars="0123456789.";   
       String FilteredChars="$ ,";   
       String TempChar="";         
       String Tempstring="";         
       int innum;         
       double inval;         
       innum=in.length();//get string length         
       for (int i=0;i<innum;i++){         
              TempChar = in.substring(i,i+1);         
              if (ValidChars.contains(TempChar)){         
                  Tempstring+=TempChar;         
    else {         
    if (FilteredChars.contains(TempChar)){   
    //filtered char was found
    addAuditTrailEntry("A filtered character was found such as: " + FilteredChars);
    else{   
    //invalid chars
    InvalidCharsFound = 1;
    addAuditTrailEntry("An invalid character was found");
    if (InvalidCharsFound == 0){  
    //clean number input was detected so proceed.
    inval = Double.valueOf(Tempstring).doubleValue();
    inval *= 100;//multiply by 100
    addAuditTrailEntry("Times 100 is: " + inval);
    double out = Math.rint(inval);
    addAuditTrailEntry("Rounded is: " + out);
    out /= 100;
    addAuditTrailEntry("Divided by 100 is: " + out);
    DecimalFormat myFormatter = new DecimalFormat("###.00");
    String output = myFormatter.format(out);
    addAuditTrailEntry("Formated is: " + output);
    setVariableData("Output_Value",output);
    else
    // The number input was not a good clean number
    setVariableData("Output_Value","ERROR the input was not a number");
    catch(Exception e){                                                                    
    addAuditTrailEntry(e);
    }]]>
    </bpelx:exec>
    <assign name="Copy_Output">
    <copy>
    <from variable="Output_Value"/>
    <to variable="outputVariable" part="payload"
    query="/client:BPEL_Round_CurrencyProcessResponse/client:result"/>
    </copy>
    </assign>
    <reply name="replyOutput" partnerLink="client"
    portType="client:BPEL_Round_Currency" operation="process"
    variable="outputVariable"/>
    </sequence>
    </process>

  • 12C : SOA java embedding facing strange issues.

    Hi All;
    I am trying to traverse through a restulset in the java embedding but it always throwing an error
    This is the code which i am running in the java embedding .
    try {
    System.out.println("--------------------START----------------------------");
    String value =   (String) getVariableData("EmployeeNameVar");     // running fine.
    System.out.println("---"+ value);    // Running fine
    XMLElement name1 =  
    (XMLElement)getVariableData("EmployeeDBAdaptorSelectOutputVariable","EmployeesCollection","/ns7:Employees[1]/ns7:firstName");    //  Thrwoing error
    System.out.println("--- name "+ name1.getTextContent() +" ==" + name1.getQualifiedName());   
    System.out.println("--------------------END----------------------------");
    }catch(Exception ex){
    System.out.println(ex.getMessage());
    Error coming in the log
    --------------------START----------------------------
    ---Jennifer
    faultName: {{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    parts: {{
    summary=<summary></summary>}
    Please help if you have done similar in the SOA.
    Vipin Kumar
    Accenture Services India
    https://in.linkedin.com/in/vipinckumar

    Hi Nicolas;
    Thanks for replying, but the variable which i am printing
    String value =   (String) getVariableData("EmployeeNameVar");
    // running fine
    this variable i have assigned in the assigned activity and used $EmployeeDBAdaptorSelectOutputVariable.EmployeesCollection/ns7:Employees[1]/ns7:firstName to assign and its printing the value in the log.
    Its a very basic program in which one db adapter fectching array from the database based on department id, and i can see db adapter returning a number of rows.
    Regards;
    Vipin Kumar
    Accenture Services India
    https://in.linkedin.com/in/vipinckumar

  • Java Embedding Weird XML Node Error

    Ok, I am going crazy. I have a java embedding node that takes a date string in, changes it to a different format and creates another date that contains the current time. if I run this in java to code run ok and there are no issues. At the end of the java I print out the string and they are exactly what I want. The thing that is going on is when I set the 2 string BPEL variables in the java embedding, when I try to reference them the 2nd time,I get a weird node object error. I get through the first pass ok. when I try to reference Test1 or Test2 on the 2nd pass I get the error below. Its like when I set the variable currentDB2UpdateDate and currentDB2CurrTimeDate it does something to them. Instead of setting it to just the string it seems to set it to some kind of object.
    I have 3 steps here. Assign -> Java Embedding -> Assign.
    Assign 1 => Initialize 2 String variables to X.
    <code>
    <assign name="Assign_2">
    <copy>
    <from expression="string('X')"/>
    <to variable="currentDB2UpdateDate"/>
    </copy>
    <copy>
    <from expression="string('X')"/>
    <to variable="currentDB2CurrTimeDate"/>
    </copy>
    </assign>
    </code>
    Java Embedding =>
    <code>
    String currentFileDate = (String)getVariableData("currentFileDate");
    String currentDate = "";
    try
    SimpleDateFormat sdfSource = new SimpleDateFormat("MM/dd/yyyy");
    Date date = sdfSource.parse(currentFileDate);
    SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    currentFileDate = sdfDestination.format(date);
    catch(ParseException pe)
    System.out.println("Parse Exception : " + pe);
    try
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    currentDate = sdf.format(cal.getTime());
    catch(Exception pe)
    System.out.println("Parse Exception : " + pe);
    System.out.println("currentFileDate : " + currentFileDate.toString());
    System.out.println("currentDate : " + currentDate.toString());
    setVariableData("currentDB2UpdateDate",currentFileDate);
    setVariableData("currentDB2CurrTimeDate",currentDate);
    </code>
    Assign 3 =>
    <code>
    <assign name="Assign_1">
    <copy>
    <from variable="currentDB2UpdateDate"/>
    <to variable="Test1"/>
    </copy>
    <copy>
    <from variable="currentDB2CurrTimeDate"/>
    <to variable="Test2"/>
    </copy>
    </assign>
    </code>
    <code>
    <bpelFault><faultType>0</faultType><selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>Invalid to part type.
    When performing the assign operation, the to node 2010-07-17 12:00:00 is invalid.
    The node named in the error message was either null or an empty node set, and it was not an instance of org.w3c.Element.
    Verify the node value at line number 819 is not null and is an instance of org.w3c.Element.
    </summary></part></selectionFailure></bpelFault>
    </code>
    The 2nd pass to this throws the following error when trying to set Test1 and Test2 again... Its like it is setting the variable to an object and not just the string. I tried using toString() in the setVariable too and it didn't work. I don't get it.
    Edited by: 806312 on Dec 1, 2010 8:13 AM
    Edited by: 806312 on Dec 1, 2010 8:26 AM

    I am also facing a similar issue.There is selection failure in assignment to local variable of BPEL .
    PFB the logs :
    parts: {{
    summary=&amp;lt;summary&amp;gt;Invalid to part type.
    When performing the assign operation, the to node false is invalid.
    The node named in the error message was either null or an empty node set, and it was not an instance of org.w3c.Element.
    Verify the node value at line number 3577 is not null and is an instance of org.w3c.Element.
    &amp;lt;/summary&amp;gt;}
    Here is the code:
    <copy>
    <from expression="xpath20:add-dayTimeDuration-to-dateTime($calculatednpexectime,'P200YT')"/>
    <to variable="calculatednpexectime"/>
    </copy>
    It seems as if Oracle is not accepting the date format .
    Is there some issue with local variables of new version of BPEL ??

  • Using Java Embedding Unzip Code and a Trigger File in a BPEL Process

    Hello,
    Thanks in advance to anyone that contributes with any insight.  It is much appreciated.  Having said that I will get to the crux of my problem.
    I am currently using Oracle 11g.  I have created a SOA composite application that incorporates BPEL and Java.  I have the code needed to unzip and extract compressed folders.  However, when this was first built out using BPEL it automatically created a web service in the "exposed service" lane and not a file adapter which I believe is needed in order to trigger the process via a start.txt file for example.  Based on what I know ... this web service automatically connecting to the BPEL process was simply due to the order of operations, etc.  So by creating a 'read' file adapter first and then creating the BPEL process and selecting the template "Define Service Later", it does not automatcially connect the web service to the BPEL process and it will allow me to connect a file adapter to this BPEL process instead ... great.  When opening up the BPEL file I then connect a recieve component to this file adapter and configure appropriately.
    Essentially, my objective in setting up a trigger to start this unzip process is due to the BPEL process before that outputs or writes the .zip folder to the same directory that I want to poll and/or trigger via a start.txt file.  I can get this process to work with a webservice connecting to the BPEL process and by using a Java Embedded in BPEL file, which in turns calls the package/ class that has the java code needed to unzip.
    For some reason whenever I try to use a file adapter instead of the native web service that gets created (as mentioned above) it doesn't work.  It seems to build or compile just fine however, I am getting errors when I try to deploy.
    Note:  The Java code contains all the paths where the zip file is to be taken from and extracted to.  So because this is in the code I don't need the file adapter to handle this.  I just want to use the file adapter so that I can trigger the process via start.txt or something of that nature.
    Thanks to anyone that has any suggestions.
    Kind Regards,
    Kevin
    Errors when attempting to deploy are as follows:
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] HTTP error code returned [500]
    [04:12:54 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: Job2_UnZip: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "H:\Oracle\Middleware\user_projects\domains\Dev_Acorde\servers\soa_server1\dc\soa_d78eb301-314c-422a-a748-bcfe7d0906e8"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    [04:12:54 PM] Check server log for more details.
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] ####  Deployment incomplete.  ####
    [04:12:54 PM] Error deploying archive file:/C:/JDeveloper/mywork/Job2_UnZip/Job2_UnZip/deploy/sca_Job2_UnZip_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

    Just wanted to provide a screenshot of the BPEL file as supporting documentation to better illustrate my issue.
    Thanks so much,
    Kevin

  • Java Embedding bug in SOA Suite 11g BPEL??

    I am beginning to wonder if there is a 'bug' in the SOA Suite 11g, BPEL, Java Embedding activity? Need some help as soon as possible – does the Java Embedding activity work in SOA Suite 11g?
    Have tried the following on Jdev 11.1.1.1 and Jdev 11.1.1.3 – get the same error message (see below for error message).
    Thanks for any help - Casey
    I created a simple composite app by:
    1.     Created a Composite with BPEL Process
    2.     Created a BPEL variable by the name of Variable and a Simple Type of string      ({http://www.w3.org/2001/XMLSchema}string)
    3.     Added an Assign activity (Assign_1) and assigned the value of “Test Var” to the variable Variable using a Copy operation.
    4.     Then, after the assign activity, added a Java Embedding activity (Java_Embedding_1) with Java Version set to 1.5 and the following code:
    +try{+*
    String var;*
    var=(String)getVariableData(Variable);*
    System.out.println(var);*
    +}  // end try+
    +catch(Exception ex){+*
    System.out.println(ex.getMessage());*
    +}// end catch+
    Compiled and got the following error message:
    Error(23,34): Failed to compile bpel generated classes.*
    failure to compile the generated BPEL classes for BPEL process "BPELProcess1" of composite "default/Project1!1.0"*
    The class path setting is incorrect.*
    Ensure that the class path is set correctly. If this happens on the server side, verify that the custom classes or jars which this BPEL process is depending on are deployed correctly. Also verify that the run time is using the same release/version.*
    Code for the BPEL component is:
    +<?xml version = "1.0" encoding = "UTF-8" ?>+
    +<!--+
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    Oracle JDeveloper BPEL Designer
    Created: Tue Nov 09 13:01:49 CST 2010
    Author:
    Purpose: Asynchronous BPEL Process
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    -->
    +<process name="BPELProcess1"+
    targetNamespace="http://xmlns.oracle.com/TestgetVariable_jws/Project1/BPELProcess1"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:client="http://xmlns.oracle.com/TestgetVariable_jws/Project1/BPELProcess1"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/TestgetVariable/Project1/FileW"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    +<!--+
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    PARTNERLINKS
    List of services participating in this BPEL process
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    -->
    +<partnerLinks>+
    +<!--+
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    +<partnerLink name="bpelprocess1_client" partnerLinkType="client:BPELProcess1" myRole="BPELProcess1Provider" partnerRole="BPELProcess1Requester"/>+
    +</partnerLinks>+
    +<!--+
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    VARIABLES
    List of messages and XML documents used within this BPEL process
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    -->
    +<variables>+
    +<!-- Reference to the message passed as input during initiation -->+
    +<variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>+
    +<!-- Reference to the message that will be sent back to the requester during callback -->+
    +<variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>+
    +<variable name="Variable" type="xsd:string"/>+
    +</variables>+
    +<!--+
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+
    -->
    +<sequence name="main">+
    +<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->+
    +<receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>+
    +<!--+
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    +<assign name="Assign_1">+
    +<copy>+
    +<from expression='"test var"'/>+
    +<to variable="Variable"/>+
    +</copy>+
    +</assign>+
    +<bpelx:exec name="Java_Embedding_1" version="1.5" language="java">+
    +<![CDATA[/*Write your java code below e.g.+
    +     System.out.println("Hello, World");+
    +*/+
    +try{+
      +String var;+
      +var=(String)getVariableData(Variable);+
      +System.out.println(var);+
    +} // end try+
    +catch(Exception ex){+
    System.out.println(ex.getMessage());
    +}// end catch]]>+
    +</bpelx:exec>+
    +<invoke name="callbackClient" partnerLink="bpelprocess1_client" portType="client:BPELProcess1Callback" operation="processResponse" inputVariable="outputVariable"/>+
    +</sequence>+
    +</process>+

    Java Embedding bug in SOA Suite 11g BPEL??

  • How to encrypt file on linux using Gnupg command in Java Embedding in BPEL.

    Hi All,
    I am trying to invoke a command script using the java embedding in BPEL Process.I am using the below code to execute the particular command to encrypt the file :-
    try {    
            Runtime rt = Runtime.getRuntime();    
    Process pr = rt.exec(new String[] {"/bin/bash", "-c", "/u01/GnuPG/bin/gpg", "-e", "-r", "Developer","/u01/oracle/ConfigFiles/Adapter_controlDir/abc.csv"});    
             int exitVal = pr.waitFor();            
            String result = "SUCCESS: Process exit with " + exitVal;         
            addAuditTrailEntry("result = "+result);      
            setVariableData("outputVariable","payload","/client:processResponse/client:result",result);    
    } catch(Exception e) {    
            e.printStackTrace();      
      String result = "FAILURE: Exception with " + e.toString();    
            addAuditTrailEntry("result = "+result);      
            setVariableData("outputVariable","payload","/client:processResponse/client:result",result);    
    The above statement does nothing. I am not sure what command i need to use to access to the command line.
    When i try this particular statement from linux machine command prompt :- /u01/GnuPG/bin/gpg -e  -r  Developer /u01/oracle/ConfigFiles/Adapter_controlDir/abc.csv
    It works absolutely fine and it creates the encrypted files also.
    Please suggest , which command i need to use from the java embedding.
    Please suggest!!
    Regards,
    Shah

    I think, you can try, writing these commands into a separate shell script and call that shell script from bpel via Java embedding. However, you might not get a return response.. but you can still give a shot.
    Hope it helps.

  • Reading Opaque data from jms queue  and decoded  in java embedding

    Hi ,
    Objective:Fetch text message from queue and print it from java embedding in BPEL
    I am fetching text message from a jms queue using JMS adapter in BPEL.Then converting the opaque data(Base64 binary)to string using java embedding.My build got successful but I am getting runtime error at the time of deployment.
    I have added fabric-runtime.jar file into SCA-INF\lib folder as well as project library directory.
    <extensionActivity>
    <bpelx:exec name="Java_Embedding1" version="1.5" language="java">
    <bpelx:exec import="java.io.*"/>
    <bpelx:exec import="oracle.soa.common.util.Base64Decoder"/>
    <![CDATA[//Write your java code below e.g.        
         System.out.println("Hello, World");       
    //   String input = ((Element)getVariableData("Receive1_Consume_Message_InputVariable")).getTextContent();              
      // String inputName = (String)getVariableData("input");     
      String input = (String)getVariableData("Receive1_Consume_Message_InputVariable");            
    //Receive1_Consume_Message_InputVariable.opaque          
          System.out.println("input:"+input);          
          addAuditTrailEntry(input);           
          Base64Decoder Decoder = new Base64Decoder();             
         try {            
          String decoded = Base64Decoder.decode(input);            
          setVariableData("Variable_opaque_decoded",decoded);            
          addAuditTrailEntry(decoded);           
    catch(UnsupportedEncodingException uee)
    uee.printStackTrace();
    }]]>
    </bpelx:exec>
    </extensionActivity>
    Error:
    Error deploying archive sca_JMSToDBInsert_rev1.0.jar to partition "default" on server AdminServer [http://localhost:7001]
    HTTP error code returned [500]
    Error message from server:
    There was an error deploying the composite on AdminServer: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: JMSToDBInsert: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "C:\Oracle\Middleware\user_projects\domains\soa_domain\servers\AdminServer\dc\soa_0fb06e23-bac3-4753-aae9-0fc4b54b4dd1"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    Check server log for more details.
    Error deploying archive sca_JMSToDBInsert_rev1.0.jar to partition "default" on server AdminServer [http://localhost:7001]
    #### Deployment incomplete. ####
    Error deploying archive file:/C:/SOA Suite/SOA_POC/Client2JMSapps/Client2JMSapps/JMSToDBInsert/deploy/sca_JMSToDBInsert_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)
    Could you guys please help me regarding this?
    Thanks & Regards,
    Souvik
    Edited by: Souvik Pal on Apr 16, 2012 9:40 PM

    You probably want to try the SOA Suite forum for OSB questions.
    SOA Suite
    There is an excellent book also:
    http://jeffdavies.org/
    The documentation goes over the fundamentals, but the book will be better for step by step examples.

  • Problem in Java Embedding

    Hi all,
    I am new to BPEL and iam using Java Embedding Activity in my BPEL.
    I am using getVariableData and setVariableData in my Java code and i don't know whether that syntax is correct or not. BPEL also Deployed and executed successfully.
    But I not able to see the Output in the BPEL Console.. I include my Jar file in my Directory ........
    Java code in JavaEmbedding Activity:
    try{
    Class cls = Class.forName("bpel.javabpel.Employee");
    bpel.javabpel.Employee obj = (bpel.javabpel.Employee)cls.newInstance();
    String firstName = (String)getVariableData("inputVariable","payload","/client:JavaEmbeddingProcessRequest/client:input");
    addAuditTrailEntry("InputString is"+firstName);
    String sConcatString = obj.concatString("firstName");
    addAuditTrailEntry("OutputString is"+sConcatString);
    setVariableData("outputVariable","payload","/client:JavaEmbeddingProcessResponse/client:result","sConcatString");
    } catch (Exception e){
    e.printStackTrace();
    Any one help me where to see few basic examples of JavaEmbedding and what is actually the parameters in getVariableData and setVariableData.
    Please help on this....
    -Ashok

    Duplicate post. See other Thread: Where I can see the few basic examples of Java Embedding in BPEL

Maybe you are looking for

  • Can i copy contacts from one apple id to another

    I would like to copy my contacts to my family members iphone which is different apple id Can i do that

  • Trying to set up a new macbook air and it is asking for a keychain password

    I am trying to set up a new Macbook Air and it is asking for a keychain password.  Where do I find one?

  • Connect & Update a Server DB from remote Client

    I'm a novice as far as Java Technologies. I would like to create a Java program and publish it to a remote client using Java Web Start. What I need to be able to do is update a SQL Server database, located on my local server, from the remote client.

  • Solaris 10 u3 GA(Sparc)

    I am running SPARC Solaris 10 u3 on an Ultra 5. Whenever I load SMC it reports "no solaris management console server running". I have tried /etc/init.d/init.wbem stop / start / status & none of those command generate any kind of message. I suspect so

  • Need to put procedding zero before a number

    hi i wnat to put zero digit bofre a number which is coming in a variable...pls sugest for that do we use concatenate or i dont want to use alpha input etc functionon module only one zero i want to put not all empty space to zero so pls suggest how to