Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Add response page for WSDL to ADF form in JDeveloper

Nenad BulatovićSep 9 2014 — edited Sep 9 2014

Following tutorial from this book

Getting Started With Oracle SOA Suite 11g R1 – A Hands-On Tutorial

I created web logic server with accompanying domain ,soa and bam servers and services.

Service is for Receiving purchase orders and validating credit card numbers.

It is not explained nor presented in book but I wanted to create a desktop application so I created two applications - ADF forms, one for solely validation of credit cards and other for placing order - they can work one without another (as applications not as WSDL/SOAP services).

Screen Shot 09-09-14 at 05.52 PM.PNG

There is no direct response to receivePO.wsdl as is goes through complicated procedure which included even manual approval, but I want to add any type of response as soon as user click on "execute" button - an OK dialog or even preferably new page with some text such as "Your order is received" or alike.

Screen Shot 09-09-14 at 05.56 PM.PNG

My question is how to create such binding for opening a OK notification pop-up or new page?

Here is Form.java

package view;

import com.jgoodies.forms.layout.CellConstraints;

import com.jgoodies.forms.layout.FormLayout;

import java.awt.*;

import java.awt.event.*;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.HashMap;

import javax.swing.*;

import javax.swing.BorderFactory;

import javax.swing.ButtonModel;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.event.*;

import javax.swing.table.TableModel;

import javax.swing.text.Document;

import oracle.adf.model.*;

import oracle.adf.model.BindingContext;

import oracle.adf.model.binding.*;

import oracle.adf.model.generic.*;

import oracle.jbo.Row;

import oracle.jbo.RowIterator;

import oracle.jbo.common.DefLocaleContext;

import oracle.jbo.common.JBOClass;

import oracle.jbo.uicli.*;

import oracle.jbo.uicli.binding.*;

import oracle.jbo.uicli.controls.*;

import oracle.jbo.uicli.controls.JULabel;

import oracle.jbo.uicli.jui.*;

import oracle.jbo.uicli.jui.JULabelBinding;

import oracle.jbo.uicli.mom.JUMetaObjectManager;

public class Form extends JFrame {

_//PageDefinition File_

_private JUPanelBinding panelBinding =_

    _new JUPanelBinding("view\_FormPageDef");_

_private GridLayout gridLayout = new GridLayout();_

_private BorderLayout borderLayout = new BorderLayout();_

_private JUStatusBar statusBar = new JUStatusBar();_

_private JPanel topPanel = new JPanel();_

_private JPanel dataPanel = new JPanel();_

_private JMenuBar menubarFrame = new JMenuBar();_

_private JMenu menuFile = new JMenu();_

_private JMenuItem itemFileExit = new JMenuItem();_

_private JMenu menuHelp = new JMenu();_

_private JMenuItem itemHelpAbout = new JMenuItem();_

_private String aboutMessage = "about message";_

_private String aboutTitle = "about title ";_

_private JLabel jLabel1 = new JLabel();_

_private JTextField jTextField1 = new JTextField();_

_private JTextField jTextField2 = new JTextField();_

_private JLabel jLabel2 = new JLabel();_

_private JTextField jTextField3 = new JTextField();_

_private JLabel jLabel3 = new JLabel();_

_private JTextField jTextField4 = new JTextField();_

_private JLabel jLabel4 = new JLabel();_

_private JLabel jLabel5 = new JLabel();_

_private JTextField jTextField5 = new JTextField();_

_private JLabel jLabel6 = new JLabel();_

_private JLabel jLabel7 = new JLabel();_

_private JLabel jLabel8 = new JLabel();_

_private JTextField jTextField6 = new JTextField();_

_private JTextField jTextField7 = new JTextField();_

_private JTextField jTextField8 = new JTextField();_

_private JButton jButton1 = new JButton();_

_/\*\*The default constructor for form_

 _\*/_

_public Form() {_

    _addWindowListener(new WindowAdapter() {_

            _public void windowClosing(WindowEvent e) {_

                _int action = \_popupTransactionDialog();_

                _if (action != JOptionPane.CLOSED\_OPTION) {_

                    _panelBinding.releaseDataControl();_

                    _statusBar.release();_

                    _System.exit(0);_

                _}_

            _}_

        _});_

_}_

_/\*\*the JbInit method_

