{"id":6539,"date":"2012-11-04T12:03:27","date_gmt":"2012-11-04T17:03:27","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=6539"},"modified":"2013-10-12T10:59:37","modified_gmt":"2013-10-12T15:59:37","slug":"soa11g-consume-a-web-service-form-a-web-page","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=6539","title":{"rendered":"SOA11g: Consume a Web Service from JSF Web Page Using Web Service Data Control"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Overview\">Overview<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Environment\">Environment<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Steps\">Steps<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Create_a_New_Application_and_Project\">Create a New Application and Project<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_Java_Classes\">Create Java Classes<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_an_EJB_Web_Service\">Create an EJB Web Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_Web_Service\">Create a Web Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test_Web_Service\">Test Web Service<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Create_a_Web_Service_Data_Control\">Create a Web Service Data Control<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_JSF_Page\">Create a JSF Page<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_WS_Data_Control_to_the_Page\">Add WS Data Control to the Page<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Set_the_Labels\">Set the Labels<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Project_Source_Code\">Project Source Code<\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"#References\">References<\/a>\n\t<\/li>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<span id=\"Overview\"><h2>Overview<\/h2><\/span>\n<p>* Use Data control for external ws<\/p>\n<span id=\"Environment\"><h3>Environment<\/h3><\/span>\n<p>* JDeveloper 11.1.1.6.0<\/p>\n<span id=\"Steps\"><h3>Steps<\/h3><\/span>\n<p>* Create a new application and project<br \/>\n* Create Java classes<br \/>\n* Create an EJB ws<br \/>\n* Create a WS data control<br \/>\n* Create a JSF page<br \/>\n* Add data control to the page<br \/>\n* Set the labels<\/p>\n<span id=\"Create_a_New_Application_and_Project\"><h2>Create a New Application and Project<\/h2><\/span>\n<p>* Create a new JDev application named <strong>WSDataControlApp<\/strong><br \/>\n&#8211; Application package prefix: oracle<br \/>\n&#8211; Application template: Java EE Web Application <\/p>\n<span id=\"\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_1-300x212.jpg\" alt=\"\" title=\"WSDataControl_create_app_1\" width=\"300\" height=\"212\" class=\"aligncenter size-medium wp-image-6540\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_1-300x212.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_1.jpg 698w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_1\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_2-300x222.jpg\" alt=\"\" title=\"WSDataControl_create_app_2\" width=\"300\" height=\"222\" class=\"aligncenter size-medium wp-image-6541\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_2-300x222.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_2.jpg 636w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Accept all defaults for the ViewController project:<\/p>\n<span id=\"_2\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller-300x224.jpg\" alt=\"\" title=\"WSDataControl_create_app_viewcontroller\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6574\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller.jpg 635w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_3\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller_2-300x222.jpg\" alt=\"\" title=\"WSDataControl_create_app_viewcontroller_2\" width=\"300\" height=\"222\" class=\"aligncenter size-medium wp-image-6575\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller_2-300x222.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_viewcontroller_2.jpg 636w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Rename the Model project to <strong>EJBModel<\/strong><\/p>\n<span id=\"_4\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_EJBModel.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_EJBModel-300x225.jpg\" alt=\"\" title=\"WSDataControl_create_app_EJBModel\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-6576\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_EJBModel-300x225.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_EJBModel.jpg 634w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* <em>WSDataControlApp<\/em>:<\/p>\n<span id=\"_5\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_dir.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_dir-300x176.jpg\" alt=\"\" title=\"WSDataControl_create_app_dir\" width=\"300\" height=\"176\" class=\"aligncenter size-medium wp-image-6577\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_dir-300x176.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_app_dir.jpg 335w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Create_Java_Classes\"><h3>Create Java Classes<\/h3><\/span>\n<p>* Select EJBModel project.<br \/>\n* Create a new Java class named <strong>BatchOrder<\/strong> with package name <strong>oracle.model.freight<\/strong><br \/>\n&#8211; Add two properties and generate getter\/setter methods:<\/p>\n<pre lang=\"java\">\r\npackage oracle.model.freight;\r\n\r\npublic class BatchOrder {\r\n    private Long batchId;\r\n    private Long orderedQuantity;\r\n\r\n    public void setBatchId(Long batchId) {\r\n        this.batchId = batchId;\r\n    }\r\n\r\n    public Long getBatchId() {\r\n        return batchId;\r\n    }\r\n\r\n    public void setOrderedQuantity(Long orderedQuantity) {\r\n        this.orderedQuantity = orderedQuantity;\r\n    }\r\n\r\n    public Long getOrderedQuantity() {\r\n        return orderedQuantity;\r\n    }\r\n}\r\n<\/pre>\n<p>* Create another Java Enumeration class named <strong>FreightDestination<\/strong><\/p>\n<pre lang=\"java\">\r\npackage oracle.model.freight;\r\n\r\npublic enum FreightDestination {\r\n    LOCAL(1.0),\r\n    REGIONAL(2.0),\r\n    NATIONAL(3.0),\r\n    INTERNATIONAL(4.0);\r\n\r\n    Double factor;\r\n\r\n    private FreightDestination(Double factor) {\r\n        this.factor = factor;\r\n    }\r\n\r\n    public Double factor() {\r\n        return this.factor;\r\n    }\r\n}\r\n<\/pre>\n<p>* Create another Java Enumeration class named <strong>CustomerCode<\/strong><\/p>\n<pre lang=\"java\">\r\npackage oracle.model.freight;\r\n\r\npublic enum CustomerCode {\r\n    PLATINUM(20D),\r\n    GOLD(10D),\r\n    SILVER(5D),\r\n    BRONZE(2D),\r\n    OTHER(0D);\r\n\r\n    Double factor;\r\n\r\n    private CustomerCode(Double factor) {\r\n        this.factor = factor;\r\n    }\r\n\r\n    public Double factor() {\r\n        return this.factor;\r\n    }\r\n\r\n    public Double calculateDiscount(Double originalPrice) {\r\n        return (originalPrice * factor) \/ 100;\r\n    }\r\n}\r\n<\/pre>\n<span id=\"Create_an_EJB_Web_Service\"><h3>Create an EJB Web Service<\/h3><\/span>\n<p>* Select <em>EJBModel<\/em> project.<br \/>\n* Start Create Session Bean wizard by selecting <em>File > New > Business Tier > EJB > Session Bean<br \/>\n<\/em><\/p>\n<span id=\"_6\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_1-300x214.jpg\" alt=\"\" title=\"WSDataControl_create_sessionbean_1\" width=\"300\" height=\"214\" class=\"aligncenter size-medium wp-image-6544\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_1-300x214.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_1.jpg 692w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>&#8211; EJB Name: <strong>CalculateFreight<\/strong><br \/>\n&#8211; Session Type: <em>Stateless<\/em><br \/>\n&#8211; Transaction Type: <em>Container<\/em><\/p>\n<span id=\"_7\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_3-300x225.jpg\" alt=\"\" title=\"WSDataControl_create_sessionbean_3\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-6545\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_3-300x225.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_3.jpg 635w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Use package name <em>oracle.model.freightejb<\/em> (note freightejb not freight):<\/p>\n<span id=\"_8\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_4-300x224.jpg\" alt=\"\" title=\"WSDataControl_create_sessionbean_4\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6546\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_4-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_4.jpg 635w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* De-Select both <em>Implement a Remote Interface<\/em> and <em>Implement a Local Interface<\/em> because we&#8217;re exposing the service as a web service:<\/p>\n<span id=\"_9\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_5-300x222.jpg\" alt=\"\" title=\"WSDataControl_create_sessionbean_5\" width=\"300\" height=\"222\" class=\"aligncenter size-medium wp-image-6548\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_5-300x222.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_5.jpg 643w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_10\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_6.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_6-300x224.jpg\" alt=\"\" title=\"WSDataControl_create_sessionbean_6\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6549\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_6-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_sessionbean_6.jpg 633w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Add a business method named <strong>calculateFreightCost<\/strong> to the newly crated session bean:<\/p>\n<pre lang=\"java\">\r\npackage oracle.model.freight;\r\n\r\nimport javax.ejb.Stateless;\r\n\r\nimport oracle.model.freight.BatchOrder;\r\nimport oracle.model.freight.CustomerCode;\r\nimport oracle.model.freight.FreightDestination;\r\n\r\n@Stateless(name = \"CalculateFreight\",\r\n           mappedName = \"WSDataControlApp-EJBModel-CalculateFreight\")\r\npublic class CalculateFreightBean {\r\n    public CalculateFreightBean() {\r\n    }\r\n    \r\n    private static final Double BASE_COST = 10D;\r\n\r\n    public Double calculateFreightCost(BatchOrder order,\r\n                                       FreightDestination destination,\r\n                                       CustomerCode customer) {\r\n        Double totalCost =\r\n            BASE_COST + order.getOrderedQuantity() * destination.factor();\r\n        Double discount = customer.calculateDiscount(totalCost);\r\n        return totalCost - discount;\r\n    }\r\n}\r\n<\/pre>\n<span id=\"Create_a_Web_Service\"><h3>Create a Web Service<\/h3><\/span>\n<p>* Right click <em>CalculateFreightBean<\/em> and select <em>Create Web Service&#8230;<\/em> to start <em>Create Java Web Service<\/em> wizard:<\/p>\n<span id=\"_11\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_1-253x300.jpg\" alt=\"\" title=\"WSDataControl_create_ws_1\" width=\"253\" height=\"300\" class=\"aligncenter size-medium wp-image-6550\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_1-253x300.jpg 253w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_1.jpg 491w\" sizes=\"auto, (max-width: 253px) 100vw, 253px\" \/><\/a><\/h6><\/span>\n<span id=\"_12\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_2-300x225.jpg\" alt=\"\" title=\"WSDataControl_create_ws_2\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-6555\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_2-300x225.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_2.jpg 633w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Select <em>SOAP 1.2 Binding<\/em> and <em>Document\/Wrapped<\/em><\/p>\n<span id=\"_13\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_soap1.2binding.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_soap1.2binding-300x224.jpg\" alt=\"\" title=\"WSDataControl_create_ws_soap1.2binding\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6556\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_soap1.2binding-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_soap1.2binding.jpg 635w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Accept defaults for the rest of screens:<\/p>\n<span id=\"_14\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_4-300x225.jpg\" alt=\"\" title=\"WSDataControl_create_ws_4\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-6557\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_4-300x225.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_4.jpg 636w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_15\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_5-300x226.jpg\" alt=\"\" title=\"WSDataControl_create_ws_5\" width=\"300\" height=\"226\" class=\"aligncenter size-medium wp-image-6558\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_5-300x226.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_5.jpg 631w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_16\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_6.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_6-300x225.jpg\" alt=\"\" title=\"WSDataControl_create_ws_6\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-6559\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_6-300x225.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_6.jpg 634w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_17\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_7.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_7-300x224.jpg\" alt=\"\" title=\"WSDataControl_create_ws_7\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6560\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_7-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_create_ws_7.jpg 636w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Test_Web_Service\"><h3>Test Web Service<\/h3><\/span>\n<p>* Right click <em>CalculateFreightBean.java<\/em> and select <em>Test Web Service<\/em><\/p>\n<span id=\"_18\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_1-272x300.jpg\" alt=\"\" title=\"WSDataControl_test_ws_1\" width=\"272\" height=\"300\" class=\"aligncenter size-medium wp-image-6561\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_1-272x300.jpg 272w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_1.jpg 490w\" sizes=\"auto, (max-width: 272px) 100vw, 272px\" \/><\/a><\/h6><\/span>\n<p>* Test domain will be crated if not already created before:<\/p>\n<span id=\"_19\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_2-300x246.jpg\" alt=\"\" title=\"WSDataControl_test_ws_2\" width=\"300\" height=\"246\" class=\"aligncenter size-medium wp-image-6562\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_2-300x246.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_2.jpg 443w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* HTTP Analizer:<\/p>\n<span id=\"_20\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer-300x159.jpg\" alt=\"\" title=\"WSDataControl_test_ws_httpanalyzer\" width=\"300\" height=\"159\" class=\"aligncenter size-medium wp-image-6565\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer-300x159.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer.jpg 784w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_21\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_2-300x200.jpg\" alt=\"\" title=\"WSDataControl_test_ws_httpanalyzer_2\" width=\"300\" height=\"200\" class=\"aligncenter size-medium wp-image-6563\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_2-300x200.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_2.jpg 387w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_22\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_3_response.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_3_response-300x100.jpg\" alt=\"\" title=\"WSDataControl_test_ws_httpanalyzer_3_response\" width=\"300\" height=\"100\" class=\"aligncenter size-medium wp-image-6564\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_3_response-300x100.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_test_ws_httpanalyzer_3_response.jpg 776w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Do <strong>not<\/strong> close HTTP Analyzer as it&#8217;s needed for Web Service Data Control WSDL retrieval below.<\/p>\n<span id=\"Create_a_Web_Service_Data_Control\"><h2>Create a Web Service Data Control<\/h2><\/span>\n<p>* Select <em>File > New > General > Projects > Generic Project<\/em> to create a new project named <strong>DataControl<\/strong><\/p>\n<span id=\"_23\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_new_proj_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_new_proj_1-300x224.jpg\" alt=\"\" title=\"WSDataControl_DataControl_new_proj_1\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6566\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_new_proj_1-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_new_proj_1.jpg 632w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Select <em>DataControl<\/em> project<br \/>\n* Start the <em>Create Web Service Data Control<\/em> wizard by selecting <em>File > New > Business Tier > Data Controls > Web Service Data Control<\/em><\/p>\n<span id=\"_24\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_1-300x213.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_1\" width=\"300\" height=\"213\" class=\"aligncenter size-medium wp-image-6567\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_1-300x213.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_1.jpg 697w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Name the data control <strong>FreightCost<\/strong> and WSDL URL is<br \/>\nhttp:\/\/localhost:7101\/WSDataControlApp-EJBModel-webapp\/CalculateFreightBeanService?WSDL<\/p>\n<span id=\"_25\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_2-300x224.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_2\" width=\"300\" height=\"224\" class=\"aligncenter size-medium wp-image-6568\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_2-300x224.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_2.jpg 635w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Shuffle the only available service to the right panel:<\/p>\n<span id=\"_26\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_3-300x186.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_3\" width=\"300\" height=\"186\" class=\"aligncenter size-medium wp-image-6569\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_3-300x186.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_3.jpg 765w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_27\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_4-300x186.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_4\" width=\"300\" height=\"186\" class=\"aligncenter size-medium wp-image-6570\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_4-300x186.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_4.jpg 764w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_28\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_5-300x185.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_5\" width=\"300\" height=\"185\" class=\"aligncenter size-medium wp-image-6571\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_5-300x185.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_5.jpg 764w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_29\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_6.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_6-300x185.jpg\" alt=\"\" title=\"WSDataControl_DataControl_wsDataControlWizard_6\" width=\"300\" height=\"185\" class=\"aligncenter size-medium wp-image-6572\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_6-300x185.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_DataControl_wsDataControlWizard_6.jpg 765w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Stop HTTP Analyzer and Integrated WLS<!--more--><br \/>\n* Save all.<\/p>\n<span id=\"Create_a_JSF_Page\"><h3>Create a JSF Page<\/h3><\/span>\n<p>* Select <em>ViewController<\/em> project.<br \/>\n* Add ADF Faces Components 11 to project tag libraries<\/p>\n<span id=\"_30\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib-300x213.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_taglib\" width=\"300\" height=\"213\" class=\"aligncenter size-medium wp-image-6580\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib-300x213.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib.jpg 699w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_31\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_2-199x300.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_taglib_2\" width=\"199\" height=\"300\" class=\"aligncenter size-medium wp-image-6581\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_2-199x300.jpg 199w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_2.jpg 329w\" sizes=\"auto, (max-width: 199px) 100vw, 199px\" \/><\/a><\/h6><\/span>\n<span id=\"_32\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_3-300x215.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_taglib_3\" width=\"300\" height=\"215\" class=\"aligncenter size-medium wp-image-6582\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_3-300x215.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_taglib_3.jpg 697w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Add a new JSF page named <strong>CalculateFreightCost.jspx<\/strong> by selecting <em>File > New > Web Tier > JSF > JSF Page<\/em>. <\/p>\n<span id=\"_33\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_1-300x213.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_page_1\" width=\"300\" height=\"213\" class=\"aligncenter size-medium wp-image-6583\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_1-300x213.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_1.jpg 694w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_34\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_2-258x300.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_page_2\" width=\"258\" height=\"300\" class=\"aligncenter size-medium wp-image-6584\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_2-258x300.jpg 258w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_2.jpg 558w\" sizes=\"auto, (max-width: 258px) 100vw, 258px\" \/><\/a><\/h6><\/span>\n<span id=\"_35\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_3-258x300.jpg\" alt=\"\" title=\"WSDataControl_add_jsf_page_3\" width=\"258\" height=\"300\" class=\"aligncenter size-medium wp-image-6585\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_3-258x300.jpg 258w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_jsf_page_3.jpg 558w\" sizes=\"auto, (max-width: 258px) 100vw, 258px\" \/><\/a><\/h6><\/span>\n<span id=\"Add_WS_Data_Control_to_the_Page\"><h3>Add WS Data Control to the Page<\/h3><\/span>\n<p>* Select the newly created JSF page.<br \/>\n* Drag and drop Panel Group Layout to the blank page.<\/p>\n<span id=\"_36\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_1_groupPanelLayout.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_1_groupPanelLayout-300x163.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_1_groupPanelLayout\" width=\"300\" height=\"163\" class=\"aligncenter size-medium wp-image-6586\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_1_groupPanelLayout-300x163.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_1_groupPanelLayout.jpg 601w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Expand <em>Data Controls > FreightCost > calculateFreightCost_parameters<\/em><br \/>\n* Drag arg0 into the panel group layout component. Select ADF Form and accept all defaults.<\/p>\n<span id=\"_37\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg0.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg0-300x85.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_arg0\" width=\"300\" height=\"85\" class=\"aligncenter size-medium wp-image-6587\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg0-300x85.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg0.jpg 724w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Drag <em>Data Controls > calculateFreightCost<\/em> to <em>Structure > &#8230; > footer<\/em>.<\/p>\n<span id=\"_38\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_footer.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_footer-264x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_footer\" width=\"264\" height=\"300\" class=\"aligncenter size-medium wp-image-6588\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_footer-264x300.jpg 264w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_footer.jpg 481w\" sizes=\"auto, (max-width: 264px) 100vw, 264px\" \/><\/a><\/h6><\/span>\n<p>&#8211; Select ADF Button and accept all defaults<\/p>\n<span id=\"_39\"><h6><\/h6><\/span>\n<p>* Drag <em>Data Controls > arg1<\/em> and drop it into <em>Structure > &#8230; >  af:panelFormLayout<\/em>.<br \/>\n&#8211; Select Text > ADF Input Text w\/ Label<\/p>\n<span id=\"_40\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg1-259x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_arg1\" width=\"259\" height=\"300\" class=\"aligncenter size-medium wp-image-6589\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg1-259x300.jpg 259w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg1.jpg 478w\" sizes=\"auto, (max-width: 259px) 100vw, 259px\" \/><\/a><\/h6><\/span>\n<p>* Drag <em>Data Controls > arg2<\/em> and drop it into <em>Structure > &#8230; >  af:panelFormLayout<\/em>.<br \/>\n&#8211; Select Text > ADF Input Text w\/ Label<\/p>\n<span id=\"_41\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg2-258x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_arg2\" width=\"258\" height=\"300\" class=\"aligncenter size-medium wp-image-6590\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg2-258x300.jpg 258w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_arg2.jpg 474w\" sizes=\"auto, (max-width: 258px) 100vw, 258px\" \/><\/a><\/h6><\/span>\n<p>* Drag <em>Data Controls > Double<\/em> and drop it into <em>Structure > &#8230; >  af:panel<strong>Group<\/strong>Layout<\/em> (note not panelFormLayout).<br \/>\n&#8211; Select Text > ADF Output Text w\/ Label<\/p>\n<span id=\"_42\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_double.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_double-292x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_double\" width=\"292\" height=\"300\" class=\"aligncenter size-medium wp-image-6591\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_double-292x300.jpg 292w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_double.jpg 491w\" sizes=\"auto, (max-width: 292px) 100vw, 292px\" \/><\/a><\/h6><\/span>\n<p>* Drag and drop a <em>Separator<\/em> component into separator facet:<\/p>\n<span id=\"_43\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_separator.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_separator-300x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_separator\" width=\"300\" height=\"300\" class=\"aligncenter size-medium wp-image-6592\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_separator-300x300.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_separator-150x150.jpg 150w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_separator.jpg 312w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Save all.<br \/>\n* Right click <em>CalculateFreightCost.jspx <\/em>and select Run<\/p>\n<span id=\"_44\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run-205x300.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_run\" width=\"205\" height=\"300\" class=\"aligncenter size-medium wp-image-6593\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run-205x300.jpg 205w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run.jpg 407w\" sizes=\"auto, (max-width: 205px) 100vw, 205px\" \/><\/a><\/h6><\/span>\n<span id=\"_45\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run_test.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run_test-300x186.jpg\" alt=\"\" title=\"WSDataControl_add_datacontrol_run_test\" width=\"300\" height=\"186\" class=\"aligncenter size-medium wp-image-6594\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run_test-300x186.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_add_datacontrol_run_test.jpg 332w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Set_the_Labels\"><h3>Set the Labels<\/h3><\/span>\n<p>* Set batchId label to <strong>Order Number<\/strong><\/p>\n<span id=\"_46\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_batchId.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_batchId-257x300.jpg\" alt=\"\" title=\"WSDataControl_setlabel_batchId\" width=\"257\" height=\"300\" class=\"aligncenter size-medium wp-image-6595\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_batchId-257x300.jpg 257w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_batchId.jpg 625w\" sizes=\"auto, (max-width: 257px) 100vw, 257px\" \/><\/a><\/h6><\/span>\n<p>* Set orderQuantity label to <strong>Quantity<\/strong><\/p>\n<span id=\"_47\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_orderQuantity.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_orderQuantity-300x163.jpg\" alt=\"\" title=\"WSDataControl_setlabel_orderQuantity\" width=\"300\" height=\"163\" class=\"aligncenter size-medium wp-image-6596\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_orderQuantity-300x163.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_orderQuantity.jpg 634w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Set calculateFreightCost button label to <strong>Calculate Cost<\/strong><\/p>\n<span id=\"_48\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_calculateCost.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_calculateCost-300x229.jpg\" alt=\"\" title=\"WSDataControl_setlabel_calculateCost\" width=\"300\" height=\"229\" class=\"aligncenter size-medium wp-image-6597\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_calculateCost-300x229.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_calculateCost.jpg 676w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Run jsf page:<\/p>\n<span id=\"_49\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_run.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_run-300x133.jpg\" alt=\"\" title=\"WSDataControl_setlabel_run\" width=\"300\" height=\"133\" class=\"aligncenter size-medium wp-image-6598\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_run-300x133.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControl_setlabel_run.jpg 322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Project_Source_Code\"><h2>Project Source Code<\/h2><\/span>\n<p>* <a href='https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/11\/WSDataControlApp.zip'>WSDataControlApp<\/a><\/p>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"http:\/\/www.oracle.com\/technetwork\/developer-tools\/jdev\/ccset14-all-101175.html\">Consume a Web Service from a Web Page<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview * Use Data control for external ws Environment * JDeveloper 11.1.1.6.0 Steps * Create a new application and project * Create Java classes * Create an EJB ws * Create a WS data control * Create a JSF page &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=6539\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[96,100],"tags":[592,599,593,282],"class_list":["post-6539","post","type-post","status-publish","format-standard","hentry","category-adf","category-soa11g","tag-adf","tag-jsf","tag-soa11g","tag-webservices"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-1Ht","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6539"}],"version-history":[{"count":10,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6539\/revisions"}],"predecessor-version":[{"id":6554,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6539\/revisions\/6554"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}