False sequence of ViewLinks "firing"

Hi!
We're still stuck with 9.03 Preview. But I hope it's more like a general question.
The structure of one of our AppModules looks very much like this:
AppModule
   |
   |- WorklistView
          |
          |- WorklistProxyView (via ViewLink)
                   |
                   |- ContextView (via ViewLink)
                   |
                   |- ImageView (via ViewLink)
                   |
                   |- RecipientsView (via ViewLink)
                   |
                   |- DemoView (via ViewLink)That's basically it.
The proxy was introduced so that during normal operation, the WorklistView has control over the other ViewObjects, and so that during a demo, a different ViewObject can take control. We do that by deleting the old ViewLink and creating a new one. This works fine.
The problem is this:
When I perform a search on the WorklistView, then (judging from the debug output) the sequence of "updates" is like this:
1. WorklistView
2. ContextView
3. ImageView
4. RecipientsView
5. DemoView
6. WorklistProxyView
7. ContextView
8. ImageView
9. RecipientsView
10. DemoView
I would have expected:
1. WorklistView
2. WorklistProxyView
3. ContextView
4. ImageView
5. RecipientsView
6. DemoView
The problem is that some ViewObjects are executed more than once which basically wrecks other functions that are using TableModelListeners to determine any changes. It seems that some ViewObjects do not wait for the proxy to update. When the proxy finally updates, all depending ViewObjects do an update again.
What could be the cause for such a behaviour?
That's how I perform the search:
public void performSearch()
  if (!systemDescription.isSearchableTable())
   return;
  System.out.println( "Searching" );
  ViewCriteria viewCriteria = viewObject.createViewCriteria();
  searchTable.fillViewCriteria( viewCriteria );
  if (viewCriteria.isEmpty())
    viewCriteria = null;
  if (viewObject != null)
    viewObject.applyViewCriteria( viewCriteria );
    viewObject.executeQuery();
    viewObject.setCurrentRowAtRangeIndex( 0 );
    panelBinding.executeIfNeeded();
}Where's the mistake?
Thanks in advance!
Sascha Herrmann
GE Medical Systems

Thanks for your help, but our performSearch() does (almost) nothing else than executing the top-level VO. The JUPanelBinding is never set to find mode, since there's no user input. We create the ViewCriteriaRows programmatically.
The structure of our ViewObjects and ViewLinks is described above.
We use a single JUPanelBinding right now.
WorklistView: 4 JTables bound using JClient JUTableBindings + 2 JUActionBindings (for next/prev buttons).
ProxyView: 1 dummy JTextField bound using JUTextFieldBinding. This text field is never displayed. We just use it to "pin" the VO to the JUPanelBinding.
ContextView: some JULabelBindings.
ImageView: a JUTreeBinding.
The remaining VOs: one JTable each, using JUTableBindings.
Let me add the debug log created during a search. I removed some EntityCache warnings.
2002-11-26 13:21:13,486 [AWT-EventQueue-0] DEBUG - ENTERING SearchableTablePanel.performSearch
<3>[771] (7781) QueryCollection.createColumnList(1431) Column count: 39
<3>[772] (0) ViewObjectImpl.closeStatements(6545) ViewObject close prepared statements...
<3>[773] (0) ViewObjectImpl.getPreparedStatement(6450) ViewObject : Created new QUERY statement
<3>[774] (15) ViewObjectImpl.buildQuery(1468) SELECT PerformedProcedure.PERFORMED_PROCEDURE_ID, .....       
WorklistView: executeQueryForCollection
<3>[775] (1172) EntityCache.add(220) EntityCache:add WARNING - ignoring row with no primary key
..... (several more, still unknown where they come from)
<3>[938] (0) EntityCache.add(220) EntityCache:add WARNING - ignoring row with no primary key
WorklistView: first!
ProxyView: executeQueryForCollection
ProxyView: first!
RecipientsView: executeQueryForCollection
RecipientsView: first!
ImageView: executeQueryForCollection
ImageView: first!
DemoView: executeQueryForCollection
DemoView: first!
ContextView: executeQueryForCollection
ContextView: first!
<3>[939] (31) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[940] (0) QueryCollection.createColumnList(1431) Column count: 20
<3>[941] (15) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[942] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 65662
RecipientsView: executeQueryForCollection
RecipientsView: first!
<3>[945] (0) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[946] (16) QueryCollection.createColumnList(1431) Column count: 11
<3>[947] (15) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[948] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 65662
ImageView: executeQueryForCollection
ImageView: first!
<3>[949] (16) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[950] (0) QueryCollection.createColumnList(1431) Column count: 26
<3>[951] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[952] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 144523
DemoView: executeQueryForCollection
DemoView: first!
<3>[955] (0) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[956] (0) QueryCollection.createColumnList(1431) Column count: 21
<3>[957] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[958] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 144523
ContextView: executeQueryForCollection
ContextView: first!
<3>[959] (16) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[960] (0) QueryCollection.createColumnList(1431) Column count: 6
<3>[961] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[962] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 144523
ProxyView: executeQueryForCollection
ProxyView: first!
RecipientsView: executeQueryForCollection
RecipientsView: first!
ImageView: executeQueryForCollection
ImageView: first!
DemoView: executeQueryForCollection
DemoView: first!
ContextView: executeQueryForCollection
ContextView: first!
<3>[963] (15) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[964] (0) QueryCollection.createColumnList(1431) Column count: 20
<3>[965] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[966] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 65662
RecipientsView: executeQueryForCollection
RecipientsView: first!
<3>[969] (16) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[970] (0) QueryCollection.createColumnList(1431) Column count: 11
<3>[971] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[972] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 65662
ImageView: executeQueryForCollection
ImageView: first!
<3>[973] (15) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[974] (16) QueryCollection.createColumnList(1431) Column count: 26
<3>[975] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[976] (0) ViewRowSetImpl.bindParameters(1306) Binding param 1: 144523
DemoView: executeQueryForCollection
DemoView: first!
<3>[979] (0) ViewObjectImpl.clearQueryCollectionCache(3623) Clear QueryCollection in cache...
<3>[980] (0) QueryCollection.createColumnList(1431) Column count: 21
<3>[981] (0) ViewObjectImpl.getPreparedStatement(6436) ViewObject : Reusing defined prepared Statement
<3>[982] (781) ViewRowSetImpl.bindParameters(1306) Binding param 1: 144523
ContextView: executeQueryForCollection
ContextView: first!
2002-11-26 13:21:16,111 [AWT-EventQueue-0] DEBUG - LEAVING SearchableTablePanel.performSearchSo that's it.
I hope that helps. We also made the following observation:
When the user conducts the search immediately after another search (with the first row in WorklistView selected), then the error occurs.
If the user conducts a search, navigates to a row (other than the first!) in WorklistView (our top-level VO) and then presses our search button, then the problem is gone.
If the user conducts a search, navigates to a row (other than the first!) in WorklistView, navigates back to the first row and then conducts the search, then the problem is back.
The only obvious difference I can see is: when it works, there are
"JUTableBinding$JUTableModel.updateNavigated(686) Navigating to 0"
messages in the debug log after WorklistView.first(). These do not appear, when it doesn't work.
Strange, isn't it? What's so special with the first row?
Sascha Herrmann