 _\*/_

_public void jbInit() throws Exception {_

    _dataPanel.setLayout(null);_

    _this.getContentPane().setLayout(gridLayout);_

    _topPanel.setLayout(borderLayout);_

    _this.getContentPane().add(topPanel);_

    _this.setSize(new Dimension(450, 477));_

    _dataPanel.add(jButton1, null);_

    _dataPanel.add(jTextField8, null);_

    _dataPanel.add(jTextField7, null);_

    _dataPanel.add(jTextField6, null);_

    _dataPanel.add(jLabel8, null);_

    _dataPanel.add(jLabel7, null);_

    _dataPanel.add(jLabel6, null);_

    _dataPanel.add(jTextField5, null);_

    _dataPanel.add(jLabel5, null);_

    _dataPanel.add(jLabel4, null);_

    _dataPanel.add(jTextField4, null);_

    _dataPanel.add(jLabel3, null);_

    _dataPanel.add(jTextField3, null);_

    _dataPanel.add(jLabel2, null);_

    _dataPanel.add(jTextField2, null);_

    _dataPanel.add(jTextField1, null);_

    _dataPanel.add(jLabel1, null);_

    _topPanel.add(dataPanel, BorderLayout.CENTER);_

    _topPanel.add(statusBar, BorderLayout.SOUTH);_

    _setJMenuBar(menubarFrame);_

    _this.setTitle("PO Form");_

    _itemFileExit.setText("Exit");_

    _itemFileExit.setMnemonic('X');_

    _itemFileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK\_F4,_

                                                       _Event.ALT\_MASK,_

                                                       _false));_

    _itemFileExit.addActionListener(new ActionListener() {_

            _public void actionPerformed(ActionEvent e) {_

                _file\_exit\_action(e);_

            _}_

        _});_

    _menuFile.add(itemFileExit);_

    _menuFile.setText("File");_

    _menuFile.setMnemonic('F');_

    _menubarFrame.add(menuFile);_

    _menuHelp.setText("Help");_

    _menuHelp.setMnemonic('H');_

    _itemHelpAbout.setText("About");_

    _itemHelpAbout.setMnemonic('A');_

    _itemHelpAbout.addActionListener(new ActionListener() {_

            _public void actionPerformed(ActionEvent e) {_

                _help\_about\_action(e);_

            _}_

        _});_

    _jLabel1.setText("CC Number");_

    _jLabel1.setBounds(new Rectangle(25, 310, 70, 10));_

    _jTextField1.setBounds(new Rectangle(220, 305, 145, 20));_

    _jTextField1.setToolTipText((panelBinding.findCtrlValueBinding("ccNumber")).getTooltip());_

    _jTextField1.setColumns((panelBinding.findCtrlValueBinding("ccNumber")).getDisplayWidth());_

    _menuHelp.add(itemHelpAbout);_

    _menubarFrame.add(menuHelp);_

    _statusBar.setModel(JUStatusBar.createPanelBinding(panelBinding,_

                                                      _statusBar));_

    _jTextField2.setBounds(new Rectangle(220, 268, 145, 20));_

    _jTextField2.setToolTipText((panelBinding.findCtrlValueBinding("ccType1")).getTooltip());_

    _jTextField2.setColumns((panelBinding.findCtrlValueBinding("ccType1")).getDisplayWidth());_

    _jLabel2.setText("Customer ID");_

    _jLabel2.setBounds(new Rectangle(25, 15, 95, 10));_

    _jTextField3.setBounds(new Rectangle(220, 10, 145, 20));_

    _jTextField3.setToolTipText((panelBinding.findCtrlValueBinding("CustID")).getTooltip());_

    _jTextField3.setColumns((panelBinding.findCtrlValueBinding("CustID")).getDisplayWidth());_

    _jLabel3.setText("Product ID");_

    _jLabel3.setBounds(new Rectangle(25, 50, 70, 15));_

    _jTextField4.setBounds(new Rectangle(220, 47, 145, 20));_

    _jTextField4.setToolTipText((panelBinding.findCtrlValueBinding("ID")).getTooltip());_

    _jTextField4.setColumns((panelBinding.findCtrlValueBinding("ID")).getDisplayWidth());_

    _jLabel4.setText("CC Type");_

    _jLabel4.setBounds(new Rectangle(25, 270, 90, 15));_

    _jLabel5.setText("Item Type");_

    _jLabel5.setBounds(new Rectangle(25, 124, 60, 15));_

    _jTextField5.setBounds(new Rectangle(220, 121, 145, 20));_

    _jTextField5.setToolTipText((panelBinding.findCtrlValueBinding("itemType")).getTooltip());_

    _jTextField5.setColumns((panelBinding.findCtrlValueBinding("itemType")).getDisplayWidth());_

    _jLabel6.setText("Price");_

    _jLabel6.setBounds(new Rectangle(25, 161, 34, 14));_

    _jLabel7.setText("Product Name");_

    _jLabel7.setBounds(new Rectangle(25, 87, 95, 15));_

    _jLabel8.setText("Quantity");_

    _jLabel8.setBounds(new Rectangle(25, 197, 70, 15));_

    _jTextField6.setBounds(new Rectangle(220, 158, 145, 20));_

    _jTextField6.setToolTipText((panelBinding.findCtrlValueBinding("price")).getTooltip());_

    _jTextField6.setColumns((panelBinding.findCtrlValueBinding("price")).getDisplayWidth());_

    _jTextField7.setBounds(new Rectangle(220, 84, 145, 20));_

    _jTextField7.setToolTipText((panelBinding.findCtrlValueBinding("productName")).getTooltip());_

    _jTextField7.setColumns((panelBinding.findCtrlValueBinding("productName")).getDisplayWidth());_

    _jTextField8.setBounds(new Rectangle(220, 194, 145, 20));_

    _jTextField8.setToolTipText((panelBinding.findCtrlValueBinding("quantity")).getTooltip());_

    _jTextField8.setColumns((panelBinding.findCtrlValueBinding("quantity")).getDisplayWidth());_

    _jButton1.setText("execute");_

    _jButton1.setBounds(new Rectangle(25, 350, 75, 21));_

    _jTextField1.setDocument((Document)panelBinding.bindUIControl("ccNumber",_

                                                                 _jTextField1));_

    _jTextField2.setDocument((Document)panelBinding.bindUIControl("ccType1",_

                                                                 _jTextField2));_

    _jTextField3.setDocument((Document)panelBinding.bindUIControl("CustID",_

                                                                 _jTextField3));_

    _jTextField4.setDocument((Document)panelBinding.bindUIControl("ID",_

                                                                 _jTextField4));_

    _jTextField5.setDocument((Document)panelBinding.bindUIControl("itemType",_

                                                                 _jTextField5));_

    _jTextField6.setDocument((Document)panelBinding.bindUIControl("price",_

                                                                 _jTextField6));_

    _jTextField7.setDocument((Document)panelBinding.bindUIControl("productName",_

                                                                 _jTextField7));_

    _jTextField8.setDocument((Document)panelBinding.bindUIControl("quantity",_

                                                                 _jTextField8));_

    _jButton1.setModel((ButtonModel)panelBinding.bindUIControl("execute",_

                                                              _jButton1));_

