web services complex types

22
Developing an ADF 11g client for Agile PLM Developing an ADF 11g client for Agile PLM

Upload: harish-pothuri

Post on 27-Nov-2014

187 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

Developing an ADF 11g client for Agile PLM

Page 2: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

Table of Contents 1 LAB OVERVIEW .................................................................................................................................... 3 2 GETTING STARTED ............................................................................................................................. 4

2.1 Starting Oracle JDeveloper 11gR1........................................................................................ 4 3 CREATE THE ADF CLIENT .................................................................................................................. 5

3.1 Create the ADF Application ................................................................................................... 5 3.2 Create the Web Service Data Control ................................................................................... 8 3.3 Create the JSF Page ........................................................................................................... 11

4 TESTING .............................................................................................................................................. 19 5 APPENDIX: USING HARDCODED VALUES ..................................................................................... 21

Page 3: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

3

1 Lab Overview This lab shows how to develop an ADF 11g based UI for Agile PLM. Agile 9.3 exposes several key PLM functionalities as web services, which allow easy integration with existing applications. The core web services enable access to Agile Business Objects, Collaboration, Metadata, Attachments, Search, Tables, Product Collaboration (PC) and Engineering Collaboration (EC) services for integration with existing ERP, CRM and SCM applications. The Web Service Data Control in ADF 11g provides an easy and convenient interface to incorporate web services in an ADF application. The data control abstracts the implementation of a business service (such as a web service), thus providing a consistent mechanism for the ADF pages to access the data. Additional information: ADF 11g http://www.oracle.com/technology/products/adf/index.html Agile and Fusion Middleware Best Practice Center on Oracle Technology Network: http://www.oracle.com/technology/tech/fmw4apps/agile In this exercise: 1. Create an ADF 11g application that uses the Agile WSDL to create a web service data control. 2. Design a JSF page and integrate the web service data control that was created in step 1. 3. Deploy and test the page on the integrated WebLogic Server. Software Used:

Agile PLM 9.3

Oracle JDeveloper and ADF 11g (available for download from OTN) Questions:

Srikant Subramaniam [email protected]

Page 4: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

4

2 Getting Started

2.1 Starting Oracle JDeveloper 11gR1 1. Select Start > Oracle Fusion Middleware 11.1.1.1.0 > JDeveloper Studio 11.1.1.1.0.

Page 5: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

5

3 Create the ADF Client

3.1 Create the ADF Application 1. Choose File > New.

2. In Categories, select Applications and select Fusion Web Application (ADF) in Items.

3. Click OK.

Page 6: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

6

4. In Application Name field, type AgileADF and click Next.

5. In Project Technologies > Available, select Web Services and move it to the Selected box. Ensure your screen looks as follows and click Next.

Page 7: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

7

6. Accept default settings and click Next to advance through Steps 3 and 4.

7. Click Finish.

The AgileADF application is created with two Projects (Model and ViewController).

Page 8: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

8

3.2 Create the Web Service Data Control

1. In the Application Navigator, right click on the Model project and select New.

2. In New Gallery, select Business Tier > Web Services > Web Service Data Control and then click

OK.

Page 9: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

9

3. In Create Web Service Data Control wizard, select Data Source and do as follows: a. In Name field, type AgileGetObjectDC.

b. In URL field, type the URL for your Agile web services WSDL.

This example uses: http://93demo/CoreService/services/BusinessObject?wsdl

c. Click Next.

Page 10: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

10

4. In Data Control Operations page, move the getObject web service method from the Available column to the Selected column and then click Next.

5. Accept default settings and click Next to advance through Steps 3 and 4. Click Finish.

6. File > Save All to save your work.

Page 11: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

11

3.3 Create the JSF Page 1. In the Application Navigator, right click on the ViewController project and then select New.

2. In Categories column, select Web Tier > JSF.

3. In Items column, select JSF Page and then click OK.

Page 12: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

12

4. In Create JSF Page dialog do as follows: a. In File Name field, type AgileGetObject.jspx,

b. Mark the check box next to Create as XML document

c. In Page Template drop down list, select Oracle Three Column Layout

d. Click OK.

5. The new page opens up in the Editor. In the right most column, right click and select Delete.

Page 13: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

13

6. In the left pane, expand the AgileGetObjectDC node under Data Controls.

7. Drag and drop the classIdentifier node to the first column of the page on the right. 8. Choose Texts > ADF Input Text w/Label from the menu.

9. Repeat steps 7-8 for the following nodes:

objectNumber (requests → objectNumber)

id (warningResolution → id)

resolution (warningResolution → resolution)

tableIdentifer (requests → tableRequests → tableIdentifier)

10. Drag and drop the timestamp node (request → timestamp) to the first column of the page on the right and select Dates > ADF Input Date w/Label from the displayed menu.

Page 14: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

14

11. Ensure that page contains all the input fields shown in the following illustration.

12. Drag and drop the getObject(Object) node under Data Controls to the first column of the page on the

right (under the previously created fields).

13. Select Methods > ADF Button in the drop down menu.

Page 15: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

15

14. In Edit Action Binding dialog, select El Expression Builder from the Value drop down list.

15. Navigate to ADFBindings → bindings → requestIterator → currentRow and choose

dataProvider.

16. Click on OK.

Page 16: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

16

17. Click OK.

The following page appears. Note the recently added getObject button.

Page 17: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

17

18. Expand the getObject(Object) → Return node in the Data Controls palette on the left as shown.

19. Drag and drop the statusCode node to the second column of the page on the right. Choose Texts > ADF Output Text w/Label from the displayed menu.

20. Repeat above step for the objectId node (Return → response → responses →agileObject → objectIdentifier → objectId).

Page 18: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

18

This completes the JSF page creation and integration with the web service data control. Your page should include the following input and output fields.

21. File > Save All.

Page 19: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

19

4 Testing 1. Right click on the page and select Run.

This starts the embedded WebLogic Server within JDeveloper to deploy the application. You can monitor the progress at the bottom of the screen (in the Running: DefaultServer - Log tab). Deployment is complete when the Target URL is displayed as shown below.

Upon successful deployment, the page will automatically load into a browser window. If this doesn’t happen, click on the Target URL (shown above) to view the page.

Page 20: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

20

2. Type the input data as shown below (use the calendar icon to select a date for the timestamp field).

3. Click on getObject.

The results from the web service call are displayed to the right, indicating a successful call to obtain the objectId.

Page 21: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

21

5 Appendix: Using hardcoded values

Using hardcoded values for some of the input fields can be especially optimal if the underlying web service invocation requires a number of inputs, but many of them have static values. In this tutorial, since objectNumber and timestamp are the only two fields that vary, we can hardcode the other inputs as shown and eliminate the need for the user to input the static values for every invocation.

Implementation

1. Follow the steps in the tutorial, up to and including Chapter 3.

2. Click on the classIdentifier label in the design window to bring up the property inspector.

3. Enter #{‘Part’} in the Value field as shown.

4. Repeat steps 2 and 3 for the other fields (id, resolution, tableIdentifier) and assign the individual values as shown.

Page 22: Web Services Complex Types

Developing an ADF 11g client for Agile PLM

22

5. File > Save All and continue with Section 4 in the tutorial to test. The only inputs required are objectNumber and timestamp.