Similar Messages

  • Sequence of trigger firing in forms 6i

    hai,
    please reply soon ..
    i need full details about sequence of trigger firing when form initiate,
    query mode,modify mode,delete mode and insert mode in forms 6i .
    regards,
    B.prakash

    please look into the forms 6i online help manuals. There are the trigger flows of all events

  • Sequence of trigger firing in Forms

    hi all,
    can any one tell me sequence of trigger firing in forms
    regards,
    Ajay

    Sorry boss,
    the actual link is:-
    Forms trigger Firing Sequence

  • Sequence of Events Fired and Triggers Fired in Forms.

    Hi,
    Please help me to know how the events and Triggers will be fired in Forms Developer 9i.
    Thanks in Advance.

    Please take a look into Forms-Builder Online Help, there you'll find some sequence diagrams describing the order of Triggers firing on certain actions.
    e.g. search for "Post and Commit Transactions"
    brds,
    Peter

  • Firing sequence of Oracle forms 6.0 triggers

    Hi All,
    Pls tell anyone what is the sequence of trigger firing in oracle 6.0 (oracle apps).
    Thanks in advance

    Hi,
    Please see if these links/docs help.
    Note: 61675.1 - Trigger Execution Sequence in Oracle Forms
    firing sequence of triggers in oracle forms
    http://tinyurl.com/2wyffj6
    Thanks,
    Hussein

  • I am writting a test  using a sequencer to test for multiple button click

    I'm using flex sdk 4.1 and have a situation where a  button click is sometimes called twice. I am writting a test for this using a sequencer and it will run for at least one button click, what I am not sure is how to test for multiple click events(which shouldn't happen, but occours randomly in my project)
    package tests.view
        import flash.events.MouseEvent;
        import flexunit.framework.Assert;
        import mx.events.FlexEvent;
        import org.flexunit.async.Async;
        import org.fluint.sequence.SequenceEventDispatcher;
        import org.fluint.sequence.SequenceRunner;
        import org.fluint.sequence.SequenceWaiter;
        import org.fluint.uiImpersonation.UIImpersonator;
        import views.AddComments;
        public class TestAddComments
            private var view:AddComments;
            [Before(async,ui)]
            public function setUp() : void
                view = new AddComments;
                Async.proceedOnEvent( this, view, FlexEvent.CREATION_COMPLETE, 600 );
                UIImpersonator.addChild( view );
            [Test]
            public function testButtonClick():void
                view.addCommentBtn
                var sequence:SequenceRunner = new SequenceRunner( this );
                sequence.addStep( new SequenceEventDispatcher( view.addCommentBtn, new MouseEvent( 'click', true, false ) ) );
                sequence.addStep( new SequenceWaiter( view.addCommentBtn, MouseEvent.CLICK, 100 ) );
                sequence.run();

    The only way you could test for that type of circumstance... one where something may happen... is to do so with a timeout. In other words, you cannot let the test pass simply because the first event occurred.
    Two ways to handle this... with sequences:
    Instead, you write a test that expects 2 clicks. In the assertion handler (which would only be reached if both clicks occur) you would fail the test:
    fail('i shouldnt be here');
    In the Waiter for the 2nd click, you would specify a timeout handler. That timeout handler will get called in the 2nd click does not occur in the specified time... (finding that time is the hard part). The default timeout handler fails the test, however, in your case, your timeout handler would just happily do any assertions needed and move on. A timeout does not necessarily mean failure... in your case, it is correct
    Second choice:
    You could create a timer. Create an event handler for the button click which increments a counter. Start the timer, do your test. However, have your test pending on the timer's completion rather than something like the click.. In that case, you would then be able to just check the count:
    private var clickCount:int = 0;
    [Test]
    public function testButtonClick():void {
         var timer:Timer = new Timer( 100, 1 );
        Async.handleEvent( this, timer, TimerEvent.COMPLETE, checkClickCount );
         view.addCommentBtn.addEventListener( 'click', function( e:Event ):void { clickCount++ } );
         view.addCommentBtn.dispatchEvent( new MouseEvent( 'click;, true, false ) );
    private function checkClickCount( e:Event ):void {
    assertEquals( 1, clickCount );
    However, I can't imagine how the test you are describing could ever yield more than one click event... I am guessing the problem is elsewhere, but this will help you verify
    Mike

  • Unable to capture Action_Success event during update

    Hi I am using SAP-B1 2004. Using UIAPI, i am trying to do something when an item information in item master is updated.
    On update button click i am capturing the Before_Action =True event to do something. If the Item information is successfully updated, i am trying to capture Action_Success = True event to do something.
    The problem i am encountering is that, the Action_Success event is not getting fired.
    After Before_Action =True , Before_Action =false event is getting fired and after that the item uid value changes from 1 (for update button) to some other value.
    Any idea why this is happening? My code is as follows:
    If pVal.FormType = 150 And pVal.FormMode = 2 Then
       If pVal.ItemUID = "1" And pVal.EventType =   
           et_ITEM_PRESSED And pVal.Before_Action = True Then
           **Do Something***
       End If
       If pVal.ItemUID = "1" And pVal.EventType = 
           et_ITEM_PRESSED And pVal.Action_Success = True Then
           **Do Something***
       End If
       If pVal.ItemUID = "1" And pVal.EventType = 
          et_ITEM_PRESSED And pVal.Action_Success = false Then
           **Do Something***           
       End If
    End If
    Thanks.

    Just change the second condition from
    If pVal.ItemUID = "1" And pVal.EventType =
    et_ITEM_PRESSED And pVal.Action_Success = True Then
    to
    If pVal.ItemUID = "1" And pVal.EventType =
    et_ITEM_PRESSED And pVal.BeforeAction = false Then
    and forget ActionSuccess.
    If there is an error in between, the "et_ITEM_PRESSED pVal.BeforeAction = false" is not sent. This means, whenever you get the event "et_ITEM_PRESSED pVal.BeforeAction = false", the action actually was successful.
    You may want to test it with following proof-snippet:
    If pVal.FormType = 150 And pVal.FormMode = fm_UPDATE_MODE Then
        If pVal.ItemUID = "1" And pVal.EventType = _
            et_ITEM_PRESSED And pVal.Before_Action = True Then
            Debug.Print "before"
        End If
        If pVal.ItemUID = "1" And pVal.EventType = _
            et_ITEM_PRESSED And pVal.Before_Action = False Then
            Debug.Print "after"
        End If
        If pVal.ItemUID = "1" And pVal.EventType = _
            et_ITEM_PRESSED And pVal.Action_Success = True Then
            Debug.Print "success"
        End If
        If pVal.ItemUID = "1" And pVal.EventType = _
            et_ITEM_PRESSED And pVal.Action_Success = False Then
            Debug.Print "no success"
        End If
    End If
    Case 1: Update successful
    Output: before, after, no success
    Case 1: Update fails
    Output: before, no success
    Means: forget ActionSuccess, use BeforeAction true/false.
    (That's how solved the problem did it when I encountered the same problem.)
    Problem is, you're not able to to something if there was an error. But why would you want to? User sees a red error message and tryes again...
    Florian
    Message was edited by: Florian Zeller

  • Problems with 'background' JFrame focus when adding a modal JDialog

    Hi all,
    I'm trying to add a modal JDialog to my JFrame (to be used for data entry), although I'm having issues with the JFrame 'focus'. Basically, at the moment my program launches the JFrame and JDialog (on program load) fine. But then - if I switch to another program (say, my browser) and then I try switching back to my program, it only shows the JDialog and the main JFrame is nowhere to be seen.
    In many ways the functionality I'm looking for is that of Notepad: when you open the Find/Replace box (albeit it isn't modal), you can switch to another program, and then when you switch back to Notepad both the main frame and 'JDialog'-esque box is still showing.
    I've been trying to get this to work for a couple of hours but can't seem to. The closest I have got is to add a WindowFocusListener to my JDialog and I hide it via setVisible(false) once windowLostFocus() is fired (then my plan was to implement a similar functionality in my JFrame class - albeit with windowGainedFocus - to show the JDialog again, i.e. once the user switches back to the program). Unfortunately this doesn't seem to work; I can't seem to get any window or window focus listeners to actually fire any methods, in fact?
    I hope that kind of makes sense lol. In short I'm looking for Notepad CTRL+R esque functionality, albeit with a modal box. As for a 'short' code listing:
    Main.java
    // Not all of these required for the code excerpt of course.
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.GraphicsEnvironment;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ComponentAdapter;
    import java.awt.event.ComponentEvent;
    import java.awt.event.FocusEvent;
    import java.awt.event.FocusListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowFocusListener;
    import java.awt.event.WindowListener;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JSplitPane;
    import javax.swing.UIManager;
    import javax.swing.plaf.basic.BasicSplitPaneDivider;
    import javax.swing.plaf.basic.BasicSplitPaneUI;
    public class Main extends JFrame implements ActionListener, WindowFocusListener, WindowListener, FocusListener {
         static JFrame frame;
         private static int programWidth;
         private static int programHeight;
         private static int minimumProgramWidth = 700;
         private static int minimumProgramHeight = 550;
         public static SetupProject setupProjectDialog;
         public Main() {
              // Setup the overall GUI of the program
         private static void createSetupProjectDialog() {
              // Now open the 'Setup Your Project' dialog box
              // !!! Naturally this wouldn't auto-open on load if the user has already created a project
              setupProjectDialog = new SetupProject( frame, "Create Your Website Project", true );
              // Okay, for this we want it to be (say) 70% of the progamWidth/height, OR *slightly* (-25px) smaller than the minimum size of 700/550
              // Change (base on programWidth/Height) then setLocation
              int currProgramWidth = getProgramWidth();
              int currProgramHeight = getProgramHeight();
              int possibleWidth = (int) (currProgramWidth * 0.7);
              int possibleHeight = (int) (currProgramHeight * 0.7);
              // Set the size and location of the JDialog as needed
              if( (possibleWidth > (minimumProgramWidth-25)) && (possibleHeight > (minimumProgramHeight-25)) ) {
                   setupProjectDialog.setPreferredSize( new Dimension(possibleWidth,possibleHeight) );
                   setupProjectDialog.setLocation( ((currProgramWidth/2)-(possibleWidth/2)), ((currProgramHeight/2)-(possibleHeight/2)) );
               else {
                   setupProjectDialog.setPreferredSize( new Dimension( (minimumProgramWidth-25), (minimumProgramHeight-25)) );
                   setupProjectDialog.setLocation( ((currProgramWidth/2)-((minimumProgramWidth-25)/2)), ((currProgramHeight/2)-((minimumProgramHeight-25)/2)) );
              setupProjectDialog.setResizable(false);
              setupProjectDialog.toFront();
              setupProjectDialog.pack();
              setupProjectDialog.setVisible(true);
         public static void main ( String[] args ) {
              Main frame = new Main();
              frame.pack();
              frame.setVisible(true);
              createSetupProjectDialog();
            // None of these get fired when the Jframe is switched to. I also tried a ComponentListener, but had no joy there either.
         public void windowGainedFocus(WindowEvent e) {
              System.out.println("Gained");
              setupProjectDialog.setVisible(true);
         public void windowLostFocus(WindowEvent e) {
              System.out.println("GainedLost");
         public void windowOpened(WindowEvent e) {
              System.out.println("YAY1!");
         public void windowClosing(WindowEvent e) {
              System.out.println("YAY2!");
         public void windowClosed(WindowEvent e) {
              System.out.println("YAY3!");
         public void windowIconified(WindowEvent e) {
              System.out.println("YAY4!");
         public void windowDeiconified(WindowEvent e) {
              System.out.println("YAY5!");
         public void windowActivated(WindowEvent e) {
              System.out.println("YAY6!");
         public void windowDeactivated(WindowEvent e) {
              System.out.println("YAY7!");
         public void focusGained(FocusEvent e) {
              System.out.println("YAY8!");
         public void focusLost(FocusEvent e) {
              System.out.println("YAY9!");
    SetupProject.java
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowFocusListener;
    import java.awt.event.WindowListener;
    import java.io.IOException;
    import java.net.URL;
    import javax.imageio.ImageIO;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    public class SetupProject extends JDialog implements ActionListener {
         public SetupProject( final JFrame frame, String title, boolean modal ) {
              // Setup the JDialog
              super( frame, title, modal );
              setDefaultCloseOperation( JDialog.DISPOSE_ON_CLOSE );
              // Bad code. Is only temporary
              add( new JLabel("This is a test.") );
              // !!! TESTING
              addWindowFocusListener( new WindowFocusListener() {
                   public void windowGainedFocus(WindowEvent e) {
                        // Naturally this now doesn't get called after the setVisible(false) call below
                   public void windowLostFocus(WindowEvent e) {
                        System.out.println("Lost");
                        setVisible(false); // Doing this sort of thing since frame.someMethod() always fires a null pointer exception?!
    }Any help would be very much greatly appreciated.
    Thanks!
    Tristan

    Hi,
    Many thanks for the reply. Isn't that what I'm doing with the super() call though?
    As in, in Main.java I'm doing:
    setupProjectDialog = new SetupProject( frame, "Create Your Website Project", true );Then the constructor in SetupProject is:
    public SetupProject( final JFrame frame, String title, boolean modal ) {
              // Setup the JDialog
              super( frame, title, modal );
              And isn't the super call (since the class extends JDialog) essentially like doing new JDialog(frame,title,modal)?
    If not, that would make sense due to the null pointer exception errors I've been getting. Although I did think I'd done it right hence am confused as to the right way to handle this,if so.
    Thanks,
    Tristan
    Edited by: 802573 on 20-Oct-2010 08:27

  • BPEL Test waits forever to receive callback from human task service

    Hi,
    I've created a test (CreditCardInvalidTest.xml) to test a bpel process (testbpel.bpel) which contains a call to a human task service. The problem is when the test executes it waits forever to receive the response message from the human task service but clearly i've emulated it! Would appreciate help.
    I've attached both files and highlighted the relevant sections. Thanks.
    testbpel.bpel
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    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:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    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:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </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 sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    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 testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>*
    </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <--- it waits FOREVER at this bit to receive the approverResponse.xml :s
    <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    RaviKiran,
    I agree that the explanation oracle provided in the attach link, is a bit confusing. The main goal there is to describe the behavior of processes, when there is a need to combine, or split the transactions within those processes (or in some cases the processes themselves).
    The thing is - The default transaction for a synchronous process is requiresNew. That was until version 11.1.1.6. On this last version, you are asking to enter a Transaction parameter when creating a new synchronous bpel process. The default value being prompt is required and that's what causing the problem – You automatically accept the default.
    The assumption is, that developing bpel processes, should come with understanding of all those behaviors.
    The problem for my understanding is that some of those behaviors were not so cleared until now.
    Arik

  • BPEL process

    Error occurs when i tried to invoke creditservice through SOAOrderBooking BPEL process..
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    Error(455):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 455 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" of variable "varNotificationResponse" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}ArrayOfResponse" is defined in one of the WSDLs referenced by the deployment descriptor.
    And my SOAOrderBooking BPEL (SOAOrderBooking.bpel) code is:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="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:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- 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:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </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 sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- 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 SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    I think there is some err in invoking ns5: NotificationService
    Plzzzz help me to resolve this issue...
    Thanks,
    Indhu

    Thx. Now there is no errors in compiling that SOAOrderBooking BPEL process(there is some warnings), but iam getting deployment errors:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think the above deployment err were bcoz of compilation warnings:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    plz come up with suggestions to resolve this issue...
    Thanks,
    Indhu

  • Threads and lockups

    Hi everyone,
    I have a question about threads. I have a JDesktopPane in a Frame. I have added a number of JInternalFrame to the JDeskTopPane that is show/hide as required. This all works fine.
    One particular internal frame is a frame that allows the training of a neural network. This process can take a long time so I am associated the neural network class with it's own thread and then calling "start()" (which runs the training sequence over the example set).
    During the traning sequence events are fired and are picked up by NeuralNetwork listeners. This is so that the progress of the neural network training can be monitorred. For example, my internal frame has a progress bar that increments every time a training cycle is completed (a training sequence consists on many training cycles).
    The problem occurs when the training sequence finishes. Somehoe things go haywire and my machine grinds to a halt. Everything slows down to a crawl and it is very difficult to get the machine to respond to anything.
    I believe that it is something to do with the way that I have defined by events. I have an event class defined as follows;
    /* CODE START */
    public class NeuralNetworkEvent extends java.util.EventObject {
        private int cycle = 0;
        public int getCycle() { return this.cycle; }
        public NeuralNetworkEvent(Object source, int cycle) {
            super(source);
            this.cycle = cycle;
    /* CODE END */
    And a listener defined like this;
    /* CODE START */
    public interface NeuralNetworkListener extends java.util.EventListener {
        public void trainingCycleCompleted(NeuralNetworkEvent evt);
    /* CODE END */
    Events are fired to registered listeners from within the neural network class like this;
    /* CODE START */
        public void addNeuralNetworkListener(NeuralNetworkListener listener) { neuralNetworkListeners.add(listener); }
        public void fireNeuralNetworkEvent() {
            for (int count = 0; count < neuralNetworkListeners.size(); count++)
                ((NeuralNetworkListener)neuralNetworkListeners.get(count)).trainingCycleCompleted(new NeuralNetworkEvent(this, currentCycle));
    /* CODE END */
    And my internal frame (which is a NeuralNetworkListener) does this when a neural network event is fired;
    /* CODE START */
        pbNetwork.setValue(pbNetwork.getValue() + 1);
        if ( evt.getCycle() == TOTAL_CYCLES - 1 ) cmdPredict.setEnabled(true);
    /* CODE END */
    Interestingly, execution never gets to the point where the predict button would be enabled (and I have checked the "if" statement for validity - it should resolve to "true"). In any case, is it at the point where the progress bar reaches 100% that everything goes haywire.
    I hope that someone can help me this this - I am a little stuck with this.
    Thanks in advance for you help. :)
    Ben

    Hi,
    Swing classes are not thread-safe. So if you want to update some Swing object (like the ProgressBar) from other than the Event Thread, use SwingUtilities.invokeLater(Runnable) or SwingUtilities.invokeAndWait(Runnable). Note, that firing an event takes place in the same Thread. So you might need to synchronize them as well.

  • How to make a pdf rip faster

    Hi every one. I just made a post card for a customer in Indesign CC. I export the file as a print pdf. . The file ends up being 4.8mbs. When I try to impose and print the file on my rip software (fiery) it takes 15 mins to rip. Is there any way I can preflight or some how compress my file to that it rips easier? I ran preflight on Acrobat 11 pro on the color digital print  preset and it made the graphics look choppy and put lines through some of the type. Does any one know how I might remedy this problem? I need to find a solution and get these printed today.

    naddad wrote:
    > The attribute node of a LED contains the "Blink" field but when set to
    > "TRUE", the blinking is too slow. How can i generate a faster
    > "TRUE/FALSE" sequence?
    Put the terminal of your led in a while-loop outside the rest of the
    diagram (so it can free-run).
    Make a local-variable which is true, when the led should be blinking.
    Put an Shift-Register inside the loop
    wire an boolean constant from outside to the shift register.
    wire the signal from the shift register "input" to a "not" function and
    this to the shift-register "output"
    wire the signal to an "OR"-Gate
    wire the local variable to the "OR"-Gate
    wire the output of the "OR"-Gate to your control that should blink
    put an "Wait until next ms Multiple" inside and wire a contant
    containing
    the blink-length you want to it.
    This should do it.
    It sounds a lot more complicated than it is. If you want, you can
    Download an example (in LabView 6i) from
    http://marco.tedaldi.net/laview/vis/blinking.vi
    I hope, it helps
    Marco

  • How to add custom actions to the Settings page for a Document Library?

    I want to add a custom action under General Settings on the Document Library Settings page (listedit.aspx). So I added a new SharePoint 2010 "Empty Element", and put this code in the Elements.xml file:
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
    Id="MyClassName"
    Sequence="999"
    GroupId="GeneralSettings"
    Location="Microsoft.SharePoint.ListEdit.DocumentLibrary"
    Title="My Link"
    Description="My description here"
    Rights="ManageWeb">
    <UrlAction
    Url="~sitecollection/_layouts/MyProject/MyPage.aspx"/>
    </CustomAction>
    </Elements>
    I found the GroupId and Location here: http://msdn.microsoft.com/en-us/library/bb802730.aspx but I am starting to wonder if this documentation is for MOSS2007 rather that SP2010
    as it says.
    What am I missing?
    Any help or hint would be greatly appreciated!

    Hi Henrik,
    Can we add above custom action in our custom group like General Settings?
    I have tried for that but it is not working.
    I have tried as follows
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomActionGroup
    Id="LibrarySettings.MyGroup"
    Title ="My Group"
    Sequence="1000"
    Location="Microsoft.SharePoint.ListEdit">
    </CustomActionGroup>
    <CustomAction Id="Custom.Configuration.ListCustomSettings"
    GroupId="LibrarySettings.MyGroup"
    Location="Microsoft.SharePoint.ListEdit"
    RequireSiteAdministrator="FALSE"
    Sequence="100"
    Title="Library Admins">
    <UrlAction Url="_layouts/15/LibrarySettings.aspx?List={ListId}" />
    </CustomAction>
    </Elements>
    But custom group is not created in list settings
    Any idea what I am missing here?

  • JAX-rpx document literal type web services

    I was trying to create a Document centric Web service. I followed all the steps in the document "Patterns and Designs for Building Document based Web Services" available at java.sun.com. I created the XSD's and WSDL files (top down approach). i used the following command of wscompile tool to generate the java source code.
    wscompile -import -d build/classes -keep -s build/src -model build/model.xml.gz
    to publich the web service on a server.
    When the tool generates the code, the parameters for the method are the elements of the schema, instead of being an object, specified in the WSDL.
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1.2_01, build R29)
    // Generated source version: 1.1.2
    package com.galaxyplus.tranentry.services;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.galaxyplus.tranentry.services.PurchaseOrderStatus acceptPO(com.galaxyplus.tranentry.services.Address billTo, java.util.Calendar createDate, com.galaxyplus.tranentry.services.LineItem[] items, java.lang.String poID, com.galaxyplus.tranentry.services.Address shipTo) throws
             java.rmi.RemoteException;
    }It was supposed to be
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1_03, build R65)
    package com.examples.docliteral;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.examples.docliteral.PurchaseOrderStatus
             acceptPO(com.examples.docliteral.PurchaseOrder parameters) throws
                 java.rmi.RemoteException;
    }Does any one have any inputs on this. I am using the same example as in the Document.
    Thanks

    More Information
    PurchaseOrder.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="PurchaseOrderDocument" type="tns:PurchaseOrder"/>
         <complexType name="Address">
              <sequence>
                   <element name="street" type="string" nillable="false"/>
                   <element name="city" type="string" nillable="false"/>
                   <element name="state" type="string" nillable="false"/>
                   <element name="zipCode" type="string" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="LineItem">
              <sequence>
                   <element name="itemname" type="string" nillable="false"/>
                   <element name="price" type="decimal" nillable="false"/>
                   <element name="quantity" type="int" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="PurchaseOrder">
              <sequence>
                   <element name="billTo" type="tns:Address" nillable="false"/>
                   <element name="createDate" type="dateTime" nillable="false"/>
                   <element name="items" type="tns:LineItem" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
                   <element name="poID" type="string" nillable="false"/>
                   <element name="shipTo" type="tns:Address" nillable="false"/>
              </sequence>
         </complexType>
    </schema>Status.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="Status" type="tns:PurchaseOrderStatus"/>
         <complexType name="PurchaseOrderStatus">
              <sequence>
                   <element name="orderid" type="string" nillable="false"/>
                   <element name="timestamp" type="string" nillable="true"/>
              </sequence>
         </complexType>
    </schema>Abstract.wsdl
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <definitions xmlns:tns="urn:poservice" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="uri:X" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <types>
              <xs:schema>
                   <xs:import namespace="uri:X" schemaLocation="PurchaseOrder.xsd"/>
                   <xs:import namespace="uri:X" schemaLocation="Status.xsd"/>
              </xs:schema>
         </types>
         <message name="IPurchaseOrder_acceptPO">
              <part name="parameters" element="ns1:PurchaseOrderDocument"/>
         </message>
         <message name="IPurchaseOrder_acceptPOResponse">
              <part name="result" element="ns1:Status"/>
         </message>
         <portType name="IPurchaseOrder">
              <operation name="acceptPO">
                   <input message="tns:IPurchaseOrder_acceptPO"/>
                   <output message="tns:IPurchaseOrder_acceptPOResponse"/>
              </operation>
         </portType>
    </definitions>poservice.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="urn:poservice"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <import namespace="urn:poservice" location="Abstract.wsdl"/>
         <binding name="IPurchaseOrderBinding" type="tns:IPurchaseOrder">
              <soap:binding style="document"
                             transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="acceptPO">
                   <soap:operation/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="POService">
            <port name="IPurchaseOrderPort" binding="tns:IPurchaseOrderBinding">
              <soap:address location="http://127.0.0.1:8080/docliteralfromjava/jaxrpc"/>
            </port>
         </service>
    </definitions>Thanks

  • ORABPEL Err: 10007 while deploying SOAOrderBooking appln.

    When i tried to deploy the SOAOrderBooking Appln...iam getting this compilation err: ORABPEl err:1007 ...tell me some suggestions pls...
    Error is:
    Error(453):
    [Error ORABPEL-10007]: unresolved messageType
    [Description]: in line 453 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" of variable "varNotificationReq" is not defined in any of the WSDL files.
    [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/ias/pcbpel/NotificationService}EmailNotificationRequest" is defined in one of the WSDLs referenced by the deployment descriptor.
    SOAOrderBooking.bpel code:
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Fri Jan 06 13:47:07 PST 2006
    // Author: Roman
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="SOAOrderBooking"
    targetNamespace="http://www.globalcompany.com/ns/OrderBooking"
    xmlns="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:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ns4="http://www.globalcompany.com/ns/order"
    xmlns:ns24="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:ns30="http://rapidservice.soademo.org/types/"
    xmlns:rules="http://xmlns.oracle.com/bpel/rules"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns16="http://xmlns.oracle.com/pcbpel/adapter/db/top/Orders/Orders"
    xmlns:ns27="http://www.globalcompany.com/ns/OrderBooking/rules"
    xmlns:ns5="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ns31="http://creditservice.soademo.org/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns32="http://creditservice.soademo.org/types/"
    xmlns:ns9="http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus"
    xmlns:ns17="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns1="http://xmlns.oracle.com/bpel/rules"
    xmlns:ns25="http://selectservice.srdemo.org/"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/OrderStatus/"
    xmlns:ns26="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns15="http://xmlns.oracle.com/pcbpel/adapter/db/Orders/"
    xmlns:ns10="http://www.globalcompany.com/ns/Fulfillment"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns20="http://www.oracle.com/webservices/internal/literal"
    xmlns:ns13="http://xmlns.oracle.com/bpel"
    xmlns:ns7="http://credit.soademo.org/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns29="http://xmlns.oracle.com/bpel/services/IdentityService"
    xmlns:ns12="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence/"
    xmlns:client="http://www.globalcompany.com/ns/OrderBooking"
    xmlns:ns23="http://www.globalcompany.com/ns/rapidservice"
    xmlns:ns18="http://xmlns.oracle.com/pcbpel/adapter/db/OrderSequence"
    xmlns:ns6="http://www.globalcompany.com/ns/credit"
    xmlns:ns28="http://www.globalcompany.com/ns/OrderBooking/DecisionService"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns22="http://www.globalcompany.com/ns/selectservice"
    xmlns:ns11="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns19="http://persistence.customerservice.soademo.org/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://www.globalcompany.com/ns/customer"
    xmlns:ns14="http://www.globalcompany.com/ns/OrderBooking/ApprovalRequired"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ns21="http://www.globalcompany.com/ns/credit.xsd"
    xmlns:ns8="http://xmlns.oracle.com/pcbpel/adapter/db/Order/">
    <!-- ================================================================= -->
    <!-- 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:SOAOrderBooking"
    myRole="SOAOrderBookingProvider"
    partnerRole="SOAOrderBookingRequester"/>
    <partnerLink name="OrderFulfillment" partnerRole="execute_pptProvider"
    partnerLinkType="ns26:execute_pptLT"/>
    <partnerLink name="RapidService" partnerRole="RapidQuote_Role"
    partnerLinkType="ns23:RapidQuote_PL"/>
    <partnerLink name="CustomerService" partnerRole="CustomerService_Role"
    partnerLinkType="ns3:CustomerService_PL"/>
    <partnerLink myRole="SelectServiceRequester" name="SelectService"
    partnerRole="SelectServiceProvider"
    partnerLinkType="ns17:SelectService_PL"/>
    <partnerLink name="OrderStatus" partnerRole="OrderStatus_role"
    partnerLinkType="ns2:OrderStatus_plt"/>
    <partnerLink name="Order" partnerRole="Order_role"
    partnerLinkType="ns8:Order_plt"/>
    <partnerLink name="OrderSequence" partnerRole="OrderSequence_role"
    partnerLinkType="ns12:OrderSequence_plt"/>
    <partnerLink name="CreditValidatingService" partnerRole="creditservice_Role"
    partnerLinkType="ns31:creditservice_PL"/>
    </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 sent back to the
    requester during callback
    -->
    <variable name="inputVariable"
    messageType="client:SOAOrderBookingRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:SOAOrderBookingResponseMessage"/>
    <variable name="OrderBookingFault"
    messageType="client:SOAOrderBookingFaultMessage"/>
    <variable name="customerServiceResponse"
    messageType="ns3:CustomerService_findCustomerByIdResponse"/>
    <variable name="requiresApproval" type="xsd:boolean"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault">
    <sequence name="Sequence_12">
    <scope name="SetOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('canceled')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    <copy>
    <from variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:comments"/>
    </copy>
    </assign>
    <invoke name="SetFaultedOrderStatus" partnerLink="OrderStatus"
    portType="ns2:OrderStatus_ptt" operation="update"
    inputVariable="orderStatusRequest"/>
    </sequence>
    </scope>
    </sequence>
    </catch>
    </faultHandlers>
    <!-- ================================================================= -->
    <!-- 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 SOAOrderBooking.wsdl
    -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:SOAOrderBooking" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <scope name="InsertOrderIntoDB">
    <variables>
    <variable name="orderRequest" messageType="ns8:OrdersCollection_msg"/>
    <variable name="orderSequenceInput"
    messageType="ns12:OrderSequenceInput_msg"/>
    <variable name="orderSequenceOutput"
    messageType="ns12:OrderSequenceOutputCollection_msg"/>
    </variables>
    <sequence name="Sequence_11">
    <invoke name="GetOrderId" partnerLink="OrderSequence"
    portType="ns12:OrderSequence_ptt" operation="OrderSequence"
    inputVariable="orderSequenceInput"
    outputVariable="orderSequenceOutput"/>
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="orderSequenceOutput"
    part="OrderSequenceOutputCollection"
    query="/ns18:OrderSequenceOutputCollection/ns18:OrderSequenceOutput/ns18:order_seq_id_gen.nextval"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    </copy>
    <copy>
    <from expression="string('pending')"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus"/>
    </copy>
    </assign>
    <assign name="TransformOrder">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="orderRequest" part="OrdersCollection"/>
    </copy>
    </assign>
    <invoke name="InsertOrder" partnerLink="Order" portType="ns8:Order_ptt"
    operation="write" inputVariable="orderRequest"/>
    </sequence>
    </scope>
    <scope name="CustomerService">
    <variables>
    <variable name="customerServiceRequest"
    messageType="ns3:CustomerService_findCustomerById"/>
    </variables>
    <sequence name="Sequence_9">
    <assign name="AssignRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:CustID"/>
    <to variable="customerServiceRequest" part="parameters"
    query="/ns3:findCustomerById/ns3:custid"/>
    </copy>
    </assign>
    <invoke name="GetCustInfo" partnerLink="CustomerService"
    portType="ns3:CustomerService" operation="findCustomerById"
    inputVariable="customerServiceRequest"
    outputVariable="customerServiceResponse"/>
    <assign name="AssignInitialCustomerResponse">
    <bpelx:append>
    <bpelx:from>
    <ns4:ShipTo xmlns:ns4="http://www.globalcompany.com/ns/order">
    <ns4:Name>
    <ns4:First/>
    <ns4:Last/>
    </ns4:Name>
    </ns4:ShipTo>
    </bpelx:from>
    <bpelx:to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    </bpelx:append>
    </assign>
    <assign name="AssignCustomerResponse">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:fname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:lname"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:Last"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    <scope name="CreditService">
    <variables>
    <variable name="validateRequest"
    messageType="ns31:Creditservice_verifyCC"/>
    <variable name="validateResponse"
    messageType="ns31:Creditservice_verifyCCResponse"/>
    </variables>
    <sequence name="Sequence_19">
    <assign name="InitializeInput">
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardtype"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccType"/>
    </copy>
    <copy>
    <from variable="customerServiceResponse" part="parameters"
    query="/ns3:findCustomerByIdResponse/ns3:return/ns3:creditcardnumber"/>
    <to variable="validateRequest" part="parameters"
    query="/ns32:verifyCCElement/ns32:creditCard/ns32:ccNum"/>
    </copy>
    </assign>
    <invoke name="InvokeCreditService" partnerLink="CreditValidatingService"
    portType="ns31:creditservice" operation="verifyCC"
    inputVariable="validateRequest"
    outputVariable="validateResponse"/>
    <switch name="CheckCreditResponse">
    <case condition="bpws:getVariableData('validateResponse','parameters','/ns32:verifyCCResponseElement/ns32:result')='false'">
    <sequence name="Sequence_18">
    <assign name="AssignCreditErrorStatus">
    <copy>
    <from expression='string("Credit Card Invalid")'/>
    <to variable="OrderBookingFault" part="payload"
    query="/client:SOAOrderBookingProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="client:OrderBookingFault"
    faultVariable="OrderBookingFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <switch name="CheckForApproval">
    <case condition="string(bpws:getVariableData('requiresApproval')) != 'false'">
    <empty name="Empty_1"/>
    </case>
    </switch>
    <scope name="SelectSupplier">
    <variables>
    <variable name="selectManufacturerResponse"
    messageType="ns17:RequestQuote_processRequestQuoteResponse"/>
    <variable name="rapidManufacturerResponse"
    messageType="ns23:RequestQuotePortType_POItemsQuoteResponse"/>
    </variables>
    <sequence>
    <flow name="CallManufacturers">
    <sequence name="Sequence_2">
    <scope name="GetSelectMfrQuote">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns17:RequestQuote_processRequestQuote"/>
    </variables>
    <sequence name="Sequence_15">
    <assign name="TransformSelectRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('SelectTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeSelectManufacturer"
    partnerLink="SelectService"
    portType="ns17:SelectService"
    operation="processRequestQuote"
    inputVariable="manufacturerRequest"/>
    <receive name="ReceiveSelectManufacturer" createInstance="no"
    partnerLink="SelectService"
    portType="ns17:SelectServiceCallback"
    operation="processRequestQuoteResponse"
    variable="selectManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    <sequence name="GetRapidMfrQuote">
    <scope name="CallRapidManufacturer">
    <variables>
    <variable name="manufacturerRequest"
    messageType="ns23:RequestQuotePortType_POItemsQuote"/>
    </variables>
    <sequence name="Sequence_6">
    <assign name="TransformRapidRequest">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('RapidTransformation.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="manufacturerRequest" part="parameters"/>
    </copy>
    </assign>
    <invoke name="InvokeRapidManufacturer"
    partnerLink="RapidService" portType="ns23:RequestQuote"
    operation="POItemsQuote"
    inputVariable="manufacturerRequest"
    outputVariable="rapidManufacturerResponse"/>
    </sequence>
    </scope>
    </sequence>
    </flow>
    <switch name="SelectByPrice">
    <case condition="number(bpws:getVariableData('selectManufacturerResponse','parameters','/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice')) &lt; number(bpws:getVariableData('rapidManufacturerResponse','parameters','/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice'))">
    <assign name="AssignSelectManufacturer">
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="selectManufacturerResponse" part="parameters"
    query="/ns17:processRequestQuoteResponseElement/ns17:return/ns17:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <assign name="AssignRapidManufacturer">
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierPrice"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierPrice"/>
    </copy>
    <copy>
    <from variable="rapidManufacturerResponse" part="parameters"
    query="/ns23:POItemsQuoteResponse/ns30:return/ns30:supplierName"/>
    <to variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:SupplierInfo/ns4:SupplierName"/>
    </copy>
    </assign>
    </otherwise>
    </switch>
    </sequence>
    </scope>
    <scope name="PostFulfillmentReq">
    <variables>
    <variable name="orderFulfillmentRequest"
    messageType="ns26:PurchaseOrder_request"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <empty/>
    </catchAll>
    </faultHandlers>
    <sequence name="Sequence_4">
    <assign name="initializeRequest">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder"/>
    <to variable="orderFulfillmentRequest" part="PurchaseOrder"/>
    </copy>
    </assign>
    <invoke name="PostFulfillmentReq" partnerLink="OrderFulfillment"
    portType="ns26:execute_ppt" operation="execute"
    inputVariable="orderFulfillmentRequest"/>
    </sequence>
    </scope>
    <scope name="SetFinalOrderStatus">
    <variables>
    <variable name="orderStatusRequest"
    messageType="ns2:OrdersCollection_msg"/>
    </variables>
    <sequence name="Sequence_13">
    <assign name="AssignOrderStatus">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:ordid"/>
    </copy>
    <copy>
    <from expression="string('completed')"/>
    <to variable="orderStatusRequest" part="OrdersCollection"
    query="/ns9:OrdersCollection/ns9:Orders/ns9:status"/>
    </copy>
    </assign>
    <invoke name="UpdateOrderStatus" portType="ns2:OrderStatus_ptt"
    inputVariable="orderStatusRequest" partnerLink="OrderStatus"
    operation="update"/>
    </sequence>
    </scope>
    <scope name="NotifyCustomer">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:email"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="varNotificationReq"
    messageType="ns5:EmailNotificationRequest"/>
    <variable name="varNotificationResponse"
    messageType="ns5:ArrayOfResponse"/>
    <variable name="NotificationServiceFaultVariable"
    messageType="ns5:NotificationServiceErrorMessage"/>
    </variables>
    <sequence name="Sequence_17">
    <assign name="EmailParamsAssign">
    <copy>
    <from expression="string('Default')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:FromAccountName"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Bcc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Cc"/>
    </copy>
    <copy>
    <from expression="string('')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:ReplyToAddress"/>
    </copy>
    <copy>
    <from expression="string('Your order has been shipped')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Subject"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:UserContact/ns4:EmailAddress')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:To"/>
    </copy>
    <copy>
    <from expression="concat(string('Dear '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ShipTo/ns4:Name/ns4:First'), string('
    This is to inform you that your order number '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:ID'), string('has been '), bpws:getVariableData('inputVariable','payload','/client:SOAOrderBookingProcessRequest/ns4:PurchaseOrder/ns4:OrderInfo/ns4:OrderStatus'), string('
    If you have a question about your order, please contact customer service or send an email to [email protected]
    Thank you for doing business with Global Company. We appreciate your business!
    Global Company Customer Service'))"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:ContentBody"/>
    </copy>
    <copy>
    <from expression="string('text/html; charset=UTF-8')"/>
    <to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns5:Content/ns5:MimeType"/>
    </copy>
    </assign>
    <invoke name="InvokeNotificationService"
    portType="ns5:NotificationService"
    inputVariable="varNotificationReq"
    outputVariable="varNotificationResponse"
    operation="sendEmailNotification"
    partnerLink="NotificationService"/>
    </sequence>
    </scope>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:SOAOrderBookingCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    there is some prob with ns5:notificationservice.....help me
    Thanks,
    Indhu

    Thx. Now there is no errors in compiling that SOAOrderBooking BPEL process(there is some warnings), but iam getting deployment errors:
    Compiling bpel process SOAOrderBooking, revision 1.0
    [bpelc] unknown wsdl extension.
    [bpelc] In WSDL at "http://localhost:8888/esb/wsil/Fulfillment/OrderFulfillment?wsdl", extension element "{http://www.oracle.com/esb/}binding" is not known. Ignore this element.
    [bpelc] Please make sure the spelling of the element is correct and the WSDL import is complete.
    [bpelc]
    [bpelc] validating "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel" ...
    [bpelc] BPEL suitcase generated in: I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    [bpelc] Warning: BPEL validation has warnings.
    [bpelc] The following warnings were reported during validation:
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 141 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}comments anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 187 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}decimal" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}string".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 375 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 391 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://www.w3.org/2001/XMLSchema}decimal".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc] [Warning ORABPEL-10041]: Trying to assign incompatible types
    [bpelc] [Description]: in line 438 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [bpelc] [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    [bpelc]
    [bpelc]
    [bpelc]
    deployProcess:
    [echo]
    | Deploying bpel process SOAOrderBooking on localhost, port 8888
    [deployProcess] Deploying process I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\output\bpel_SOAOrderBooking_1.0.jar
    BUILD FAILED
    I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\build.xml:87: Authentication failed for user "oc4jadmin" on host "localhost"
    Total time: 7 seconds
    I think the above deployment err were bcoz of compilation warnings:
    Warning(130):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 130 of "I:\downloads\courselabs\labs\SOAEssentials\SOAOrderBooking\bpel\SOAOrderBooking.bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}string" is not compatible with <to> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/top/OrderStatus}ordid anonymous type".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    plz come up with suggestions to resolve this issue...
    Thanks,
    Indhu

Maybe you are looking for