_}_

_private void file\_exit\_action(ActionEvent e) {_

    _int action = \_popupTransactionDialog();_

    _if (action != JOptionPane.CLOSED\_OPTION) {_

        _System.exit(0);_

    _}_

_}_

_private void help\_about\_action(ActionEvent e) {_

    _JOptionPane.showMessageDialog(this, aboutMessage, aboutTitle,_

                                  _JOptionPane.INFORMATION\_MESSAGE);_

_}_

_private int \_popupTransactionDialog() {_

    _if (panelBinding == null || panelBinding.getPanel() == null) {_

        _return JOptionPane.NO\_OPTION;_

    _}_

    _/\*         if (panelBinding.isTransactionDirty()) {_

        _JButton commitButton = new JButton("Commit");_

        _commitButton.setMnemonic('C');_

        _JButton rollBackButton = new JButton("Rollback");_

        _rollBackButton.setMnemonic('R');_

        _Object\[\] options = { commitButton, rollBackButton };_

        _final JOptionPane optionPane =_

            _new JOptionPane("How do you want to close the transaction?",_

                            _JOptionPane.QUESTION\_MESSAGE,_

                            _JOptionPane.YES\_NO\_OPTION, null, options,_

                            _options\[0\]);_

        _commitButton.addActionListener(new ActionListener() {_

                _public void actionPerformed(ActionEvent e) {_

                    _optionPane.setValue(new Integer(JOptionPane.YES\_OPTION));_

                _}_

            _});_

        _rollBackButton.addActionListener(new ActionListener() {_

                _public void actionPerformed(ActionEvent e) {_

                    _optionPane.setValue(new Integer(JOptionPane.NO\_OPTION));_

                _}_

            _});_

        _optionPane.createDialog(Form.this,_

                                _"Transaction open").setVisible(true);_

        _int action = JOptionPane.CLOSED\_OPTION;_

        _Object obj = optionPane.getValue();_

        _if (obj != null) {_

            _action = ((Integer)optionPane.getValue()).intValue();_

        _}_

        _switch (action) {_

        _case JOptionPane.NO\_OPTION:_

            _break;_

        _case JOptionPane.CLOSED\_OPTION:_

            _break;_

        _case JOptionPane.YES\_OPTION:_

        _default:_

            _break;_

        _}_

        _return action;_

    _} \*/_

    _return JOptionPane.NO\_OPTION;_

_}_

_public JUPanelBinding getPanelBinding() {_

    _return panelBinding;_

_}_

_public void setPanelBinding(JUPanelBinding binding) {_

    _if (binding.getPanel() == null) {_

        _binding.setPanel(topPanel);_

    _}_

    _if (panelBinding == null || panelBinding.getPanel() == null) {_

        _try {_

            _panelBinding = binding;_

            _jbInit();_

        _} catch (Exception ex) {_

            _panelBinding.reportException(ex);_

        _}_

    _}_

_}_

_public void setBindingContext(BindingContext bindCtx) {_

    _if (panelBinding.getPanel() == null) {_

        _panelBinding = panelBinding.setup(bindCtx, this);_

        _registerProjectGlobalVariables(bindCtx);_

        _panelBinding.refreshControl();_

        _try {_

            _jbInit();_

            _panelBinding.refreshControl();_

        _} catch (Exception ex) {_

            _panelBinding.reportException(ex);_

        _}_

    _}_

_}_

_public void bindNestedContainer(JUPanelBinding ctr) {_

    _if (panelBinding.getPanel() == null) {_

        _ctr.setPanel(this);_

        _panelBinding.release(DCDataControl.REL\_VIEW\_REFS);_

        _panelBinding = ctr;_

        _registerProjectGlobalVariables(panelBinding.getBindingContext());_

        _try {_

            _jbInit();_

        _} catch (Exception ex) {_

            _ex.printStackTrace();_

            _ctr.reportException(ex);_

        _}_

    _}_

_}_

_private void registerProjectGlobalVariables(BindingContext bindCtx) {_

    _JUUtil.registerNavigationBarInterface(panelBinding, bindCtx);_

_}_

_private void unRegisterProjectGlobalVariables(BindingContext bindCtx) {_

    _JUUtil.unRegisterNavigationBarInterface(panelBinding, bindCtx);_

_}_

_public static void main(String\[\] args) {_

    _try {_

        _UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());_

    _} catch (Exception exemp) {_

        _exemp.printStackTrace();_

    _}_

    _try {_

        _JUMetaObjectManager.setErrorHandler(new JUErrorHandlerDlg());_

        _JUMetaObjectManager mgr = JUMetaObjectManager.getJUMom();_

        _mgr.setJClientDefFactory(null);_

        _BindingContext ctx = new BindingContext();_

        _//ctx.put(DataControlFactory.APP\_PARAM\_ENV\_INFO,_

        _//        new JCLoginDialog());_

        _ctx.setLocaleContext(new DefLocaleContext(null));_

        _HashMap map = new HashMap(4);_

        _map.put(DataControlFactory.APP\_PARAMS\_BINDING\_CONTEXT, ctx);_

        _mgr.loadCpx("view.DataBindings.cpx", map);_

        _final Form frame = new Form();_

        _frame.setBindingContext(ctx);_

        _frame.setDefaultCloseOperation(JFrame.DO\_NOTHING\_ON\_CLOSE);_

        _Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();_

        _Dimension frameSize = frame.getSize();_

        _if (frameSize.height > screenSize.height) {_

            _frameSize.height = screenSize.height;_

        _}_

        _if (frameSize.width > screenSize.width) {_

            _frameSize.width = screenSize.width;_

        _}_

        _frame.setLocation((screenSize.width - frameSize.width) / 2,_

                          _(screenSize.height - frameSize.height) / 2);_

        _frame.setVisible(true);_

    _} catch (Exception ex) {_

        _JUMetaObjectManager.reportException(null, ex, true);_

        _System.exit(1);_

    _}_

_}_

}

DataControls.dcx

<?xml version="1.0" encoding="UTF-8" ?>

<DataControlConfigs xmlns="http://xmlns.oracle.com/adfm/configuration"

                _version="11.1.1.55.36" id="DataControls" Package="view">_

<AdapterDataControl id="OrderWS"

                  _FactoryClass="oracle.adf.model.adapter.DataControlFactoryImpl"_

                  _ImplDef="oracle.adfinternal.model.adapter.webservice.WSDefinition"_

                  _SupportsTransactions="false"_

                  _SupportsSortCollection="false" SupportsResetState="false"_

                  _SupportsRangesize="false" SupportsFindMode="false"_

                  _SupportsUpdates="true" Definition="view.OrderWS"_

                  _BeanClass="view.OrderWS"_

                  _xmlns="[http://xmlns.oracle.com/adfm/datacontrol](http://xmlns.oracle.com/adfm/datacontrol)">_

_\<Source>_

  _\<definition xmlns="[http://xmlns.oracle.com/adfm/adapter/webservice](http://xmlns.oracle.com/adfm/adapter/webservice)"_

              _name="OrderWS" version="1.0"_

              _provider="oracle.adfinternal.model.adapter.webservice.provider.soap.SOAPProvider"_

              _wsdl="[http://i3770K.mshome.net:8001/soa-infra/services/default/POProcessing/receivePO?WSDL](http://i3770K.mshome.net:8001/soa-infra/services/default/POProcessing/receivePO?WSDL)">_

    _\<service name="receivePO"_

             _namespace="[http://oracle.com/sca/soapservice/POProcessing/POProcessing/receivePO](http://oracle.com/sca/soapservice/POProcessing/POProcessing/receivePO)"_

             _connection="OrderWS">_

      _\<port name="execute\_pt">_

        _\<operation name="execute">_

          _\<dataformat format="XML"/>_

        _\</operation>_

      _\</port>_

    _\</service>_

  _\</definition>_

_\</Source>_

</AdapterDataControl>

</DataControlConfigs>

DataBindings.cpx

<?xml version="1.0" encoding="UTF-8" ?>

<Application xmlns="http://xmlns.oracle.com/adfm/application"

         _version="11.1.1.55.36" id="DataBindings" SeparateXMLFiles="false"_

         _Package="view" ClientType="JClient">_

<pageMap>

_\<page path="view.Form" usageId="view\_FormPageDef"/>_

_\<page path="view.PanelrequestHelper"_

      _usageId="view\_PanelrequestHelperPageDef"/>_

_\<page path="view.PanelrequestHelper1"_

      _usageId="view\_PanelrequestHelper1PageDef"/>_

_\<page path="view.PanelrequestHelper2"_

      _usageId="view\_PanelrequestHelper2PageDef"/>_

</pageMap>

<pageDefinitionUsages>

_\<page id="view\_FormPageDef" path="view.pageDefs.FormPageDef"/>_

_\<page id="view\_PanelrequestHelperPageDef"_

      _path="view.pageDefs.PanelrequestHelperPageDef"/>_

_\<page id="view\_PanelrequestHelper1PageDef"_

      _path="view.pageDefs.PanelrequestHelper1PageDef"/>_

_\<page id="view\_PanelrequestHelper2PageDef"_

      _path="view.pageDefs.PanelrequestHelper2PageDef"/>_

</pageDefinitionUsages>

<dataControlUsages>

_\<dc id="OrderWS" path="view.OrderWS"/>_

</dataControlUsages>

</Application>

This post has been answered by Frank Nimphius-Oracle on Sep 9 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 7 2014
Added on Sep 9 2014
2 comments
875 views