Home
Agile PLM Core Web Services User Manual
Contents
1. As shown in the table when you use the between not between in and not in relational operators each value in the set of values must be enclosed in quotes and delimited by commas Here are more criteria examples that use between and in relational operators Title Block Number in 1000 02 1234 01 4567 89 Title Block Effectivity Date between 01 01 2001 01 01 2002 Page Two Numeric01 between 1000 2000 Note The relational operators any all none of and not all are not supported in the Web Services Using the Nested Criteria to Search for Values in Object Lists Several lists in Agile PLM contain business objects such as Agile PLM users To search for an object in such a list you can specify nested query criteria Nested criteria are enclosed in parentheses and separated from each other by a logical AND amp amp or OR operator A comma can also be used to separate nested criteria it s equivalent to a logical OR The following criteria finds a user with the first name Christopher OR the last name Nolan Page Two Create User in General Info First Name Christopher General Info Last Name Nolan The following criteria finds a user with the first name Christopher AND the last name Nolan Page Two Create User in General Info First Name Christopher General Info Last Name Nolan
2. 78 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments agileChec AgileChec agileChec agileChec CheckInAt attachmen attachmen the checkin getBytes attachmen agileChec agileChec checkInAt pe Note Checking In the normal file that has b identify that p kInAttachmentRequestType 0 new kInAttachmentRequestType kInAttachmentRequestType 0 setClassIdentifier Part kInAttachmentRequestType 0 setObjectNumber partNumber tachmentType attachments new CheckInAttachmentType 1 ts 0 new CheckInAttachmentType ts 0 setFileContent Modified file information added after ts 0 setFileName Modified fileName 0 setAttachments attachments 0 setRowId rowId setRequest agileCheckInAttachmentRequestTy kInAttachmentRequestTyp kInAttachmentRequestTyp tachmentRequestTyp See sample helper methods In an Attachment with Fileld Identification course of usage rowld will prove to be sufficient in identifying the file However if the een checked out is part of a row that contains multiple files then fileld is essential to articular file For such cases you have to use its fileld in conjunction with its rowld Example Checking In an Attachment using Field ID CheckInAt CheckInAt AgileChec new Agile agileChec AgileChec gileCheck agileChec CheckInAt attachmen attachmen attachm
3. S BusinessObjectServiceLocator locator new BusinessObjectServiceLocator B usinessObject BindingStub businessObjectStub BusinessObject BindingStub locator getBusinessObject new java net URL SERVER URL org apache axis client Stub businessObjectStub setUsername USERNAME org apache axis client Stub businessObjectStub setPassword PASSWORD Understanding the MessageElement a A MessageElement is a part of a Request that specifies attributes of Agile Objects which can use Agile API Names a Most MessageElements are String Type while some can be Unit of Measure Type or AgileListEntryType a AMessageElement can be assigned any Tag Name When API name is used as Tag Name v9 3 0 1 15 Agile PLM Core Web Services User Manual you need not pass the attributeld MessageElement dataCell new MessageElement namespaceUri Numeric01 dataCell setObjectValue 9144 0 8 When API name is not used as Tag Name attributeld has to be explicitly passed as an XML attribute having the name attributeld MessageElement dataCell new MessageElement namespaceUri key dataCell setObjectValue 9144 0 dataCell addAttribute namespaceUri SchemaConstants attributeld getValue Attribute ID Obtaining the API Names and Attribute IDs To obtain the API Names open the desired Class in Agile Java Client You will find all the
4. seen 54 Using Parentheses in Search Criterla ettet 54 Using SQL Syntax to specify Search Criterta eene 55 Using SQE Wildcards EE 56 Setting Result Attributes for a Search sss 57 Specifying Result Attributes ENEE 61 Examples of Searches oce tede t ae node tert a CE 62 A A 62 Advanced Search zc eo A A a ER Ern bee ree 63 Getting the Searchable Attributes tentent tentent treten 63 Chapter Gis civieisccdsicctessedessecdadsetacsacnasscansctaesssceanscdudstsensaceuusidedsstensstuausddcusaeenasieanstivcesdesaans 65 Working with File Folders and Attachments eese nnn 65 Agile File We e EE 65 Managing File Folders a ice E de e t P Rer fete gin op e te de Ee ee t tot 65 Creating a File Folder it etta it t dran aert 65 Checking Out a File Folder ettet treten treten tenete nea 66 Setting the Version of File Folder Eiles treten 67 Cancelling a File Folder Checkout sse tentent trennen 68 Checking n a File Foldetr a cero dentia bab m oben bob et eate tod 69 Deleting the File Foldetrs iuo one tdem Mee ete b b vet ts 69 Getting a File from a File Folder enne nennen nnn 70 Adding Files to a Fil Folder Object cune eet et etie ego AE 71 Managing Attachments e cerdo ert en Hp dee peret e ind e ei ta 73 Getting Attachments of an Object sese tte nnne 73 Adding Attachments to an Object treten tentent tenete trennen 75 Adding Files using SOAP Attachment entretenir 77 Checking QUE t
5. AgileWarningLi addFileAtt nMessage getException exceptions j getMessage stType agileWarningListType achmentResponseType getWarnings 266 Agile Product Lifecycle Management Appendix A 3c Lawi ATA T GS Ade p ehe uv ojo EE i agileWarningListType length EPEN AgileWarningType warnings agileWarningListType i getWarning ina algae a Ox j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage Velas 2 AgileAddFileAttachmentResponse responses addFileAttachmentResponseType getResponses if responses null for int i 0 i lt responses length a s System out println The specified SOAP attachment was successfully added to the Attachment tab System out println of the object responses i getObjectNumber Helper Methods The getRowID and getFileld are custom helper methods These are not Agile Web Services operation getRowld Method Service Obtaining the rowld for a row on an Agile table Usage Several table and attachment operations require the rowld as input for executing a Web Service In such cases the loadTable operation is used to load the table that contains the required row and then iterated through the results till the row is found To find a particular row in a table a keyword may be used to search and identify the row In this example the
6. 120 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations v9 3 0 1 121 Attachment Web Services This chapter includes the following e ee C adie wii E E getFileAttachment addFil Attachiment ione een Oa aie ede iad eid UR eed e Der be e da QOheckOUlFE uos E taie ein ne niei pei ne y ned e o rede ue rr de Oda A ela E Gad Na teeta kn E E AA checkOutAttachment e gt add le E adorado getFileFF Service To retrieve a list of files from a specific Agile file folder object Usage The request object contains the specifications that identify the file to be downloaded An array of bytes is obtained in the response object which also provides comprehensive information about the files retrieved including content file type size and row identifiers Syntax GetFileFFResponseType getFileFFResponseType agileStub getFileFF new GetFileFFRequestType Basic Steps To get a file from a File Folder Create the request object GetFileFFRequestType for the GetFileFF operation 2 Create an array of requests of type AgileGetFileFFRequest Batch operations may be performed by populating as many request objects as required to obtain several files from different folders simultaneously 3 Foreach batched request specify the unique folder name and version from which files will be retrieved Use the element files an object of type AgileFileAttachmentRequest
7. AgileGetObjectRequest agileGetObjectRequest new AgileGetObjectRequest 1 agileGetObjectRequest 0 new AgileGetObjectRequest agileGetObjectRequest 0 setClassIdentifier ManufacturerPart agileGetObjectRequest 0 setObjectNumber manufPartNumber PropertyType propertyType new PropertyType 1 propertyType 0 new PropertyType propertyType 0 setPropertyName SchemaConstants manufacturer name getValue propertyType 0 setPropertyValue manufName agileGetObjectRequest 0 setOptions propertyType Creating an Object To create a new Agile PLM object use the operation createObject on page 155 This operation requires you to specify the objectType parameter for example a Part Example Creating a Part CreateObjectRequestType createObjectRequestType new CreateObjectRequestType AgileCreateObjectRequest agileCreateObjectRequest new AgileCreateObjectRequest 1 agileCreateObjectRequest 0 setClassIdentifier Document AgileRowType row 1 new AgileRowType 24 Agile Product Lifecycle Management Chapter 3 Working with Business Objects MessageElement messages 1 new MessageElement 2 String namespaceUri null messages 1 0 new MessageElement namespaceUri number addTextNode documentNumber messages 1 messages 1 0 0 1 new MessageElement namespaceUri description 1 messages 1 add
8. v9 3 0 1 129 Agile PLM Core Web Services User Manual NA ral SS lt responses gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00734 lt objectNumber gt lt attachment gt lt rowId gt 6112830 lt rowId gt lt fileld gt 6112635 lt fileld gt lt name gt P00734_filel23 txt lt name gt lt description gt Description for file 1 lt description gt lt fileType gt txt lt fileType gt lt fileSize gt 19 lt fileSize gt lt fileDownloadURL gt http DTP VSREEDHA WF 8877 webfs DownloadServlet token D6A8C1A41AA40B5AE29A2CFD33DOBEE143E7ABBBCO0245 67A16EBD62A195193C8FE6B3FBCC3131B58BC18A774412F759D648C6DOEC5D579A9E0B660217EA744A 24220B54E0583A1C569F6E9722B6 amp amp vault amp amp filelD 3DB9227A1EFF6DC2EB fileDownloa dURL gt lt attachment gt lt responses gt lt response gt lt getFileAttachmentResponse gt lt soapenv Body gt soapenv Envelope See also loadTable on page 259 getRowId Method on page 267 getFileld Method on page 270 130 Agile Product Lifecycle Management Attachment Web Services Core Operations addFileAttachment Service Usage Syntax Basic Steps Sample Code To add a new file to the Attachment Tab of an Agile Object This is facilitated by specifying relevant details of the new file through the request object AddFileAttachmentResponseType addFileAttachmentResponseType agileStub addFileAttachment new AddFileAttachmen
9. AgileWarningListType agileWarningListType getAllClassesResponseType getWarnings if agileWarningListType null fot augue ak c 09 i agileWarningListType length are di AgileWarningType warnings agileWarningListType i getWarning ora ee a O j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage pelse ClassType classes getAllClassesResponseType get class System out println List of classes retrieved for intei Norme lt class denia LFF System out println classes i getDisplayName Sample Code SOAP REUS lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 0rg 2001 XMLSchema instance lt soapenv Body gt lt getAllClasses xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 request xmlns lt level gt ALL lt level gt lt request gt lt getAllClasses gt soapenv Body soapenv Envelope SS POS e xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getAllClassesResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V
10. properties 0 setPropertyName SchemaConstants program template getValue properties 0 setPropertyValue Template agileSaveAsObjectRequestType 0 setOptions properties String tables PageTwo Team agileSaveAsObjectRequestType 0 setTablesToCopy tables agileSaveAsObjectRequestType 0 setApplyToChildren true When you create a program you can specify that it is a template by setting the value of the Template attribute to Template You can do this only when you create a program or when you save it as a new program Existing programs cannot be changed from the Active or Proposed state to Template Deleting and Undeleting an Object The deletion of an object in Agile is of two types soft delete and hard delete With soft delete which is carried out using the operation deleteObject on page 167 the object is marked as Deleted It is however not removed from the database so that it can be restored using the operation undeleteObject on page 169 A soft deleted object does not appear in search results however with the operation isDeletedObject on page 171 you can find these deleted objects With hard delete the object is removed from the database permanently These objects do not appear in search querries or pre defined query results Note To delete and undelete an object you must have Delete and Undelete privileges respectively for the particular object type However soft deleted ch
11. table2 setTableIdentifier Compositions agileCopyTableRequestType 0 setSourceTable tablel agileCopyTableRequestType 0 setTargetTable table2 copyTableRequestType setCopyTable agileCopyTableRequestType Redlining a Table When you issue a change for a released item or a price agreement the Agile Web Services lets you redline certain tables affected by the change In the Agile PLM clients redline tables visually identify values that have been modified from the previous revision Red underlined text thus the term redline indicates values that have been added and red strikeout text indicates values that have been deleted Those responsible for approving the change can review the redline data The Agile PLM system provides the following Redline tables 8 Redline BOM 2 Redline Manufacturers AML 9 Redline Price Lines o Redline Title Block Example Adding a Redlined BOM RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableIdentifier 803 44 Agile Product Lifecycle Management Chapter 4 Working with Tables ObjectReferentldType multiSelect new ObjectReferentIdType multiSelect setClassIdentifier Part multiSelect setObjectIdentifier P00407 MessageElement dataCell new MessageElement namespaceUri itemNumber dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYPI Obje
12. 226 Agile Product Lifecycle Management PC Web Services Core Operations isRedlineModified Service To determine whether a particular redlined entity in Agile PLM has been modified or not Usage Relevant details are used to form the request object The response object includes information that will denote whether the specified red line was modified Syntax IsRedlineModifiedResponseType isRedlineModifiedResponseType agileStub isRedlineModified new IsRedlineModifiedRequestType Basic Steps To determine if a redlined entity is modified or not 1 Create the request object IsRedlineModifiedRequestType for the isRedlineModified operation 2 Create an array of requests of type AgilelsRedlineModifiedRequest Batch operations may be performed by populating as many request objects as required to verify the redline status of rows in several objects with a single Web Service call 3 Identify the object whose redlines will be verified by specifying the class identifier and the object number 4 Therevision of the object may then be specified by using a PropertyType object 5 Obtain and specify the rowlds for the rows whose redline status is being queried 6 Specify the redline table on which the undoRedline operation has be executed To obtain a list of possible table values use the object RedlineTableType 7 Setall the requests and use the Agile Stub of the PC Web Service to invoke the isRedlineModified Web Ser
13. Mfrs Where Used Mfr Parts Prices Mfr Parts Compliance Compositions Mfr Parts Compliance Substances Mfr Parts Compliance Specifications Mfr Parts Suppliers Mfr Parts Relationships Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows loadTable isReadOnlyTable loadTable isReadOnlyTable Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows loadTable isReadOnlyTable Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Changes loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Mfrs loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows loadTable isReadOnlyTable loadTable isReadOnlyTable Mfr Parts loadTable copyTable clearTable isReadonl
14. SelectionType multiSelect new SelectionType 1 multiSelect 0 new SelectionType multiSelect 0 setValue Bangalore lst03 setSelection multiSelect MessageElement dataCell new MessageElement namespaceUri siteName dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYP AgileListEntryType Gl 36 Agile Product Lifecycle Management Chapter 4 Working with Tables dataCell setObjectValue 1st03 message 0 dataCell row 0 set any message Adding Suppliers to the Suppliers Tab of an Item You can add suppliers to the suppliers tab of an item using the following two methods Method 1 final String COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 final String XSIPREFIX org apache axis Constants NS PREFIX SCHEMA XSI final String TYPE SchemaConstants type getValue ObjectReferentldType multiSelect new ObjectReferentIdType multiSelect setClassIdentifier Broker multiSelect setObjectIdentifier SAP0265 MessageElement dataCell new MessageElement namespaceUri supplier01 dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYP ObjectReferentIdType dataCell setObjectValue multiSelect message 0 dataCell El row 0 set any message Method 2 final String COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 f
15. j Im cssc System out println nAttributes for queryGetSearchableAttributesRequestType getClassIdentifier mem AttributeType attributes queryGetSearchableAttributesResponseType getAttributes v9 3 0 1 237 Agile PLM Core Web Services User Manual En fant 3 NE a 4 ZF Ada a A Lan be wn TI sn ebe Le a E EE System out println Attribute ab ae D ROW e W ge attributes i getApiName Sample Code SOAP REQUEST gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getSearchableAttributes xmlns http xmlns oracle com AgileObjects Core Search V1 gt lt request xmlns gt lt classIdentifier gt Part lt classIdentifier gt lt request gt lt getSearchableAttributes gt lt soapenv Body gt soapenv Envelope Responses lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 0rg 2001 XMLSchema instance lt soapenv Body gt lt getSearchableAttributesResponse xmlns http xmlns oracle com AgileObjects Core Search V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCo
16. new MessageElement namespaceUri Message Desc messages 0 addTextNode Updated value of Doc Description rows set any messages agileUpdateObjectRequest 0 setData rows Getting the Status of an Object In a workflow or a lifecycle a routable object passes through various states Subsequent action on this object requires ascertaining its current state the states it has already crossed and the states it must go through This information is obtained using the operation getStatus on page 186 The response object will consist of AgileStatusType objects for nextDefaultStatus nextValidStatuses currentStatus For complete details refer Schema Documentation at Oracle eDelivery Site Example Getting the status of an ECO GetStatusRequestType getStatusRequestType new GetStatusRequestType AgileGetStatusRequestType agileGetStatusRequestType new AgileGetStatusRequestType l agileGetStatusRequestType 0 new AgileGetStatusRequestType agileGetStatusRequestType 0 setClassIdentifier ECO agileGetStatusRequestType 0 setObjectNumber changeNumber Getting the AutoNumbers An AutoNumber source is a predefined sequence of numbers that automatically assign a number to an object An Agile PLM class can have one or more AutoNumber sources These are defined in the Admin node of the Agile Java Client To get a next in sequence AutoNumber specify the autoNumberSource and objectType
17. Comment System out println Rejecting ECO changeNumber n agileRejectRObjectRequestType 0 setSecondSignature null AgileUserUserGroupIdentifierType notifiers new AgileUserUserGroupIdentifierType l1 notifiers 0 new AgileUserUserGroupIdentifierType notifiers 0 setClassIdentifier User notifiers 0 setObjectIdentifier notifierl agileRejectRObjectRequestType 0 agileRejectRObjectRequestType 0 setEscalations null agileRejectRObjectRequestType 0 setTransfers null agileRejectRObjectRequestType 0 setRejectForGroups null agileRejectRObjectRequestType 0 setSignoffForSelf true rejectRObjectRequestType setRejectRObject agileRejectRObjectRequestType RejectRObjectResponseType rejectRObjectResponseType agileStub rejectRObject rejectRObjectRequestType System out println STATUS CODE rejectRObjectResponseType getStatusCode setNotifiers notifiers alae rejectRObjectResponseType getStatusCode toString equals ResponseStatusCode S UCCESS getValue AgileExceptionListType agileExceptionListType rejectRObjectResponseType getExceptions if agileExceptionListType null ojo Mba mL e 9p i agileExceptionListType length IRR E AgileExceptionType exceptions agileExceptionListType i getException ine E 3 Op j exceptions length j System out println Exception Id exceptions j getExceptionId nMess
18. Date is a special case You must pass URI for date even though it is an XSD type Example MessageElement for Date xsdnamespace http www w3 org 2001 XMLSchema MessageElement dataCell new MessageElement namespaceUri date01 dataCell addAttribute XSIPREFIX xsdnamespace SchemaConstants type getValue dateTime dataCell setObjectValue new Date message 0 dataCell User Supplier Customer Analyst The corresponding object is ObjectReferentldType You are required to pass the namespace attribute Example MessageElement for a User ObjectReferentldType user new ObjectReferentIdType user setObjectIdentifier EMS1 18 Agile Product Lifecycle Management Chapter 2 Getting Started with Agile Web Services user setClassIdentifier supplier MessageElement dataCell new MessageElement namespaceUri supplier dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue ObjectReferentIdType dataCell setObjectValue user message 0 dataCell Example MessageElement for a Customer ObjectReferentldType customer new ObjectReferentldType ll customer setObjectIdentifier DEMO CUSTOMER 1 customer setClassIdentifier customer MessageElement dataCell new MessageElement namespaceUri customer dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue Objec
19. agileApproveRObjectRequestType 0 setEscalations null agileApproveRObjectRequestType 0 setTransfers null agileApproveRObjectRequestType 0 setApproveForGroup null agileApproveRObjectRequestType 0 setSignoffForSelf true approveRObjectRequestType setApproveRObject agileApproveRObjectRequestT ype Rejecting a Routable Object This method informs users that the routable object is rejected by the approver or when the approver is rejecting the object on behalf of one or more user groups You can also use this method to specify the secondSignature escalations transfers or SignoffForSelf parameters as they are set in server s Preferences settings Use the operation rejectRObject on page 202 Rejecting a Routable Object and notifying the users agileRejectRObjectRequestType 0 setClassIdentifier ECO agileRejectRObjectRequestType 0 setObjectNumber changeNumber v9 3 0 1 85 Agile PLM Core Web Services User Manual agileRejectRObjectRequestTyp agileRejectRObjectRequestTyp agileRejectRObjectRequestTyp 0 setPassword PASSWORD 0 setComment Comment 0 setSecondSignature null AgileUserUserGroupIdentifierType notifiers new AgileUserUserGroupldentifierType 1 notifiers 0 new AgileUserUserGroupIdentifierType notifiers 0 setClassIdentifier User notifiers 0 setObjectIdentifier notifierl agileRejectRObj agileRejectRObj
20. agileChangeStatusRequestType 0 setNotifyOriginator true agileChangeStatusRequestType 0 setNotifyChangeAnalyst true agileChangeStatusRequestType 0 setNotifyCCB true changeStatusRequestType setChangeStatusRequest agileChangeStatusRequest Type v9 3 0 1 87 Agile PLM Core Web Services User Manual 88 Agile Product Lifecycle Management Reference Core Operations Reference Core Operations This section describes the Core Web Services Operations For Schema details of these operations download Agile Web Services Schema Docs from Oracle eDelivery Web Site edelivery oracle com v9 3 0 1 89 Admin and Metadata Web Services This chapter includes the following Elle E getSubClasses pal m P Br I M GETAP ES Fy E C ECO EE getAutolNuimbers otro to nee Here an dde ope Lena ned Boe eec gb 110 Janis 113 EE e E 116 CONVENCUITENCY c etos erret nen o t Ge dne n oen Le o ndn oe Dec Boe s 118 getAllClasses Service To retrieve all Agile classes from Agile PLM system Usage The class filtering details are specified in the request object A list of Agile classes retrieved as per the filter is obtained in the response Syntax GetAllClassesResponseType getAllClassesResponseType agileStub getAllClasses new GetAllClassesRequestType Basic Steps To get a
21. dene augue aL 9B i agileWarningListType length aite di AgileWarningType warnings agileWarningListType i getWarning FOr Gba 3 109 j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage velss 4 AgileGetAttributesResponseType responses getAttributesResponseType getAttributesResponses if responses null for int j 0 j responses length ase d AttributeType attributes responses jl getAttributes System out print Attributes for System out println agileGetAttributesRequestType j getAttributeIdentifier 0 Wa Nan og if attributes null ENER i attributes length E e af System out println Display name gt W ai attributes i getDisplayName System out println Data Type ees WU oam attributes i getDataType System out println Max length gt F attributes i getMaxLength AdminListType value attributes i getPossibleValues AdminListType values value null null value getEntry System out println Possible values H if values null itae Seng Stal c O ii values length ditt System out println values ii getDescription Y nes System out println Required field gt Use attributes i getRequired System out println Searchable field gt attributes i getSearchable System out print Rel operators Wi
22. eene nnne 263 Executing the Samples using a Java IDE tenerent 264 Understanding the Cod 6 vx ipt n pet ag i mte e ge n fret p dt 264 AddFileSOAPAttachment Method 265 Helper Methods etie iei neat dedi tbe i ne ees 267 getRowld Method ui td AAA d qe te di ee ie date 267 Ee RUE te WE ge e EE 270 viii Agile Product Lifecycle Management Preface The Agile PLM documentation set includes Adobe Acrobat PDF files The Oracle Technology Network OTN Web site http www oracle com technology documentation agile html contains the latest versions of the Agile PLM PDF files You can view or download these manuals from the Web site or you can ask your Agile administrator if there is an Agile PLM Documentation folder available on your network from which you can access the Agile PLM documentation PDF files Note To read the PDF files you must use the free Adobe Acrobat Reader version 7 0 or later This program can be downloaded from the Adobe Web site http www adobe com The Oracle Technology Network OTN Web site http www oracle com technology documentation agile html can be accessed through Help gt Manuals in both Agile Web Client and Agile Java Client If you need additional assistance or information please contact support http www oracle com agile support html http www oracle com agile support html for assistance Note Before calling Oracle Support about a problem with an Agile PLM manual please have the
23. v9 3 0 1 175 Agile PLM Core Web Services User Manual saveAsObject Service To save a specific Agile object as a new object in the Agile PLM system Usage The object specifications are detailed in the request object where the class type unique object number and other primary data may be specified The response object contains information identifying the object that was saved Syntax SaveAsObjectResponseType saveAsObjectResponseType agileStub saveAsObject new SaveAsObjectRequestType Basic Steps To save an object as another object 1 Create the request object SaveAsObjectRequestT ype for the saveAsObject operation 2 Create an array of requests of type AgileSaveAsObjectRequestType Batch operations may be performed by populating as many request objects as required to save several objects simultaneously 3 Foreach of the requests set the class identifier to specify the type of object that will be saved and an object number to identify the unique object and the class type of the new object 4 This can be carried out in two ways Using the element xsd any to specify the new Object Number The object number of the new object can be specified through the xsd any attribute of an AgileRowType by using MessageElements The new object number information in this row is stored in the request object using the setData method Using an AutoNumber Source to specify the new Object Number The autonumber source is retriev
24. AgileAddFileAttachmentRequestType This object includes information about the name of the file and its description and content While using SOAP attachments create a datahandler to specify the file source and add the add the content as a soap attachment to the soap request Finally set the contentld onto AgileAddFileAttachmentRequestType v9 3 0 1 265 Agile PLM Core Web Services User Manual The request objects are set and the Agile Stub is used to make the addFileAttachment Web Service call The status code obtained from the response object is printed to verify the success of the addFileAttachment operation If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service If the Web Service call was successful then state the same A setupServerLogin AddFileAttachmentRequestType addFileAttachmentRequestType new AddFileAtt AgileAddFileAttach new AgileAddFi agileAddFileAttach H achmentRequestType mentRequest agileAddFileAttachmentRequest leAttachmentRequest 1 mentRequest 0 new AgileAddFileAttachmentRequest mentRequest 0 setClassIdentifier Part mentRequest 0 setObjectNumber partNumber agileAddFileAttach agileAddFileAttach System out printin AgileAddFileAttach AgileAddFileAttach attachments 0 attachments 0 se attachments 0 se String filename BufferedWriter out new BufferedWr write Test fi close ou ou
25. Basic Steps To get the workflow of a routable object 1 Create the request object GetWorkflowsRequestT ype for the getWorkflows operation Create an array of requests of type AgileGetWorkflowsRequestT ype Batch operations may be performed by populating as many request objects as required to obtain several workflows 2 Foreach batched request specify the type of object whose workflows are to be retrieved and its unique object number 3 Therequest objects are set and the Agile Stub is used to make the getWorkflows Web Service call The status code obtained from the response object is printed to verify the success of the getWorkflows operation 4 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 5 If the Web Service call was successful display the list of workflows retrieved v9 3 0 1 183 Agile PLM Core Web Services User Manual Sample Code Java Ier A setupServerLogin GetWorkflowsRequestType getWorkflowsRequestType new GetWorkflowsRequestType AgileGetWorkflowsRequestType agileGetWorkflowsRequestType new AgileGetWorkflowsRequestType l agileGetWorkflowsRequestType 0 new AgileGetWorkflowsRequestType agileGetWorkflowsRequestType 0 setClassIdentifier ECO agileGetWorkflowsRequestType 0 setObjectNumber changeNumber System out println Fetching workflow information of change object changeNumber n getWorkflowsRequestType setWorkflowReques
26. File size attachmentsResp j getFileSize if attachmentsResp j getContent null System out println Byte length attachmentsResp j getContent length E File Content received successfully Sample Code SOAP REUS Si xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getFileAttachment xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00734 lt objectNumber gt lt allFiles gt false lt allFiles gt lt downloadUrl gt true lt downloadUrl gt lt attachments gt lt rowId gt 6112830 lt rowId gt lt attachments gt lt requests gt lt request gt lt getFileAttachment gt soapenv Body soapenv Envelope RSS PONS CE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getFileAttachmentResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt
27. MPN B MPN Pan Effective Effective Material Mon Material Total 7 1 Number Description Manufacture Supplier Qty Fro Price Price E mp a Agile PLM Microsoft Excel User Interface Integration Portals and Agile Web Client Before PLM Web Services the practice was to create custom Web applications using Agile PLM SDK with various tools and technologies With Web Services you can build rich Web applications in Oracle Web Center and ADF by taking advantage of Web 2 0 Ul and mobile services v9 3 0 1 7 Agile PLM Core Web Services User Manual Once you develop the custom UI Web application for casual users you can also integrate the custom UI with Agile Web Client using Agile PLM s URL Process Extensions refer to Agile PLM SDK Developer Guide and Smart URL features Figure 2 UI Integration Portals and PLM Web Client Documents Agile PLM WebCenter ADF Applications User Interface Integration Mobile ADF One of the key demands in Agile PLM installations is mobile access for management and executive personnel One such example is ECO Approval by the senior or management staff using mobile devices PLM s Web Services enable developing simple ECO Approval applications for users of mobile devices The following illustrations depict a sales RFQ implementation from a sales manager s perspective Using the mobile device s browser the sales manager launches the Mobile application built using Agile Web Services
28. OTN Web site http www oracle com technology documentation agile html Agile PLM Core Web Services Agile PLM Core Web Services are a set of services for the following PLM functionalities n n D Business Object CRUD Create Read Update Delete data services Collaboration services Meta data Services Search Services Attachment Services Table Services Agile Product Lifecycle Management Chapter 1 Introduction to Agile PLM Web Services Agile PLM EC Services Agile PLM Engineering Collaboration EC Services are a set of Business Services that supplement PLM s Core Web Services for CAD use cases They also offer a set of higher level BPEL orchestration services Customers and partners can build next generation MCAD and ECAD connectors utilizing Agile PLM Web Services and Engineering Collaboration Services Some of the benefits are D Significantly Improves WAN performance for CAD connectors because the bulk of the logic is deployed to the server o Makes it easier for development partners and customers to implement CAD connectors 9 Provides the unique and interface friendly API Name field to access PLM metadata Agile PLM Web Service Authentication and Performance In implementations where scalability is critical a lightweight context management facility for authentication is available and its use is recommended With this facility authentication is managed using a combination of user credentials and a
29. Problem Report General Info Manufacturer Part Number General Info Manufacturer Name General Info Description General Info Lifecycle Phase Cover Page Package Number Cover Page Description Cover Page Assembly Number Cover Page Status Cover Page Workflow General Info Name General Info Description General Info Lifecycle Phase General Info Commodity Type General Info Overall Compliance General Info Price Number General Info Description General Info Rev General Info Price Type General Info Lifecycle Phase General Info Program General Info Customer General Info Supplier Cover Page PSR Type Cover Page Number Cover Page Description Cover Page Status Cover Page Workflow v9 3 0 1 59 Agile PLM Core Web Services User Manual Programs Activities Program Phase Task Gate Projects Sourcing Projects Sourcing Project Quality Change Requests Corrective Action Preventive Action CAPA Audits Audit RFQ Responses RFQ Responses RFQ Response General Info Name General Info Description General Info Status General Info Health General Info Owner General Info Root Parent General Info Workflow General Info Type General Info Project Type General Info Number General Info Description General Info Manufacturing Site General Info Ship To Location General Info Program General Info Customer General Info Lifecycle Phase Cover Page QCR Type Cover Page QCR Number Cover Page Description Co
30. Tables vary for each Agile PLM dataobject Tables for change objects are different from tables for items Each table for a particular dataobject is identified by a constant in the constants class or by the API name for that dataobject Item constants are contained in the ItemConstants class change constants are contained in the ChangeConstants class and so on Example Loading the Table of a Part RequestTableType table new RequestTableType 1 table 0 new RequestTableType table 0 setClassIdentifier Part table 0 setObjectNumber partNumber table 0 setTableIdentifier table01 loadTableRequestType setTableRequest table v9 3 0 1 33 Agile PLM Core Web Services User Manual Special Handling in the loadTable Operation Example Loading a Table for an Object Version table 0 new RequestTableType table 0 setClassIdentifier FileFolder table 0 setObjectNumber folderNumber table 0 setTableIdentifier Files PropertyType properties new PropertyType 1 properties 0 new PropertyType properties 0 setPropertyName SchemaConstants folderVersion getValue properties 0 setPropertyValue folderVersion table 0 setOptions properties loadTableRequestType setTableRequest table Example Loading a Table for an Object Revision table 0 new RequestTableType table 0 setClassIdentifier Part table 0 setObjectNumber partNumber table 0 s
31. The first screen is the Search RFQ screen The second is the RFQ Details screen and the third the Send RFQ screen Figure 3 UI Integration Mobile ADF Internet Explorer P 2 Y EE http 10 148 154 166 7101 Fiel v Internet Explorer P 2 Yi 4 lt x aP nttp 10 148 154 166 7101 Fiel y Search AS af nttp 10 148 154 166 7101 Fiel y The has been sent out succussfully Propdsal ID Search 8 t i 3 i a E la Search RFQ RFQ Details Send RFQ CAD Integration through EC Services Customers and partners can build next generation MCAD and ECAD connectors with the aid of Agile PLM Core and Engineering Collaboration Web Services The benefits were summarized in Agile PLM EC Services on page 5 8 Agile Product Lifecycle Management Chapter 1 Introduction to Agile PLM Web Services Some of the EC services are orchestrated using Business Process Execution Language BPEL BPEL short for Web Services Business Process Execution Language is an executable language for specifying interactions with Web Services Processes in Business Process Execution Language export and import information by using Web Service interfaces exclusively The CAD integration and the role of BPEL server is shown in the following illustration Building Casual User Interfaces The following paragraphs describe the tools and the steps in dev
32. agileSaveAsObjectRequestType 0 setData row Special Handling in the saveAsObject Operation In case of saving an object as a Program you need to specify the TemplateType Active Template or Proposed Optionally you can also pass additional attributes such as Scheduled Start Data Tables to be copied Apply to children etc Note The default TemplateType of a Program is Active Example Saving an Object as a Program of type Template SaveAsObjectRequestType saveAsObjectRequestType new SaveAsObjectRequestType AgileSaveAsObjectRequestType agileSaveAsObjectRequestType new AgileSaveAsObjectRequestType 1 agileSaveAsObjectRequestType 0 new AgileSaveAsObjectRequestType agileSaveAsObjectRequestType 0 setParentClassIdentifier Program agileSaveAsObjectRequestType 0 setParentObjectNumber parentProgramNumber agileSaveAsObjectRequestType 0 setNewClassIdentifier Program AgileRowType row new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null 26 Agile Product Lifecycle Management Chapter 3 Working with Business Objects messages 0 new MessageElement namespaceUri name messages 0 addTextNode newProgramNumber row set_any messages agileSaveAsObjectRequestType 0 setData row PropertyType properties new PropertyType 1 properties 0 new PropertyType
33. hf DataHandler dh new DataHandle AttachmentPart ap agileStub addAttac attachments 0 set Adding a SOAP attachment to the part parent ap Mens rp mentRequestType attachments new mentRequestType 1 new AgileAddFileAttachmentRequestType tName Filename txt tDescription Description for file samplel123456 txt iter new FileWriter filename SA r new FileDataSource filename new AttachmentPart dh hment ap ContentId ap getContentId UU e agileAddFileAttachmentRequest 0 setAttachments attachments agileAddFileAttach mentRequest 0 setSingleFolder false addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest AddFileAttachmentResponseType addFileAttachmen agileStub addFileAttachment addFileAttachmentRequestType System out printin iT nSTATUS CODE tResponseType addFileAttachmentResponseType getStatusCode laddFileAttachmentResponseType getStatusCode toString equals ResponseStatusCo de SUCCESS getValu AgileException addFileAtt if agileExcep foe A i lt a i AgileE agileExceptionListType i for r d m A ListType agileExceptionListType achmentResponseType getExceptions tionListType null 0 gileExceptionListType length 1 xceptionType exceptions nt j 0 lt exceptions length j System out println Exception Id exceptions j getExceptionId
34. lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt cancelCheckOutFF xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt request xmlns gt lt requests gt folderNumber FOLDER00217 folderNumber lt requests gt lt request gt lt cancelCheckOutFF gt lt soapenv Body gt lt soapenv Envelope gt RSS DONS Cu lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt v9 3 0 1 141 Agile PLM Core Web Services User Manual xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt folderNumber gt FOLDER00217 lt folderNumber gt lt responses gt lt response gt lt cancelCheckOutFFResponse gt lt soapenv Body gt lt soapenv Envelope gt See also checkOutFF on page 134 142 Agile Product Lifecycle Management Attachment Web Services Core Operations checkOutAttachment Service Usage Syntax Basic Steps Sample Code To check out a specific file from the Attachment Tab of an
35. new ObjectReferentIdType v9 3 0 1 67 Agile PLM Core Web Services User Manual objRefId setClassIdentifier FileFolder objRefId setObjectIdentifier folderNumber messages 0 setObjectValue objRefId rows 0 set_any messages agileAddRowsRequest 0 setRow rows agileAddRowsRequest 0 setObjectInfo table addRowsRequestType setData agileAddRowsRequest Stage2 Updating the version of this newly created file folder on the attachment table RequestTableType updateTable new RequestTableType updateTable setClassIdentifier Part updateTable setObjectNumber parentPartNumber updateTable setTableIdentifier Attachments AgileUpdateRow updateRow new AgileUpdateRow 1 updateRow 0 new AgileUpdateRow updateRow 0 setRowId RowId AgileRowType row new AgileRowType MessageElement messages 2 new MessageElement 1 messages 2 0 new MessageElement namespaceUri folderVersion messages 2 0 addAttribute Constants NS PREFIX SCHEMA XSI COMMONNAMESPACEURI type AgileListEntryType AgileListEntryType list new AgileListEntryType SelectionType selection new SelectionType 1 selection 0 new SelectionType selection 0 setValue 2 list setSelection selection messages 2 0 setObjectValue list row set_any messages 2 updateRow 0 setRow row agileUpdate
36. p www p www p www p www p www A As 4j NAS lt tableName xsi nil true gt tableIdentifier row rowId 13 lt objectReferentId gt classId 10141 classl d lt className gt Part lt className gt lt objectId gt 6098830 lt objectId gt lt objectName xsi nil true gt objectReferentId lt ItemType xsi type xs string w3 org 2001 XMLSchema attributeld 1 gt Part lt ItemType gt lt Number xsi type xs string w3 org 2001 XMLSchema attributeld 2 gt P00003 lt Number gt lt Description xsi type xs string w3 org 2001 XMLSchema attributeld 3 gt lt Description gt lt LifecyclePhase xsi type xs string w3 org 2001 XMLSchema 4 gt Preliminary lt LifecyclePhase gt lt Rev xsi type xs string w3 org 2001 4 XMLSchema attributeld 5 gt lt Rev gt lt objectReferentId gt lt classId gt 10141 lt classId gt lt className gt Part lt className gt lt object Id gt 6098836 lt objectId gt lt objectName xsi nil true gt objectReferentId lt ItemType xsi type xs string w3 org 2001 XMLSchema attributeId 1 Part ItemType lt Number xsi type xs string w3 org 2001 XMLSchema attributeld 2 gt P00005 lt Number gt Description xsi type xs string w3 org 2001 XMLSchema attributeld 3 gt lt Description gt lt LifecyclePhase xsi type xs string w3 org 20
37. request xmlns lt setWorkFlowRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00033 lt objectNumber gt lt workFlowIdentifier gt 3752 lt workFlowIdentifier gt lt setWorkFlowRequest gt lt request gt lt setWorkFlow gt lt soapenv Body gt soapenv Envelope RSS POS e xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt setWorkFlowResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt setWorkFlowResponse gt lt soapenv Body gt lt soapenv Envelope gt 206 Agile Product Lifecycle Management Collaboration Web Services Core Operations See also getWorkFlows on page 183 v9 3 0 1 207 Agile PLM Core Web Services User Manual addApprovers Service To add a list of Approvers or Observers to a routable object addApprovers is used for adding a set of approvers for a given status in Agile PLM Details of status and list of approvers can be specified in the request object Success of the operation can be verified using the status code in the response object Usage When a change i
38. tableRequests 0 setTableIdentifier Attachments tableRequests 0 setloadCellMetaData false agileGetObjectRequest 0 setTableRequests tableRequests getObjectRequestType setRequests agileGetObjectRequest GetObjectResponseType getObjectResponseType agileStub getObject getObjectRequestType Sy Stem out printlin EE getObjectResponseType getStatusCode if getObjectResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue AgileExceptionListType agileExceptionListType getObjectResponseType getExceptions Hoja Aen al 109 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage else If the object was successfully retrieved then examine its contents AgileGetObjectResponse responses getObjectResponseType getResponses if responses null for int i 0 i lt responses length TER of AgileObjectType agileObject responses i getAgileObject MessageElement messages agileObject get_any ObjectIdentifierType object agileObject getObjectIdentifier System out println object getObjectName System out println Object Information if messages null for Jeng 9 OF j lt messages length J 4 System out print messages j getTagName gt displayMessageElementVa
39. xmlns http xmlns oracle com AgileObjects Core Table V1 gt request xmlns lt isReadOnlyTable gt lt agileTable gt classIdentifier Part classIdentifier lt objectNumber gt P00711 lt objectNumber gt lt tableldentifier gt 807 lt tableldentifier gt lt agileTable gt isReadOnlyTable lt isReadOnlyTable gt lt agileTable gt classIdentifier ECO classIdentifier lt objectNumber gt C00217 lt objectNumber gt lt tableldentifier gt 809 lt tableldentifier gt lt agileTable gt isReadOnlyTable request isReadOnlyTable soapenv Body soapenv Envelope RSS POS E lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isReadOnlyTableResponse xmlns http xmlns oracle com AgileObjects Core Table V1 gt lt response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt isTableReadOnly gt lt agileTable gt lt classId gt 10141 lt classId gt lt className gt Part lt className gt lt objectId gt 6112208 lt objectId gt lt objectName gt P00711 lt objectName gt lt tableld gt 807 lt tableld gt lt tableName gt Attachments lt tableName gt lt tableDisplayName gt Attachments lt tableDisplayName gt lt agil
40. 0 setFileRefs reference addFileFFRequestType setRequest agileAddFileFFRequestType Example Adding URLs to a File Folder agileAddFileFFRequestType 0 setFolderNumber folderNumber AddUrlFFType urls new AddUrlFFType 1 urls 0 new AddUrlFFType urls 0 setUrl http www testurl filefolder com urls 0 setDescription Test url description agileAddFileFFRequestType 0 setUrls urls addFileFFRequestType setRequest agileAddFileFFRequestType Adding Files in a File Folder The Files table of a file folder lists the files and URLs associated with the object To edit the table you must first check out the file folder You cannot add files or URLs to the Files table or delete them unless the file folder is checked out Example Adding a URL in a File Folder Addition of URL attachments to the Files tab of a file folder object can be carried out by specifying the URL and folder number checkOutFolder folderNumber agileAddFileFFRequestType 0 setFolderNumber folderNumber AddUrlFFType urls new AddUrlFFType 1 urls 0 new AddUrlFFType urls 0 setUrl http www testurl filefolder com urls 0 setDescription Test url description agileAddFileFFRequestType 0 setUrls urls addFileFFRequestType setRequest agileAddFileFFRequestType 72 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments Managing A
41. 131 to add a File or a URL When you add a URL attachment the server stores a reference to the Internet location but does not upload a file Therefore you cannot download a URL attachment Agile Web Services validate URL strings that you attempt to check in as an attachment If a URL is invalid the Agile Web Services consider the string a filename instead of a URL You cannot add a file or URL to the Attachments table of an item if 8 The current revision has a pending or released MCO 2 The current revision is incorporated To add attachments you have to specify the unique object to whose attachment tab the files will be added Also specify its class identifier and object number information The exact specification of the attachment to be added is defined as an object of type AgileAddFileAttachmentRequestType This object includes information about the name of the file and its description and content Example Adding an Attachment to a Part You can specify if multiple attachments should add into a single folder or multiple folders by supplying boolean value to setSingleFolder agileAddFileAttachmentRequest 0 setClassIdentifier Part agileAddFileAttachmentRequest 0 setObjectNumber partNumber AgileAddFileAttachmentRequestType attachments new AgileAddFileAttachmentRequestType 1 attachments 0 new AgileAddFileAttachmentRequestType attachments setName Filename txt 0 attachments 0 setDe
42. 140 Agile Product Lifecycle Management Attachment Web Services Core Operations SLE CancelCheckOutFFResponseType getStatusCode toString equals ResponseStatusCod A CTTODCIDOO mA RITA lin ANAN f AgileExceptionListType agileExceptionListType CancelCheckOutFFResponseType getExceptions if agileExceptionListType null for me sb em 8 i agileExceptionListType length atas d AgileExceptionType exceptions agileExceptionListType i getException On Gate a Ory j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType CancelCheckOutFFResponseType getWarnings if agileWarningListType null oe ne ab 9p i agileWarningListType length itty f AgileWarningType warnings agileWarningListType i getWarning OL nO j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage SSA System out println The checked out status on the following folders was successfully cancelled AgileCancelCheckOutFFResponse responses CancelCheckOutFFResponseType getResponses if responses null for int i 0 i lt responses length i EIERE Ee Lin Cab re dE cope Ue AN responses i getFolderNumber Sample Code SOAP ES US SS lt xml version 1 0 encoding UTF 8
43. As such the use duplication disclosure modification and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract and to the extent applicable by the terms of the Government contract the additional rights set forth in FAR 52 227 19 Commercial Computer Software License December 2007 Oracle USA Inc 500 Oracle Parkway Redwood City CA 94065 This software is developed for general use in a variety of information management applications It is not developed or intended for use in any inherently dangerous applications including applications which may create a risk of personal injury If you use this software in dangerous applications then you shall be responsible to take all appropriate fail safe backup redundancy and other measures to ensure the safe use of this software Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications Oracle is a registered trademark of Oracle Corporation and or its affiliates Other names may be trademarks of their respective owners This software and documentation may provide access to or information on content products and services from third parties Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content products and services Oracle Corporation and its affiliates will not be respons
44. Example Adding Site Specific Item to the BOM Tab In this example setAdditionalRowInfo is used to add a given row to a specific site of a Part using the operation addRows on page 250 RequestTableType table new RequestTableType table setClassIdentifier Part 40 Agile Product Lifecycle Management Chapter 4 Working with Tables table setObjectNumber parentPartNumber table setTableldentifier BOM AgileRowType rows new AgileRowType 1 rows 0 new AgileRowType String namespaceUri null MessageElement messages new MessageElement 1 rows 0 set any messages messages 0 new MessageElement namespaceUri itemNumber messages 0 addTextNode childPartNumber AdditionallnfoType additionallInfoType new AdditionalInfoType additionalInfoType setSite sitel rows 0 setAdditionalRowInfo additionalInfoType agileAddRowsRequest 0 setRow rows agileAddRowsRequest 0 setObjectInfo table addRowsRequestType setData agileAddRowsRequest Adding Site Specific AML to the Manufacturers Tab For adding a Manufacturer to a Part at a specific site use the setOptions feature by providing a name value pair using which a particular site is identified Subsequently the web service adds the manufacturer to the site as specified in the options A manufacturer part is specified through a MessageElement in the operation addRows on page 250 the message element cannot be spec
45. Message Desc data lt options gt lt propertyName gt manufacturer_name lt propertyName gt lt propertyValue gt MANUF1241535379620 lt propertyValue gt options lt requests gt lt request gt updateObject lt soapenv Body soapenv Envelope Response gt lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt updateObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt updateObjectResponse soapenv Body soapenv Envelope v9 3 0 1 165 Agile PLM Core Web Services User Manual See also getAttributes on page 103 166 Agile Product Lifecycle Management Business Webservices Core Operations deleteObject Service To delete a specific object in the Agile PLM system Usage The specifications of the object to be deleted are given in the request object Syntax DeleteObjectResponseType deleteObjectResponseType agileStub deleteObject new DeleteObjectRequestType Basic Steps To delete an object 1 Create the request object DeleteObjectRequestType for the deleteObject operation 2 Create a
46. Services eeeesseee eene nnne 13 Before Building a Web Services Client 13 Operational Environment 14 Standards COMPIANES iain re rtt te eta ca de pa da er dtt eet 14 Web Services ENNES odit RE MORIR EES 14 Generating and Initializing the Gtubes eee 15 Generating Agile Stubs iri inet tne i nere dere E id vote degna 15 Initializing the Client e E 15 Understanding the Messagetlement eere 15 Special Handling of Messageblemente seen trente nente 16 Agile Attributes without API Names enne 19 v9 3 0 1 ii Agile PLM Core Web Services User Manual Understanding the Web Services Responses eene 20 Response Status Code EEN 20 Exceptions and WarningS tentent nter tentent tte treten tentent 20 Chapter OO 23 Working with Business Objects enses enses enean ran 23 Getting an ee E um eden ten edente RE er e e T ees 23 Special Handling in the getObject Operation enne 24 Greating an Object s eR IRE ORDER IR LR DEDE 24 Saving As a New Object ined ede e nd end ra te rta nace bee E te ot 25 Special Handling in the saveAsObject Operation 26 Deleting and Undeleting an Object ener nennen 27 Updating an Objects tii at de e itla ema e tdi ra es 28 Getting the Status of an Objet 29 Getting the Autohumbers enne enne rennen en tren nennen nnn nnn nnt nnne 29 Getting the Classes ete Cie etre rave dte rcd perc hugs 30 Getting the Subclasses ce e Re de e de Fe Pe dd aee De det ee
47. V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt commentRObjectResponse gt soapenv Body lt soapenv Envelope gt 216 Agile Product Lifecycle Management Collaboration Web Services Core Operations v9 3 0 1 217 PC Web Services This chapter includes the following setincorporate ect aeneo oer rictu as 219 getRevisions undoRedline isRedlineModifled 2 5 NOA 227 setincorporate Service Usage Syntax Basic Steps Sample Code To set the status of an Agile object as incorporated or unincorporated The request object is formed based on the class and object identifiers of the object and the status of incorporation Success of the operation is verified using the status code in the response object SetIncorporateResponseType setIncorporateResponseType agileStub setIncorporate new SetIncorporateRequestType To set the status of an Agile Object 1 Create the request object SetlncorporateRequestType for the setlncorporate operation 2 Create an array of requests of type AgileSetIncorporateRequest Batch operations may be performed by populating as many request objects as required to set the state of incorporation for several Agile objects simultaneously 3 For each batched request specify the type and number of the object whose state of incorporation is
48. Web Services User Manual AA So cud ss lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt approversResponse gt lt identifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 6128265 lt objectId gt lt objectName gt C00038 lt objectName gt lt identifier gt lt approversResponse gt lt response gt lt getApproversResponse gt lt soapenv Body gt lt soapenv Envelope gt See also getStatus on page 186 194 Agile Product Lifecycle Management Collaboration Web Services Core Operations changeStatus Service Usage Syntax ChangeStatusResponseTyp A general purpose service for changing the status of an Agile object To submit release or cancel a change changeStatusResponseType agileStub changeStatus new AgileChangeStatusRequestType Basic Steps To change status of an object 1 Create the request object ChangeStatusRequestT ype for the changeStatus operation 2 Create an array of requests of type AgileChangeStatusRequestType Batch operations may be performed by populating as many request objects as required to obtain several workflow status objects 3 For each batched request specify the type of object whose statuses are to be changed and its unique object number 4 An array of either users user groups or both may be used to list the s
49. Web Services User Manual Note You cannot add an empty row to a table Example Adding Rows in a BOM Table With the addRows operation you can add a child element to a Part by adding rows to the BOM table of the parent object RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableldentifier BOMtable API Name AgileRowType rows new AgileRowType 1 rows 0 new AgileRowType String namespaceUri null MessageElement messages new MessageElement 1 rows 0 set any messages messages 0 new MessageElement namespaceUri BOM Child Number messages 0 addAttribute namespaceUri itemNumber messages 0 addTextNode BOMchildPartNumber agileAddRowsRequest 0 setRow rows agileAddRowsRequest 0 setObjectInfo table addRowsRequestType setData agileAddRowsRequest Special Handling in the addRows Operation Note All additional attributes like revision site etc should be passed as options Site and Revision should be passed along the individual row Adding a Site to the Sites Tab of an Item final String COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 final String XSIPREFIX org apache axis Constants NS PREFIX SCHEMA XSI final String TYPE SchemaConstants type getValue AgileListEntryType 1st03 new AgileListEntryType
50. XMLSchema instance lt soapenv Body gt lt getAutoNumbers xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 requestexmins ue requests lt classIdentifier gt Part lt classIdentifier gt lt includeAllAutoNumberSource gt true lt includeAllAutoNumberSource gt lt size gt 3 lt size gt lt requests gt lt requests gt lt classIdentifier gt ECO lt classIdentifier gt lt includeAllAutoNumberSource gt true lt includeAllAutoNumberSource gt lt size gt 2 lt size gt lt requests gt lt request gt lt getAutoNumbers gt soapenv Body soapenv Envelope EE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getAutoNumbersResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt autoNumberResponses gt lt classIdentifier gt Part lt classIdentifier gt lt autoNumbers gt lt nodeId gt 12416 lt nodelId gt lt apiName gt PartNumber lt apiName gt typeAUTONUMBER lt type gt lt displayName gt Part Number lt displayName gt lt autoNumber gt P00580 lt autoNumber gt lt autoNumber gt P00581 lt autoNumber gt lt autoNumber gt P00582 lt aut
51. agileCheckInAttachmentRequestType 0 setClassIdentifier Part agileCheckInAttachmentRequestType 0 setObjectNumber partNumber System out println Checking in a file in the attachment tab of the part partNumper cardo CheckInAttachmentType attachments new CheckInAttachmentType 1 attachments 0 new CheckInAttachmentType attachments 0 setFileContent Modified file information added after the checkin getBytes attachments 0 setFileName Modified fileName agileCheckInAttachmentRequestType 0 setAttachments attachments agileCheckInAttachmentRequestType 0 setRowId getRowOrFileId fileName agileCheckInAttachmentRequestType 0 getClassIdentifier agileCheckInAttachmentRequestType 0 getObjectNumber Attachments getRowId checkInAttachmentRequestType setRequest agileCheckInAttachmentRequestType CheckInAttachmentResponseType checkInAttachmentResponseType agileStub checkInAttachment checkInAttachmentRequestType 5ystem out printlo inSPATUS CODES BE H checkInAttachmentResponseType getStatusCode checkInAttachmentResponseType getStatusCode toString equals ResponseStatusCo de SUCCESS getValue AgileExceptionListType agileExceptionListType checkInAttachmentResponseType getExceptions if agileExceptionListType null irons Ghai at O i agileExceptionListType length IFE Ab AgileExceptionType ex
52. ami TATA HRI BRAT I Ame TAnvth E 2 AgileWarningType warnings agileWarningListType i getWarning for sh SO j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage Jj Ip elseri AgileGetFileFFResponse responses getFileFFResponseType getResponses if responses null for int i 0 i lt responses length itty d System out println The following files were retrieved from responses i getFolderNumber io AgileFileAttachmentResponseType attachmentsResp responses i getFiles if attachmentsResp null icone Ge gr 109 j lt attachmentsResp length Jad 2 System out println File name attachmentsResp j l getName System out println File type attachmentsResp j getFileType System out println File size attachmentsResp j getFileSize if attachmentsResp j getContent null System out println Byte length attachmentsResp j getContent length zs File Content received successfully j D catch AxisFault e Sample Code SOAP RSS ELE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getFileFF xmlns http xmlns oracle com Agil
53. another table Usage The request object consists of relevant information that identifies the tables Success of the operation may be verified using the status code in the response object Syntax CopyTableResponseType copyTableResponseType agileStub copyTable new CopyTableRequestType Basic Steps To copy the table contents 1 Create the request object CopyTableRequestT ype for the copyTable operation 2 Create an array of requests of type AgileCopyTableRequestType Batch operations may be performed by populating as many request objects as required to copy several tables together 3 For each batched request specify the table from which the contents are to be copied and the target table 4 Tables in Agile Web Services are defined as RequestTableType objects A specific table is identified by specifying the class identifier and table identifier attributes 5 The request objects are set and the Agile Stub is used to make the CopyTable Web Service call The status code obtained from the response object is printed to verify the success of the CopyTable operation 6 If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 If the Web Service call was successful then display the tables which were copied Sample Code Java try setupServerLogin CopyTableRequestType copyTableRequestType new CopyTableRequestType AgileCopyTableRequestType agileCopyTableRequestType new Agi
54. apiName gt typeSUBCLASS lt type gt lt displayName gt Change Orders lt displayName gt lt abstractClass gt true lt abstractClass gt lt superClass gt nodeId 931 nodeId lt apiName gt ChangesBaseClass lt apiName gt typeCLASS lt type gt lt displayName gt Changes lt displayName gt lt superClass gt lt classes gt lt subClassesResponse gt lt response gt lt getSubClassesResponse gt lt soapenv Body lt soapenv Envelope gt getAllClasses on page 91 96 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations getNode Service To retrieve Agile nodes for a given node identifier Usage The request object contains relevant details for the same The queried node is obtained in the response Syntax GetNodeResponseType getNodeResponseType agileStub getNode new GetNodeRequestType Basic Steps To retrieve nodes for a given node identifier 1 Create the request object GetNodeRequestType for the createObject operation 2 Create an array of requests of type AgileGetNodeRequestT ype Batch operations may be performed by populating as many request objects as required to retrieve several nodes 3 Foreach batched request specify the string that identifies the node and whether children of a given node will also be retrieved recursively 4 Therequest objects are set and the Agile Stub is used to make the getNode Web Service call The status code
55. attribute3 Title Block Lifecycle Phase advancedSearchRequestType setResultAttributes new String attributel attribute2 attributes Jr ll advancedSearchRequestType setDisplayName Search123 System out println Searching Mug 9 AdvancedSearchResponseType advancedSearchResponseType agileStub advancedSearch advancedSearchRequestType System out printilan Status CODES UE advancedSearchResponseType getStatusCode SET advancedSearchResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType advancedSearchResponseType getExceptions fOr Cipe ak 109 i agileExceptionListType length i f AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage SSI AgileTableType table advancedSearchResponseType getTable displayTableContents new AgileTableType table ii Sample Code SOAP REUS lt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt advancedSearch xmlns http xmlns oracle com AgileObjects Core Search V1 gt lt request xmlns gt lt classIdentifier gt Part lt classIdentifier gt lt crite
56. attributeId 2000002781 readOnly False gt lt selection gt lt id gt 0 lt id gt lt apiName gt NO lt apiName gt lt value gt No lt value gt lt selection gt lt shippableltem gt lt excludeFromRollup xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000002859 readOnly False gt selection id 0 id lt apiName gt NO lt apiName gt lt value gt No lt value gt lt selection gt lt excludeFromRollup gt lt complianceCalculatedDate xsi type xs date xmlns xs http www w3 org 2001 XMLSchema attributeId 2000004143 readOnly True gt lt partFamily xsi type common A LE d xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000004416 readOnly False gt lt mass xsi type common AgileUnitOfMeasureType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000004612 readOnly False gt lt overallCompliance xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000004891 readOnly True gt lt itemGroupS xsi type common AgileListEntryType xmlns ud xmlns oracle com AgileObjects Core Common V1 attributeId 2000008520 readOnly True gt 158 Agile Product Lifecycle Management Business Webservices Core Operations thumbna
57. attributes in the operation getAutoNumbers on page 110 Note The Manufacturers and Manufacturer Parts classes and their user defined subclasses do not support automatic numbering Example Getting Autonumbers for Part Class GetAutoNumbersRequestType getAutoNumbersRequestType new GetAutoNumbersRequestType AgileGetAutoNumbersRequestType agileGetAutoNumbersRequestType new AgileGetAutoNumbersRequestType 2 agileGetAutoNumbersRequestType 0 setClassIdentifier Part agileGetAutoNumbersRequestType 0 setAutoNumberIdentifier new String PartNumber v9 3 0 1 29 Agile PLM Core Web Services User Manual agileGetAutoNumbersRequestType 0 setSize 3 agileGetAutoNumbersRequestType 1 setClassIdentifier ECO agileGetAutoNumbersRequestType 1 setIncludeAllAutoNumberSource true agileGetAutoNumbersRequestType 1 setSize 2 getAutoNumbersRequestType setRequests agileGetAutoNumbersRequestType Getting the Classes You can retrieve the classes for each object type with the operation getAllClasses on page 91 Your program can then provide a method to pick the desired class from the list You can specify the ClassFilterType as follows ClassFilterType ALL To retrieve all the classes and their subclasses ClassFilterType TOP To retrieve all the classes only ClassFilterType CONCRETE To retrieve all the subclasses only The syntax for this operation is G
58. automation capabilities and develop UI extensions These tools and services are listed below Agile PLM Web Services implementation has no impact on these capabilities they are in addition to the existing services 98 Agile SDK The SDK is a set of Java APIs that enable building custom applications to access or extend the Agile PLM server functionalities For information refer to Agile PLM SDK Developer Guide D Agile Integration Services AIS AIS is a collection of predefined Web Services in the Agile Integration framework that enable communication between PLM server and disparate v9 3 0 1 5 Agile PLM Core Web Services User Manual database For information refer to Agile PLM AIS Developer Guide 9 Agile Content Services ACS ACS is a process for transferring data to other Agile PLM solutions or to any other external system For information refer to Agile PLM ACS User Guide 2 Process Extensions PX PX is a framework for extending the functionality of the Agile PLM system The functionality can be server side extensions such as custom automations or client side functionality such as new commands added to the Java Web Client s Actions or Tools menus For information refer to Agile PLM SDK Developer Guide D Web Service Extensions WSX WSX is a Web service engine that enables communication between Agile PLM and internal and external systems For information refer to Agile PLM SDK Developer Guide 9 Das
59. code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful display the status information retrieved by the getStatus operation This status will include the current workflow state and a list of states prior to and beyond that particular workflow state A given workflow state is expressed as on object of type AgileStatusType Further information about the status s display name id may be obtained through the AgileStatusType status object Sample Code Java try setupServerLogin GetStatusRequestType getStatusRequestType new GetStatusRequestType AgileGetStatusRequestType agileGetStatusRequestType new AgileGetStatusRequestType 1 agileGetStatusRequestType 0 new AgileGetStatusRequestType agileGetStatusRequestType 0 setClassIdentifier ECO agileGetStatusRequestType 0 setObjectNumber changeNumber System out println Retrieving status information of change changeNumber n getStatusRequestType setStatusRequest agileGetStatusRequestType GetStatusResponseType getStatusResponseType 186 Agile Product Lifecycle Management Collaboration Web Services Core Operations AAT Tahab wat OHA HR lwnt Obata Danma Mema a System out println STATUS CODE getStatusResponseType getStatusCode IAE getStatusResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue AgileExceptionListType agileE
60. common http xmlns oracle com AgileObjects Core Common V1 attributeId 12643 readOnly True gt lt selection gt id 1 id lt apiName gt ACTIVE lt apiName gt lt value gt Active lt value gt lt selection gt lt status gt lt firstName xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 11614 readOnly False gt admin lt firstName gt lt lastName xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 11616 readOnly False gt Administrator lt lastName gt lt title xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 12235 readOnly False gt lt title gt 114 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations See also address xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attribu asian diri UI DA Te AMO la el el enen e e geography xsi type common Agile xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 8840 readOnly False gt lt city xsi type xs string xmlns xs h xmlns xs h readOnly Fal xmlns xs h readOnly Fal xmlns xs h xmlns xs h xmlns xs ht readOnly False gt lt fax gt lt pager xsi type xs string xmlns xs ht readOnly False gt lt pager gt lt email xsi type xs string xmlns xs ht readOnly Fal mins 3 xs ht readOnly Fal xmlns xs ht ttp www w3 org 2001 readOnly False g
61. controls Build and test the applications Deploy the applications oO ON oar wn gt Extend Agile 9 3 samples to meet business needs e Document management e Item management e Sales RFQ For information on Oracle Web Center ADF and jDeveloper visit Oracle Web site at http www oracle com technology products webcenter index html and http www oracle com technology products adf index htm v9 3 0 1 11 Getting Started with Agile Web This chapter includes the following Before Building a Web Services Client Verify that the following are in place 8 The following jars are present in classpath e axis jar e axis ant jar e commons discovery jar o Antlibraries are present 8 The Ant build file contains the following lt path id build classpath gt lt fileset dir axislib dir gt lt include name jar gt lt fileset gt lt path gt taskdef resource axis tasks properties gt lt classpath refid build classpath gt lt taskdef gt lt target name wsdl2java Generate Client Operational Environment ec trn mtr e diee aie Generating and Initializing the Stubs ANEN Understanding the Messagetlement AAA Agile Attributes without API Names AEN Understanding the Web Services Responses sss Chapter 2 Services echo message Generating all the client side stubs axis wsdl2java all true output src verbose true url http lt host gt lt por
62. data This is similar to how the any information is specified in a createObject or getObject Business service call 5 Therequest objects are set and the Agile Stub is used to make the addRows Web Service call The status code obtained from the response object is printed to verify the success of the addRows operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java try setupServerLogin AddRowsRequestType addRowsRequestType new AddRowsRequestType AgileAddRowsRequest agileAddRowsRequest new AgileAddRowsRequest 1 agileAddRowsRequest 0 new AgileAddRowsRequest RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableldentifier BOM AgileRowType rows new AgileRowType 1 rows 0 new AgileRowType 250 Agile Product Lifecycle Management Tables Web Services Core Operations Sample Code Oe end cas A ded Se a MessageElement messages new MessageElement 1 rows 0 set any messages messages 0 new MessageElement namespaceUri itemNumber messages 0 addTextNode childPartNumber agileAddRowsRequest 0 setRow rows agileAddRowsRequest 0 setObjectInfo table H System out println Adding the part childPartNumber WU du les oue ce parentPartNumber nu A E addRowsRequestType setData agileAddRowsRequest AddRowsR
63. full part number which is located on the title page TTY Access to Oracle Support Services Oracle provides dedicated Text Telephone TTY access to Oracle Support Services within the United States of America 24 hours a day 7 days a week For TTY support call 800 446 2398 Outside the United States call 1 407 458 2479 Readme Any last minute information about Agile PLM can be found in the Readme file on the Oracle Technology Network OTN Web site http www oracle com technology documentation agile html Agile Training Aids Go to the Oracle University Web page http www oracle com education chooser selectcountry new html for more information on Agile Training offerings Accessibility of Code Examples in Documentation Screen readers may not always correctly read the code examples in this document The conventions for writing code require that closing braces should appear on an otherwise empty line however some screen readers may not always read a line of text that consists solely of a bracket or brace This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites v9 3 0 1 ix Chapter 1 Introduction to Agile PLM Web Services This chapter includes the following About Service Oriented Architecture SOA About Web Services noscere ento b ede e indere i
64. gt ECO lt classDisplayName gt lt object Id gt 45 lt objectiId gt lt objectName gt 25000 lt objectName gt lt changeldentifier gt lt revision gt D lt revision gt lt revisions gt lt revisions gt lt changeldentifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 44 lt objectId gt lt objectName gt 2 4433 lt objectName gt lt changeldentifier gt lt revision gt C lt revision gt lt revisions gt lt revisions gt lt changeldentifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt object Id gt 43 lt objectiId gt lt objectName gt 24020 lt objectName gt lt changeldentifier gt lt revision gt B lt revision gt lt revisions gt lt revisions gt lt changeldentifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 41 lt objectId gt lt objectName gt 23450 lt objectName gt v9 3 0 1 223 Agile PLM Core Web Services User Manual AAT nnti fiw lt revision gt A lt revision gt lt revisions gt lt revisions gt lt changeldentifier xsi nil true gt lt revision gt Introductory lt revision gt lt revisions gt lt responses gt lt response gt lt getRevisionsResponse gt lt soapenv B
65. i getException z n O j lt exceptions length j System out println exceptions j getMessage AgileWarningListType agileWarningListType getAutoNumbersResponseType getWarnings if agileWarningListType null iuc beue ub 1p i agileWarningListType length ite di AgileWarningType warnings agileWarningListType i getWarning ios alim 3j 0n j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage System out println Failed to obtain an autonumber velas 4 AgileGetAutoNumbersResponseType responses getAutoNumbersResponseType getAutoNumberResponses if responses null for int i 0 i lt responses length IERD f System out print Autonumbers obtained Syo tem OUL Print lo uoc E responses i getClassIdentifier mom AutoNumberType autonumbers responses i getAutoNumbers if autonumbers null oa aoe y Op j lt autonumbers length 3s 4 icone Hines lt OS S lt agileGetAutoNumbersRequestType i getSize s System out println autonumbers 3 getAutoNumber s v9 3 0 1 111 Agile PLM Core Web Services User Manual Sample Code SOAP gt INESPSSIL xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 0rg 2001
66. manufacturer name getValue properties manufName 0 setPropertyValue manufName objRefId setOptions properties manufName messages 0 setObjectValue objRefId rows 0 set any messages agileAddRowsRequest 0 setRow rows agileAddRowsRequest 0 setObjectInfo table addRowsRequestType setData agileAddRowsRequest Updating Rows in a Table Rows in a table are updated using the operation updateRows on page 253 In the following example the rowID is set after performing the operation loadTable on page 259 and getting the rowID from the response UpdateRowsRequestType updateRowsRequestType new UpdateRowsRequestType AgileUpdateRowsRequest agileUpdateRowsRequest new AgileUpdateRowsRequest 1 agileUpdateRowsRequest 0 new AgileUpdateRowsRequest RequestTableType table new RequestTableType table setClassIdentifier ECO table setObjectNumber changeNumber table setTableIdentifier AffectedItems AgileUpdateRow updateRow new AgileUpdateRow 1 updateRow 0 new AgileUpdateRow updateRow 0 setRowId getRowID ECO changeNumber AffectedItems partNumber AgileRowType row new AgileRowType String namespaceUri null MessageElement messages new MessageElement 1 Date date new Date date setTime date getTime messages 0 new MessageElement namespaceUri effectiveDate messages 0 addAttribut
67. messages 164 Agile Product Lifecycle Management Business Webservices Core Operations Sample Code EE E ES updateObjectRequestType setRequests agileUpdateObjectRequest UpdateObjectResponseType updateObjectResponseType agileStub updateObject updateObjectRequestType System out println STATUS CODE updateObjectResponseType getStatusCode KE updateObjectResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType updateObjectResponseType getExceptions if agileExceptionListType null fort ias SE c 08 i lt agileExceptionListType length EERI 2 AgileExceptionType exceptions agileExceptionListType i getException ins Gunns 3 109 j lt exceptions length j System out println exceptions j getMessage SOAP REC MS S EE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt updateObject xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt request xmlns gt lt requests gt classIdentifier ManufacturerPart classIdentifier lt objectNumber gt MANUF_PART1241535380057 lt objectNumber gt lt data rowId 0 gt Message Desc attributeld 3566 gt Updated value of Manuf part Description
68. multiple files are associated with a single row the attachment is identified by using its rowld in conjunction with the rowld of the attachment in the files tab of the file folder object It requires usage of the rowld of the attachment along with its fileld to distinguish the attachment from all the other attachments in that row Example Checking Out Multiple Attachments of a Part agileCheckOutAttachmentRequestType 0 setClassIdentifier Part agileCheckOutAttachmentRequestType 0 setObjectNumber partNumber CheckOutAttachmentType attachments new CheckOutAttachmentType 1 attachments 0 new CheckOutAttachmentType attachments 0 setRowId rowId int filelds new int fileld attachments 0 setFiles fileIds agileCheckOutAttachmentRequestType 0 setAttachments attachments checkOutAttachmentRequestType setRequests agileCheckOutAttachmentReques tType Note See Appendix on page 263 for sample helper methods Checking In the Attachments You can Check In a file attachment of an Agile object after it has undergone any modifications using the operation checkInAttachment The attachment must be checked out prior to the check in operation Example Checking In an Attachment to a Part CheckInAttachmentRequestType checkInAttachmentRequestType new CheckInAttachmentRequestType AgileCheckInAttachmentRequestType agileCheckInAttachmentRequestType new AgileCheckInAttachmentRequestType l
69. objectNumber gt P00726 lt objectNumber gt lt attachments gt lt rowId gt 6112534 lt rowId gt lt attachments gt lt requests gt lt request gt lt checkOutAttachment gt lt soapenv Body gt lt soapenv Envelope gt RES PONS e n ees lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkOutAttachmentResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00726 lt objectNumber gt lt files gt lt rowId gt 6112534 lt rowId gt lt fileld gt 6112352 lt fileld gt lt fileType gt txt lt fileType gt lt fileSize gt 19 lt fileSize gt name null Filel23 txt name lt description gt Description for file 1 lt description gt content RmlsZSBDb250ZW50Li4uZmlsZQ content files v9 3 0 1 145 Agile PLM Core Web Services User Manual z d aen en mn en a M response lt checkOutAttachmentResponse gt lt soapenv Body gt lt soapenv Envelope gt See also loadTable on page 259 checkInAttachment on page 147 getFileId Method on page 270 get
70. operation may be verified using the status code in the response object Syntax RemoveRowsResponseType removeRowsResponseType agileStub removeRows new RemoveRowsRequestType Basic Steps To remove a row from a table 1 Create the request object RemoveRowsRequestT ype for the removeRows operation 2 Create an array of requests of type AgileRemoveRowsRequestT ype Batch operations may be performed by populating as many request objects as required to remove several rows 3 Foreach batched request specify the following details The table whose rows will be removed The rowld of the row that will be updated with new values 4 Tables in Agile Web Services are defined as RequestTableType objects A specific table may be identified by specifying the class identifier and table identifier attributes 5 Using the removeRows Web Service for example remove a child element in the BOM table of its parent object by finding and removing its specific row 6 The method getRowID obtains the rowld of the specified BOM by issuing a loadTable Web Service on the BOM table of the parent and iterating through the rows till it finds the row queried for The request object is then set with this rowld as shown The row will be removed by using this value to identify it 7 Therequest objects are set and the Agile Stub is used to make the removeRows Web Service call The status code obtained from the response object is printed to verify the success of th
71. part changeNumber n isReadOnlyTableRequestType setIsReadOnlyTable agileIsReadOnlyTableRequestType IsReadOnlyTableResponseType isReadOnlyTableResponseType agileStub isReadOnlyTable isReadOnlyTableRequestType System out println STATUS CODE isReadOnlyTableResponseType getStatusCode IAE isReadOnlyTableResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType isReadOnlyTableResponseType getExceptions moje ipt gt 109 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage y alas AgileIsReadOnlyTableResponseType responses isReadOnlyTableResponseType getIsTableReadOnly for int j 0 j lt responses length ape 3 System out println Table responses j getAgileTable getTableDisplayName System out println Read Only responses j getIsReadOnlyTable Sample Code SOAP 242 Agile Product Lifecycle Management Tables Web Services Core Operations MS GIU S xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isReadOnlyTable
72. qut e no Hae EE 183 gEtStat s e 186 lte let ele e is orit e ab b da EE 189 GETAD PROV doce P 192 changeStatus eiert erger a andae ve RU nita D OR do nU Hats 195 approveRODJect s Ao ooi tte rer a nU O 198 rejectRODjJect iie ese ete sh i eee ie re d edere nh e ree e Ped Ae 202 SetWOEKFIOW i rte dette et ee fed et v ce Bei Ft pc e dod t aos 205 ele Eege ue Oda ERR di ditte RE ER n ERA Dee RU er ines 208 removeADDEOVSEs zo oot One Hm ne aliquae RUIN THURIS 211 gell us De ee 214 PC Web Services iii ia iaa ee dd 219 Giguet leie E 219 e EE EE 222 undohRedling eet te ca es dana i n et ce dtr 225 isRedli neModifie drsne ennai a E a aE ied attend sien ad a a 227 Search Web Services sou SEs ekegsk ek kedekeeg KN wap ida 231 quickSearch ore ea bere ire eov ite Maan niin ite Ree t antenna os 231 advancedSeatECch i temen etit acd dnt det term tem non t dec de qe ec 234 getSearchableAttributes ssssssseeeee netten tentent treten tete trennen 237 v9 3 0 1 vil Agile PLM Core Web Services User Manual Tables Web EA arida nara d dana ad RR uA Ra uaa 241 isReadOnlyTable eden cot ette tiae He blend ten erg adt e le acess 241 e KT EE 244 eg 247 ele e 250 det ge 253 remoVeRoOWS uites onte Re nn a odii i a edd nr o EUR be ida 256 loadTable n itte fete ed is 259 LIT Ir i WEE 263 Working with Java Samples neue pi re e Ups 263 Building Stubs and Compiling the Gamples carnero 263 Executing the Samples using ant Task
73. required to update several tables at once 3 Foreach batched request specify the following details The table whose rows will be updated The rowID of the row that will be updated with new values The new row that will replace the existing row The updated content is specified in the form of Message Elements 4 Using the updateRows Web Service in this particular case we modify the effective date attribute on the affected items table of a change object by finding and updating a specific row Tables in Agile Web Services are defined as RequestTableType objects A specific table may be identified by specifying the class identifier and table identifier attributes Rows in Agile are defined as AgileRowType objects Here message elements may be used to specify the row data This is similar to how the any information is specified in a createObject or getObject Business service call 5 The method getRowID which is also written in this sample program obtains the rowld of the specified part in the affected items table of the change by issuing a loadTable Web Service on the table and iterating through the rows till it finds the row queried for The update row is then set with this rowld as shown 6 Specify the field to be updated through a message element attribute The request objects are set and the agile Stub is used to make the updateRows Web Service call The status code obtained from the response object is printed to verify the
74. response object is printed to verify the success of the addApprovers operation 8 Ifthe status code is not success then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then confirm the success of the operation Sample Code JAVA try setupServerLogin AddApproversRequestType addApproversRequestType new AddApproversRequestType AgileAddApproversRequestType agileAddApproversRequestType new AgileAddApproversRequestType 1 208 Agile Product Lifecycle Management Collaboration Web Services Core Operations Sample Code E UAE IPTE EE Dor d ee ANS new AgileAddApproversRequestType agileAddApproversRequestType 0 setClassIdentifier ECO agileAddApproversRequestType 0 setObjectNumber changeNumber agileAddApproversRequestType 0 setStatusIdentifier CCB System out println Adding approvers scc se Wh AS Cc TORES CORA changeNumber n AgileUserUserGroupIdentifierType users new AgileUserUserGroupIdentifierType 2 for fint i 0r i lt users length FF users i new AgileUserUserGroupIdentifierType users 0 setClassIdentifier User users 0 setObjectIdentifier userl users 1 setClassIdentifier User users 1 setObjectIdentifier user2 agileAddApproversRequestType 0 setApprovers users agileAddApproversRequestType 0 setObservers null agileAddApproversRequestType 0 setUrgent false agileAddApprovers
75. sessionID token a When user credentials are presented in the SOAP header of a Web service request formal authentication is performed prior to the application execution of the Web service operation If the authentication succeeds the operation proceeds and a special SessionlD token are placed in the SOAP header of the Web service reply 8 Whenever the sessionID is included by the client in subsequent Web service requests that sessionID Will be used to restore cached session information thus bypassing the substantially more expensive process of re executing the authentication Note that when presented with both the sessionID and a valid set of user credentials an attempt will be made to use the sessionID before resorting to the user credentials and re authentication As expected the session that is being tracked by the sessionID is subject to expiration and other security checks The facility is a distinct alternative to the basic authentication standard described by WS Security Using the UserName token as provided in WS Security while fully supported as part of Agile PLM s WSI Basic Profile compliance will not yield the same benefit as using the higher performance session optimization facility provided by the Agile PLM implementation Impact on Existing Agile PLM Extensions and Services Agile PLM provides tools and process extensions to customize the Agile PLM to meet unique user requirements provide access to external databases extend
76. statusName gt lt statusDisplayName gt Submitted lt statusDisplayName gt lt nextDefaultStatus gt lt nextStatus gt statusId 3766 statusId lt statusName gt Submitted lt statusName gt lt statusDisplayName gt Submitted lt statusDisplayName gt lt nextStatus gt lt statusResponse gt lt response gt lt getStatusResponse gt lt soapenv Body gt lt soapenv Envelope gt 188 Agile Product Lifecycle Management Collaboration Web Services Core Operations auditRObject Service Usage Syntax Basic Steps Sample Code To audit a routable object At any point in the lifecycle of a Change you can audit the Change to determine if any required entry cells are incomplete or the change violates any Agile Smart Rules AuditRObjectResponseType auditRObjectResponseType agileStub auditRObject new AgileAuditRObjectRequestType To audit an object 1 Create the request object AuditRObjectRequestType for the auditRObject operation 2 Create an array of requests of type AgileAuditRObjectRequestType Batch operations may be performed by populating as many request objects as required to obtain several objects 3 Foreach batched request specify the type of routable object on which the audit action will be performed and also its unique object number 4 Therequest objects are set and the Agile Stub is used to make the auditRObject Web Service call The status code obtained from
77. table 0 new RequestTableType table 0 setClassIdentifier clazz table 0 setObjectNumber objectNumber table 0 setTableIdentifier tableld loadTableRequestType setTableRequest table LoadTableResponseType loadTableResponseType agileStub_Table loadTable loadTableRequestType System out print in Obteining row Id fileld information is System out println STATUS CODE loadTableResponseType getStatusCode if loadTableResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileTableType tables loadTableResponseType getTableContents return findFileld tables filename D else System out println Failed to load table information gt AgileExceptionListType agileExceptionListType loadTableResponseType getExceptions if agileExceptionListType null for int i20 i lt agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j exceptions length j System out println exceptions j getMessage AgileWarningListType agileWarningListType loadTableResponseType getWarnings if agileWarningListType null for int i20 i agileWarningListType length i AgileWarningType warnings agileWarningListType i getWarning for int j 0 j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessa
78. the list of exceptions returned by the Web Service 12 If the Web Service call was successful confirm the same Java EEV setupServerLogin ApproveRObjectRequestType approveRObjectRequestType new ApproveRObjectRequestType AgileApproveRObjectRequestType agileApproveRObjectRequestType new AgileApproveRObjectRequestType 1 agileApproveRObjectRequestType 0 new AgileApproveRObjectRequestType proveRObjectRequestType 0 setClassIdentifier ECO proveRObjectRequestType 0 setObjectNumber changeNumber agileApproveRObjectRequestType 0 setPassword PASSWORD agileApproveRObjectRequestType 0 setComment Comment System out println Approving ECO changeNumber n agileApproveRObjectRequestType SetSecondSignature null agileApproveRObjectRequestType setNotifiers null agileApproveRObjectRequestType SetEscalations null p p agileA D agileAp D e agileApproveRObjectRequestType SetTransfers null agileApproveRObjectRequestType SetApproveForGroup null agileApproveRObjectRequestType 0 setSignoffForSelf true approveRObjectRequestType setApproveRObject agileApproveRObjectRequestType ApproveRObjectResponseType approveRObjectResponseType agileStub approveRObject approveRObjectRequestType System out println STATUS CODE approveRObjectResponseType getStatusCode E CA GA e ALTE approveRObjectResponseType getStatusCode toString
79. the response object is printed to verify the success of the auditRObject operation 5 Ifthe status code is not success then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful display the audit information retrieved by the auditRObject operation This information will consist of a list of warnings and errors pertaining to the audit Java ES MET setupServerLogin AuditRObjectRequestType auditRObjectRequestType new AuditRObjectRequestType AgileAuditRObjectRequestType agileAuditRObjectRequestType new AgileAuditRObjectRequestType 1 agileAuditRObjectRequestType 0 new AgileAuditRObjectRequestType agileAuditRObjectRequestType 0 setClassIdentifier ECO agileAuditRObjectRequestType 0 setObjectNumber changeNumber agileAuditRObjectRequestType 0 setAuditRelease true System out println Auditing change object changeNumber n auditRObjectRequestType setRequest agileAuditRObjectRequestType AuditRObjectResponseType auditRObjectResponseType agileStub auditRObject auditRObjectRequestType System out println STATUS CODE auditRObjectResponseType getStatusCode SE auditRObjectResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType v9 3 0 1 189 Agile PLM Core Web Services User Manual Sample Code ojo ae ou 105 i agile
80. to be defined here use the usergroup class as the specification followed by the name of the usergroup object In the given sample code a user has been specified 6 Setthe list of approvers as per the AgileUserUserGroupldentifierType objects defined Set values for obsevers a boolean flag to indicate urgency and pertinent comments 7 Therequest objects are set and the Agile Stub is used to make the removeApprovers Web Service call The status code obtained from the response object is printed to verify the success of the removeApprovers operation 8 If the status code is not success then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then confirm the success of the operation Sample Code Java try setupServerLogin v9 3 0 1 211 Agile PLM Core Web Services User Manual RemoveApproversRequestType removeApproversRequestType new RemoveApproversRequestType AgileRemoveApproversRequestType agileRemoveApproversRequestType new AgileRemoveApproversRequestType 1 agileRemoveApproversRequestType 0 new AgileRemoveApproversRequestType agileRemoveApproversRequestType 0 setClassIdentifier ECO agileRemoveApproversRequestType 0 setObjectNumber changeNumber agileRemoveApproversRequestType 0 setStatusIdentifier CCB System out println Removing the approver USERNAME mt from the object changeNumber n AgileUserUserGr
81. to be modified Pass a boolean value in the incorporate field to denote whether the specified object should be incorporated or unincorporated 4 Therequest objects are set and the Agile Stub is used to make the setincorporate Web Service call The status code obtained from the response object is printed to verify the success of the setlncorporate operation 5 Ifthe status code is not success then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then display the state of incorporation for all the objects modified Java try setupServerLogin v9 3 0 1 219 Agile PLM Core Web Services User Manual new SetIncorporateReques Type O AgileSetIncorporateRequest agileSetIncorporateRequest new AgileSetIncorporateRequest 1 agileSetIncorporateRequest 0 new AgileSetIncorpora agileSetIncorporateRequest 0 agileSetIncorporateRequest 0 agileSetIncorporateRequest 0 System out printin Incorpora partNumber teRequest setClassIdentifier Part SetObjectNumber partNumber setIncorporate true ting the part object ED ENTE setIncorporateRequestType setRequests agileSetIncorporateRequest SetIncorporateResponseType se tIncorporateResponseType agileStub setIncorporate setIncorporateRequestType System out printin STATUS CO Dg Wt setIncorporateResponseType getStatusCode SE setIncorporateResponseType ge
82. user v9 3 0 1 179 Agile PLM Core Web Services User Manual Sample Code AA cest A penus tex see ue AgilePrivilegeType valuel agileCheckPrivilegeRequestType 0 setPrivilege privilege agileCheckPrivilegeRequestType 0 setClassIdentifier Part agileCheckPrivilegeRequestType 0 setObjectNumber partNumber System out println Checking for the comment privilege on the object PpareNimber le System out println with the user user getUserIdentifier qr Nae checkPrivilegeRequestType setRequests agileCheckPrivilegeRequestType CheckPrivilegeResponseType checkPrivilegeResponseType agileStub checkPrivilege checkPrivilegeRequestType SS tem out PELMELO SLALUS CODES MIF checkPrivilegeResponseType getStatusCode Sg checkPrivilegeResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType checkPrivilegeResponseType getExceptions if agileExceptionListType null oye ae si 10 i agileExceptionListType length marae si AgileExceptionType exceptions agileExceptionListType i getException roja ae m j lt exceptions length j System out println exceptions j getMessage persen AgileCheckPrivilegeResponseType response checkPrivilegeResponseType getResponses 0 CheckPrivilegeType checkPrivilegeType response getPrivilege System out println Privilege checkPrivilegeType
83. 0 getObjectNumber Sample Code SOAP Ee xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt 212 Agile Product Lifecycle Management Collaboration Web Services Core Operations lt removeApprovers mlina htn leem nn aronla nnam ZA we TANKS nanta Narn IOa lahanat i an 1171 NS lt request xmlns gt lt removeApproversRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00042 lt objectNumber gt lt statusIdentifier gt CCB lt statusIdentifier gt lt approvers gt lt classIdentifier gt 11610 lt classIdentifier gt lt objectIdentifier gt admin lt objectIdentifier gt lt approvers gt lt comment gt Comments lt comment gt lt removeApproversRequest gt lt request gt lt removeApprovers gt soapenv Body soapenv Envelope Responses lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt removeApproversResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statu
84. 0 setClassIdentifier Part agileUndeleteObjectRequest 0 setObjectNumber partNumber Checking the Delete Status You can verify whether an Object has been deleted or not by using the isDeletedObject on page 171 operation Example Checking if a Part is deleted IsDeletedObjectRequestType isDeletedObjectRequestType new IsDeletedObjectRequestType AgileIsDeletedObjectRequest agileIsDeletedObjectRequest new AgileIsDeletedObjectRequest 1 agileIsDeletedObjectRequest 0 new AgileIsDeletedObjectRequest agileIsDeletedObjectRequest 0 setClassIdentifier Part agileIsDeletedObjectRequest 0 setObjectNumber partNumber Updating an Object You can update any object with the operation updateObject on page 164 by setting the values of the desired attributes Example Updating a Part UpdateObjectRequestType updateObjectRequestType new UpdateObjectRequestType AgileUpdateObjectRequest agileUpdateObjectRequest new AgileUpdateObjectRequ IK agileUpdateObjectRequ agileUpdateObjectRequ agileUpdateObjectRequ 0 new AgileUpdateCbjectRequest 0 setClassIdentifier Part 0 setObjectNumber partNumber tp tl tl tl 28 Agile Product Lifecycle Management Chapter 3 Working with Business Objects AgileRowType rows new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null messages 0
85. 0 setClassIdentifier User notifyList 0 setObjectIdentifier USERNAME agileCommentRObjectRequestType 0 setNotifyList notifyList commentRObjectRequestType setCommentRObjectRequest agileCommentRObjectRequestType CommentRObjectResponseType commentRObjectResponseType agileStub commentRObject commentRObjectRequestType System out print in STATUS CODES SE commentRObjectResponseType getStatusCode AGE commentRObjectResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType commentRObjectResponseType getExceptions if agileExceptionListType null for ne a c 8 i agileExceptionListType length acere 2 AgileExceptionType exceptions agileExceptionListType i getException On Gb gy 109 j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType commentRObjectResponseType getWarnings if agileWarningListType null ojo ne uu c 9p i agileWarningListType length diee P AgileWarningType warnings agileWarningListType i getWarning irene E O j warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage elas 4h System out print The object agileCommentRObjectRequestType 0 getObjec
86. 01 XMLSchema 4 gt Preliminary lt LifecyclePhase gt lt Rev xsi type xs string w3 org 2001 lt row gt lt table gt lt response gt lt quickSearchResponse gt XMLSchema attributeld 5 gt lt Rev gt getSearchableAttributes on page 237 advancedSearch on page 234 v9 3 0 1 233 Agile PLM Core Web Services User Manual advancedSearch Service To retrieve a list of all Agile objects whose specifications match the advanced search criteria specified in the request object Usage Advanced search provides options for forming complex search criteria The response object contains a collection of which of Agile objects which were successfully queried for Success of the operation is verified using the status code in the response object Syntax AdvancedSearchResponseType advancedSearchResponseType agileStub advancedSearch new AdvancedSearchRequestType Basic Steps To retrieve a list of Agile Objects using Advanced Search 1 Create the request object AdvancedSearchRequestType for the advancedSearch operation 2 Specify the type of object has to be queried for by providing the class identifier details Specify whether the search is to be case sensitive 3 Advanced searches are executed by forming the search criteria using certain query syntax to construct the query details 4 The query listed here searches for all parts containing the characters PO and whose des
87. 01 XMLSchema instance gt lt soapenv Body gt lt getAttributesResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt attributesResponses gt lt attributes gt lt nodeId gt 2000001968 lt nodeld gt lt apiName gt description lt apiName gt typeATTRIBUTE lt type gt lt displayName gt Description lt displayName gt lt dataType gt 2 lt dataType gt lt searchable gt true lt searchable gt lt visible gt true lt visible gt lt required gt false lt required gt lt maxLength gt 100 lt maxLength gt lt properties gt propertyId 1 propertyId lt apiName gt AttType lt apiName gt lt displayName gt AttType lt displayName gt lt readOnly gt false lt readOnly gt lt AttType xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt lt AttType gt lt properties gt lt properties gt propertyId 3 propertyId apiName Max System Length apiName lt displayName gt Max System Length lt displayName gt lt readOnly gt true lt readOnly gt lt MaxSystemLength xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt 500 lt MaxSystemLength gt v9 3 0 1 105 Agile PLM Core Web Services User Manual lt relationalOperators gt NEQ lt relationalOperators gt lt relationalOperators gt ISNULL lt relationalOperators gt rela
88. 1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt 92 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations Zai lt nodeId gt 931 lt nodeId gt lt apiName gt ChangesBaseClass lt apiName gt typeCLASS lt type gt lt displayName gt Changes lt displayName gt lt abstractClass gt true lt abstractClass gt lt subClass gt lt nodeId gt 1450 lt nodeld gt lt apiName gt ManufacturerOrdersClass lt apiName gt typeSUBCLASS lt type gt lt displayName gt Manufacturer Orders lt displayName gt lt subClass gt lt subClass gt lt nodeId gt 6000 lt nodeld gt lt apiName gt ChangeOrdersClass lt apiName gt typeSUBCLASS lt type gt lt displayName gt Change Orders lt displayName gt lt subClass gt lt class gt lt response gt lt getAllClassesResponse gt lt soapenv Body gt soapenv Envelope See also getSubClasses on page 94 v9 3 0 1 93 Agile PLM Core Web Services User Manual getSubClasses Service To retrieve all Agile subclasses for a given base class from Agile PLM system Usage The request object contains relevant details for the same A list of Agile subclasses are obtained in the response Syntax GetSubClassesResponseType getSubClassesResponseType agileStub getSubClasses new GetSubClassesRequestType Basic Steps To retrieve all subc
89. 3 tributeId 11624 SI CN tributeId 12350 tributeId 8815 v9 3 0 1 115 Agile PLM Core Web Services User Manual getUserGroups Service To retrieve the information of Users Groups in Agile PLM Usage Gets a list of user groups obtained through the response object of the Web Service The request does not contain any element while the response consists of AgileUserGroupType objects which carry message elements that contain information pertaining to an Agile user group Syntax GetUserGroupsResponseType getUserGroupsResponseType agileStub getUserGroups new GetUserGroupsRequestType Basic Steps To get the User Groups 1 Create the request object GetUserGroupsRequestType for the getUserGroups operation 2 Therequest object for the getUserGroups operation does not contain any element The Web Service call is made directly using this request object 3 The getUsers Web Service call is made The status code obtained from the response object is printed to verify the success of the getUserGroups operation 4 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 5 If the Web Service call was successful then display the user groups retrieved Sample Code Java EE 2 setupServerLogin GetUserGroupsRequestType getUserGroupsRequestType new GetUserGroupsRequestType GetUserGroupsResponseType getUserGroupsResponseType agileStub getUserGroups getUserGroupsR
90. 30 E eet Eege TTT ERR OT Ree Ted ege e DERIT 31 Working with Tables eres eeeeieee enean nnne nna ndun a ud n ad uud anat 31 About Tables Rau aut it dae 31 Operations Supported on Tables sse enne enne nnne nnne nnn nnns 31 Eoading a Table et tia m ete tite teu dert eid E 33 Special Handling in the loadTable Operation 34 Working with the Readonly Table 35 Retrieving the Metadata of a Table nennen 35 Adding Rows to a Table eo eb b een p Rot o e SMS 35 Special Handling in the addRows Operation 36 Updating Rows in a Tableta e eene e nnn erret nns 42 Removing ROWS from a Table i uii dpt e ERR qe e EN HIR OM brane edite 43 Glearing a Table emere teet de d een eor OR e 43 Copying Tables uta t e etta te 44 Redlininga Tables ia Ec ut bent n tns 44 Chapter 5 Zeta geed ai cidad aa 47 Working with Searches eee 47 Agile PLM Searches com A stapes neat cae ae 47 iv Agile Product Lifecycle Management Contents Specifying Search Criteria iaa 47 Search Condition Sii aa eet Hu te Bere eR id iau o dS 48 Search Operation KeywordS sse treten teret thiet trt triti tritt tinte tnn 48 Specifying Search Attributes rer da ea et d 49 Getting the Searchable Attributes entente tentent treten 50 Using Relational Operators reote na eerte RH ordin tds 50 Using Logical Operators sese tte tte tentent tette treten tnnt 53 Using Wildcard Characters with the Like Operator
91. 6 lt objectNumber gt lt saveAsObjectResponse gt lt saveAsObjectResponse gt lt classIdentifier gt Part lt classIdentifier gt lt objectId gt 6110579 lt objectId gt lt objectNumber gt P00598 lt objectNumber gt lt saveAsObjectResponse gt lt response gt lt saveAsObjectResponse gt lt soapenv Body gt soapenv Envelope See also getAutoNumbers on page 110 getAttributes on page 103 178 Agile Product Lifecycle Management Business Webservices Core Operations checkPrivilege Service Usage Syntax Basic Steps Sample Code To check whether a specific Agile user holds the privileges to perform a specific action in the Agile PLM system The user and privilege specifications are detailed in the request object The request object confirms whether or not the specified agile user has the privilege to perform the Web Service operation CheckPrivilegeResponseType checkPrivilegeResponseType agileStub checkPrivilege new CheckPrivilegeRequestType To check a user s privileges 1 Create the request object CheckPrivilegeRequestType for the checkPrivilege operation 2 Create an array of requests of type AgileCheckPrivilegeRequestType Batch operations may be performed by populating as many request objects as required to check for several privileges simultaneously 3 Foreach request specify the user whose privileges are to be checked Users are specified as objects of AgileUserldenti
92. AP Reve S xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt undoRedline xmlns http xmlns oracle com AgileObjects Core Pc V1 gt request xmlns requests lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P1242809159264 lt objectNumber gt lt redlineTable gt TABLE REDLINEBOM lt redlineTable gt lt rowId gt 6201465 lt rowId gt lt options gt lt propertyName gt revision lt propertyName gt lt propertyValue gt B lt propertyValue gt lt options gt lt requests gt lt request gt lt undoRedline gt soapenv Body soapenv Envelope EL Response lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt undoRedlineResponse xmlns http xmlns oracle com AgileObjects Core Pc V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt response gt lt undoRedlineResponse gt lt soapenv Body gt soapenv Envelope loadTable on page 259 getRowId Method on page 267
93. API Names in the General Information page or under the General Information tab Special Handling of MessageElements The following MessageElement Types require special handling as described below Unit of Measure The corresponding object is AgileUnitOfMeasureType The attributes of an Agile object that require Unit of Measure as an input type are updated with the UOM values These values are denoted by the Unit of Measure object To do this you have to send the data as an instance of AgileUnitOfMeasureType In addition you need to pass the corresponding Namespace URI as an attribute The format is messageElement addAttribute PREFIX NAMESPACEURI type CLASSNAME You can choose any meaningful value for PREFIX The type should be passed as type You are required to send correct values for NAMESPACEURI and CLASSNAME For example COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 CLASSNAME AgileUnitOfMeasureType You can define your own namespaceUri or use COMMONNAMESPACEURI Example MessageElement for a UOM AgileUnitOfMeasureType uom new AgileUnitOfMeasureType uom setUnitName Kilogram uom setUnitValue 1000 0 MessageElement dataCell new MessageElement namespaceUri mass dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue AgileUnitOfMeasureType 16 Agile Product Lifec
94. Agile object and to retrieve its contents The request object specifies the object and file to be retrieved while the desired content is received through the response object CheckOutAttachmentResponseType checkOutAttachmentResponseType agileStub checkOutAttachment new CheckOutAttachmentRequestType To check out an attachement 1 Create the request object CheckOutAttachmentRequestT ype for the checkOutAttachment operation 2 Create an array of requests of type AgileCheckOutAttachmentRequestT ype Batch operations may be performed by populating as many request objects as required to add several files to different objects simultaneously 3 Foreach batched request specify the unique object from whose attachment tab files will be checked out Supply the class identifier and object number information 4 Provide the exact specification of the file attachment that has to be checked out by the Web Service An object of type CheckOutAttachmentType is used to achieve this This object defines an Agile file using its rowld or a combination of its rowld and fileld as required A boolean element to checkout all files is also available 5 The helper method getRowId on page 267 is used in the sample code to obtain the rowld or fileld of a particular row when given its filename This method utilizes the Table Web Services to issue a call for the operation loadTable on page 259 after which the message elements of all rows are searche
95. AgileTableType tables loadTableResponseType getTableContents return findRowId tables filename else System out println lt Failed to load table information gt AgileExceptionListType agileExceptionListType loadTableResponseType getExceptions if agileExceptionListType null for int i 0 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException 268 Agile Product Lifecycle Management Appendix A EE masas VA e C qd System out println exceptions j getMessage j AgileWarningListType agileWarningListType loadTableResponseType getWarnings if agileWarningListType null for int i20 i agileWarningListType length i AgileWarningType warnings agileWarningListType i getWarning for int 3 0 j warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage catch Exception ex ex printStackTrace i return 1 public static int findRowId AgileTableType tables String filename if tables null for int i 0 i tables length i AgileRowType rows tables i if rows null for int 07 Scows Length JFE MessageElement messages rows jl get any for int m 0 m messages length m DEY messages m getName toString equalsIgnoreCase filename HashMap fileValues getValuesFromSelection messages m for Hash
96. ExceptionListType length EFH 9 AgileExceptionType exceptions agileExceptionListType i getException inoue ae q 10 j lt exceptions length j System out println exceptions j getMessage persed AgileAuditRObjectResponseType responses auditRObjectResponseType getResponse if responses null ObjectIdentifierType object responses getIdentifier System out println Audit action was successfully performed on the object object getObjectName AgileExceptionType errors responses getError AgileWarningType warnings responses getWarning System out println NnList of errors retrieved from Audit action if errors null roja Glas es 09 SL SS errors Meno i System out println errors il getMessage System out println nList of warnings obtained from Audit action if warnings null tor tino al Dy i warnings length i System out println warnings i getMessage SOAP Request lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt auditRObject xmlns http xmlns oracle com AgileObjects Core Collaboration V1 gt lt request xmlns gt lt request gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00035 lt objectNumber gt
97. ListType agileWarningListType approveRObjectResponseType getWarnings if agileWarningListType null for int i 0 i agileWarningListType length i AgileWarningType warnings agileWarningListType i getWarning for int j 0 j lt warnings length j System out println Warning Id warnings j getWarningId nMessage 4 warnings j getMessage Working with Warnings By default all warnings are enabled You can work with warnings in following ways v9 3 0 1 21 Agile PLM Core Web Services User Manual n n n Use setWarningResolution to selectively Enable or Disable a select set of warnings AgileWarningResolutionType warningRes new AgileWarningResolutionType 1 warningRes warningRes warningRes BLE 0 new AgileWarningResolutionType 0 setId 182 0 setResolution AgileWarningResolutionConstantsType DISA approveRObj ctRequestType setWarningResolution warningRes Use diasableAllWarnings function to disable ALL the warnings approveRObj ctRequestType setDisableAllWarnings Enable a select set of warnings and disable the rest with a combination of diasableAllWarnings and setWarningResolution approveRObj ctRequestType setDisableAllWarnings AgileWarningResolutionType warningRes new AgileWarningResolutionType 1 warningRes warningRes warningRes LE approveRObj 0 new AgileWarningRe
98. Map fileValue fileValues if fileValue get filename equals filename System out println Row Id successfully 1 getRow retrieved return rows j getRowId return 0 public static HashMap getValuesFromSelection MessageElement element HashMap fileValues null if element getType getLocalPart equals AgileListEntryType AgileListEntryType list AgileListEntryType element getObjectValue SelectionType selection list getSelection fileValues new HashMap selection length for int i 0 i lt selection length i fileValues i new HashMap fileValues i put filename selection i getValue fileValues i put fileid selection i getId Jj else fileValues new HashMap 1 fileValues 0 new HashMap 0 fileValues 0 put filename element getFirstChild getNodeValue fileValues 0 put fileId null return fileValues v9 3 0 1 269 Agile PLM Core Web Services User Manual getFileld Method Service Usage Usage Basic Steps Obtaining the Fileld for a Row on an Agile Table Several attachment operations require the fileld as input for executing For example if a particular attachment row has several files associated with it the fileld is necessary to differntiate between each file available on that row In such cases the we first use the loadTable Web Service to load the table that contains the requi
99. ORACLE Agile Product Lifecycle Management Agile PLM Core Web Services User Manual v9 3 0 1 Part No E15930 01 January 2010 Agile PLM Core Web Services User Manual Oracle Copyright Copyright O 1995 2010 Oracle and or its affiliates All rights reserved This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws Except as expressly permitted in your license agreement or allowed by law you may not use copy reproduce translate broadcast modify license transmit distribute exhibit perform publish or display any part in any form or by any means Reverse engineering disassembly or decompilation of this software unless required by law for interoperability is prohibited The information contained herein is subject to change without notice and is not warranted to be error free If you find any errors please report them to us in writing If this software or related documentation is delivered to the U S Government or anyone licensing it on behalf of the U S Government the following notice is applicable U S GOVERNMENT RIGHTS Programs software databases and related documentation and technical data delivered to U S Government customers are commercial computer software or commercial technical data pursuant to the applicable Federal Acquisition Regulation and agency specific supplemental regulations
100. QueryGetSearchableAttributesRequestType to obtain a list of searchable attributes for a given class 2 The Agile Stub is used to make the getSearchableAttributes Web Service call The status code obtained from the response object is printed to verify the success of the getSearchableAttributes operation 3 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 4 If the Web Service call was successful then display the attributes retrieved Sample Code Java al setupServerLogin QueryGetSearchableAttributesRequestType queryGetSearchableAttributesRequestType new QueryGetSearchableAttributesRequestType queryGetSearchableAttributesRequestType setClassIdentifier Part QueryGetSearchableAttributesResponseType queryGetSearchableAttributesResponseType agileStub getSearchableAttributes queryGetSearchableAttributesRequestType Syaka OUt Prnt STATIS CODES EE queryGetSearchableAttributesResponseType getStatusCode BE queryGetSearchableAttributesResponseType getStatusCode toString equals Respo nseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType queryGetSearchableAttributesResponseType getExceptions itone ate ab gt 9p i agileExceptionListType length IFR ew AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage
101. RequestType 0 setComment Comments addApproversRequestType setAddApproversRequest agileAddApproversRequestType AddApproversResponseType addApproversResponseType agileStub addApprovers addApproversRequestType System out println STATUS CODE addApproversResponseType getStatusCode alae addApproversResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType addApproversResponseType getExceptions if agileExceptionListType null ojo Game aL p i lt agileExceptionListType length EEE ab AgileExceptionType exceptions agileExceptionListType i getException oe rime 0 j exceptions length j System out println exceptions j getMessage alas d System out print The specified approver s were successfully added to the workflow state System out println agileAddApproversRequestType 0 getStatusIdentifier NOE lege Closers War agileAddApproversRequestType 0 getObjectNumber SOAP 555 Requests lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addApprovers xmlns http xmlns oracle com AgileObjects Core Collaboration V1 gt lt request xmlns gt v9 3 0 1 209 Agile PLM Core Web Servic
102. RowId Method on page 267 146 Agile Product Lifecycle Management Attachment Web Services Core Operations checklnAttachment Service Usage Syntax Basic Steps Sample Code To check in an attachment that was previously checked out This attachment could possibly have been modified after checking out and has to be checked in back into the Agile system Details of the modified file and its content and the parent object are specified in the request object CheckInAttachmentResponseType checkInAttachmentResponseType agileStub checkInAttachment new CheckInAttachmentRequestType To check in an attachment 1 Create the request object ChecklnAttachmentRequestT ype for the checkInAttachment operation 2 Create an array of requests of type AgileChecklnAttachmentRequestType Batch operations may be performed by populating as many request objects as required to checkln several files to different objects simultaneously 3 Foreach batched request specify the unique object from whose attachment tab files will be checked out Supply the class identifier and object number information 4 The exact specification of the file that has to be checked in by the Web Service is achieved by using an object of type CheckInAttachmentType This object defines the file to be checked in using elements that refer to the new file name and also the modified new file content It is to be noted that the file name of the
103. RowsRequest 0 setRow updateRow agileUpdateRowsRequest 0 setObjectiInfo updateTable updateRowsRequestType setData agileUpdateRowsRequest Cancelling a File Folder Checkout If you check out a file folder and then decide not to modify it or discard your changes and revert to the original file folder you can cancel the checkout with the operation cancelCheckOutFF on page 140 When you cancel a checkout the file folder is available for other users to check out Note Only the user who checked out a file folder can cancel the checkout Example Cancelling a file folder checkout CancelCheckOutFFRequestType cancelCheckOutFFRequestType new CancelCheckOutFFRequestType AgileCancelCheckOutFFRequest agileCancelCheckOutFFRequest new AgileCancelCheckOutFFRequest 1 68 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments agileCancelCheckOutFFRequest 0 new AgileCancelCheckOutFFRequest agileCancelCheckOutFFRequest 0 setFolderNumber folderNumber cancelCheckOutFFRequestType setRequests agileCancelCheckOutFFRequest Checking In a File Folder After you finish working on the file folder that you checked out you can check it in using the operation checkInFF on page 137 File folders can contain multiple files When you check in a file folder you automatically check in all the files that are contained in it You do not need to specifically list the fi
104. SOAP Request lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt undeleteObject xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00600 lt objectNumber gt lt requests gt lt request gt lt undeleteObject gt lt soapenv Body gt soapenv Envelope gt Response lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt undeleteObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt response gt undeleteObjectResponse soapenv Body soapenv Envelope See also advancedSearch on page 234 quickSearch on page 231 deleteObject on page 167 170 Agile Product Lifecycle Management Business Webservices Core Operations isDeletedObject Service To check whether a spe
105. Sample Code To get a list of approvers or observers for Agile s routable objects When a routable object is released in a workflow it is either sent to a user for approval or for notification A list of users is required to be selected and added for the workflow to begin This list is obtained from Agile system by sending a getApprovers request GetApproversResponseType getApproversResponseType agileStub getApprovers new AgileGetApproversRequestType To get a list of approvers 1 Create the request object GetApproversRequestType for the getApprovers operation 2 Create an array of requests of type AgileGetApproversRequestType Batch operations may be performed by populating as many request objects as required to obtain several objects 3 For each batched request specify the class identification and and unique object number The request objects are set and the Agile Stub is used to make the getApprovers Web Service call The status code obtained from the response object is printed to verify the success of the getApprovers operation 4 Ifthe status code is not success then populate the list of exceptions returned by the Web Service 5 If the Web Service call was successful display the list of users who are designated as approvers for the particular status queried for in the request Java SV A setupServerLogin GetApproversRequestType getApproversRequestType new GetApproversRequestType Ag
106. Schema attributeld 2000004735 gt lt overallCompliance xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000005405 thumbnail xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000008559 lt itemGroupS xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000008566 agileObject responses response getObjectResponse soapenv Body soapenv Envelope quickSearch on page 231 advancedSearch on page 234 createObject on page 155 v9 3 0 1 163 Agile PLM Core Web Services User Manual updateObject Service Usage Syntax Basic Steps Sample Code To update a specific object in the Agile PLM system The revised object specifications are detailed in the request object where data specific to an Agile object may be expressed UpdateObjectResponseType updateObjectResponseType agileStub updateObject new UpdateObjectRequestType To update an object 1 Create the request object UpdateObjectRequestType for the updateObject operation 2 Create an array of requests of type AgileUpdateObjectRequest Batch operations may be performed by populating as many request objects as required to update several objects 3 Foreach of the requests set the class identifier to sp
107. SetWorkFlowRequestType agileSetWorkFlowRequestType Checking User Privileges Agile privileges determine the types of workflow actions a user can perform on a Change Object The Agile system administrator assigns roles and privileges to each user Table below lists privileges needed to perform workflow actions Privilege Related operation Change Status changeStatus on page 195 Comment commentRObject on page 214 Send sendObject on page 174 To determine at run time whether a user has the appropriate privileges to perform a particular action use the operation checkPrivilege on page 179 It yields a boolean value indicating if the user has the specified privilege Refer Schema documentation on Oracle eDelivery Site for AgilePrivilegeType enumerations Example Checking the privileges of a user AgileUserldentifierType user new AgileUserIdentifierType user setUserIdentifier admin agileCheckPrivilegeRequestType 0 setUserIdentification user AgilePrivilegeType privilege AgilePrivilegeType valuel agileCheckPrivilegeRequestType 0 setPrivilege privilege agileCheckPrivilegeRequestType 0 setClassIdentifier Part agileCheckPrivilegeRequestType 0 setObjectNumber partNumber checkPrivilegeRequestType setRequests agileCheckPrivilegeRequestType Adding and Removing Approvers After a change has been routed and the online approval process has begun it may be necessary to add or r
108. TextNode Doc Desc Note Agile Web Services do not support setting the Life Cycle Phase LCP workflow status attribute of an object while you are creating that object This is because the necessary settings for LCP are not available until the object is created Saving As a New Object You can save an existing Agile Object as a new object by using the operation saveAsObject on page 176 This operation calls AgileSaveAsObjectRequestType which requires the values of objectName objectNumber and newObjectName You can specify a newObjectNumber as a MessageElement to generate number for a new object as shown in the following syntax SaveAsObjectRequestType saveAsObjectRequestType new SaveAsObjectRequestType AgileSaveAsObjectRequestType agileSaveAsObjectRequestType new AgileSaveAsObjectRequestType 1 agileSaveAsObjectRequestType 0 setParentClassIdentifier objectName agileSaveAsObjectRequestType 0 setParentObjectNumber objectNumber agileSaveAsObjectRequestType 0 setNewClassIdentifier newObjectName AgileRowType row new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null messages 0 new MessageElement namespaceUri TagName messages 0 addAttribute namespaceUri attributeId Attribute ID messages 0 addTextNode newObjectNumber row set_any messages agileSaveAsObjectRequestType 0 setData row
109. The parameter query is not supported in nested queries and multiple values for one placeholder in query parameters must be specified in two dimensional arrays as shown in the example below 52 Agile Product Lifecycle Management Chapter 5 Working with Searches Example Correct and incorrect parameter query in nested query criteria o The parameter query specified in the following nested query criteria will fail to execute Page Two Userl in General Info First Name 0 a However when it is explicitly specified as a string value instead of the placeholder it will Succeed Page Two Userl in General Info First Name Christopher Searching for Words or Phrases Contained in Attachments Two special attributes Attachments File Document Text and Files Document Text are used to index the content of files stored on the Agile file management server If you are hosting your database on Oracle you can take advantage of a feature that lets you search for words or phrases contained in attachments When you create search criteria that uses either of these attributes there are four additional relational operators you can use o contains phrase B contains all words o contains any word B contains none of The following table shows several search conditions that search for words or phrases in attachments Attachments File Document Text Objects in which any of their attachments contain the contains phrase adding new
110. To add a new file to the Files tab of an object Before adding a new file to a folder the folder object must be checked out prior to any file operation In the given sample the method checkOutFolder is written using the checkOutFF on page 134 Web Service to facilitate the checkOut operation on the folder before files are actually added to it 1 Create the request object AddFileFFRequestT ype for the AddFileFF operation 2 Create an array of requests of type AgileAddFileFFRequestTypeType Batch operations may be performed by populating as many request objects as required to add several files to different folders simultaneously 3 Foreach batched request specify the unique folder to whose files tab the files have to be added and supply the folder number details 4 The exact specification of the attachment to be added is defined as an object of type AddFileFFType This object includes information about the name of the file and its description and content 5 Therequest objects are set and the Agile Stub is used to make the AddFileFF Web Service call The status code obtained from the response object is printed to verify the success of the AddFileFF operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 Ifthe Web Service call was successful then state the same Java try setupServerLogin System out printin nChecking out folder before adding a file che
111. Two Nummeric01 between 1000 2000 Set result attributes String attrs Title Block Number Title Block Description Title Block Lifecycle Phase advancedSearchRequestType setResultAttributes attrs This example shows the same query rewritten in SQL syntax Although the example doesn t have fewer lines of code you may find that it s more readable than Agile API query syntax particularly if you re familiar with SQL Example Search criteria using SQL syntax String criteria SELECT Title Block Number Title Block Description Title Block Lifecycle Phase FROM Items WHERE Title Block Number between 1000 2000 advancedSearchRequestType setCriteria criteria The following example shows a query written with SQL syntax that specifies the search criteria Example Using SQL syntax to specify query attributes try String statement SELECT Title Block Number Title Block Description FROM Items WHERE Title Block Description like 0 advancedSearchRequestType setCriteria statement Note Remember the FROM part of the search condition specifies the query class If you use the classldentifier attribute to also specify a query class the query class specified in the SQL search condition takes precedence Using SQL Wildcards You can use both the asterisk and question mark as wildc
112. Type to define the attachment to be downloaded 4 The attachment to be downloaded is defined as an element of type AgileFileAttachmentRequestType The rowrd field of this object is set to specify the file that has been downloaded 5 The helper method getRowld on page 267 used in this sample is used to obtain the rowld or fileld of a particular row when given its filename v9 3 0 1 123 Agile PLM Core Web Services User Manual This method utilizes the Table Web Services to issue the operation loadTable on page 259 after which the message elements of all rows are searched to find a match A string input with values of either getRowId or getFileTd is also passed a parameter input Depending on the value of this string either the rowld or fileld is returned by the method 6 Therequest objects are set and the Agile Stub is used to make the GetFileFF Web Service call The status code obtained from the response object is printed to verify the success of the GetFileFF operation 7 If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service 8 If the Web Service call was successful then display information about the file s retrieved Sample Code Java try setupServerLogin GetFileFFRequestType getFileFFRequestType new GetFileFFRequestType AgileGetFileFFRequest agileGetFileFFRequest new AgileGetFileFFRequest 1 agileGetFileFFRequest 0 new AgileGetFileFFRequest
113. User Manual SAS A LOS Eque c S A rna agileChangeStatusRequestType 0 agileChangeStatusRequestType 0 setComment Comments agileChangeStatusRequestType 0 setPassword password agileChangeStatusRequestType 0 setAuditRelease false 0 0 0 AAA A A RIN setNotifiers null agileChangeStatusRequestType setUrgent false agileChangeStatusRequestType setNotifyOriginator true agileChangeStatusRequestType setNotifyChangeAnalyst true agileChangeStatusRequestType 0 setNotifyCCB true changeStatusRequestType setChangeStatusRequest agileChangeStatusRequestType ChangeStatusResponseType changeStatusResponseType agileStub changeStatus changeStatusRequestType System out println STATUS CODE changeStatusResponseType getStatusCode PE changeStatusResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType changeStatusResponseType getExceptions if agileExceptionListType null for augue a OR i agileExceptionListType length aves 2 AgileExceptionType exceptions agileExceptionListType i getException Gores O j lt exceptions length j System out println exceptions j getMessage Y jj uds d System out print The status of the object agileChangeStatusRequestType 0 getObjectNumber System out println was successfully changed to agileChangeStatusRequestType 0
114. You can also use autoNumberSource to generate number for a new object using the following syntax SaveAsObjectRequestType saveAsObjectRequestType new SaveAsObjectRequestType AgileSaveAsObjectRequestType agileSaveAsObjectRequestType new AgileSaveAsObjectRequestType 1 v9 3 0 1 25 Agile PLM Core Web Services User Manual agileSaveAsObjectRequestTyp setParentClassIdentifier objectName setParentObjectNumber objectNumber setNewClassIdentifier newObjectName setAutoNumberSource autoNumberSource agileSaveAsObjectRequestTyp agileSaveAsObjectRequestTyp m ra ra ra EH EH oc agileSaveAsObjectRequestTyp DH Note See Getting AutoNumbers on page 29 for more details Example Saving a Part As a New Part SaveAsObjectRequestType saveAsObjectRequestType new SaveAsObjectRequestType AgileSaveAsObjectRequestType agileSaveAsObjectRequestType new AgileSaveAsObjectRequestType 1 agileSaveAsObjectRequestType 0 setParentClassIdentifier Part agileSaveAsObjectRequestType 0 setParentObjectNumber partNumberl agileSaveAsObjectRequestType 0 setNewClassIdentifier Part AgileRowType row new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null messages 0 new MessageElement namespaceUri Message Num messages 0 addTextNode newPartNumber row set any messages
115. age exceptions j getMessage AgileWarningListType agileWarningListType rejectRObjectResponseType getWarnings if agileWarningListType null ojo bae ab 9p i lt agileWarningListType length EEF f AgileWarningType warnings agileWarningListType i getWarning for int j 0 j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage v9 3 0 1 203 Agile PLM Core Web Services User Manual Sample Code See also i 7 else i System out print The object agileRejectRObjectRequestType 0 getObjectNumber System out println was successfully rejected using the Web Service call SOAP Requests lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt rejectRObject xmlns http xmlns oracle com AgileObjects Core Collaboration V1 request xmlns gt rejectRObject lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00041 lt objectNumber gt lt password gt agile lt password gt lt comment gt Comment lt comment gt lt notifiers gt lt classIdentifier gt 11610 lt classIdentifier gt lt objectIdentifier gt User11239364588798 lt objectIdentifier gt lt notifiers g
116. agileGetFileFFRequest 0 setFolderNumber folderNumber System out println Retrieving a file from the file folder folderNumber n AgileFileAttachmentRequestType files new AgileFileAttachmentRequestType 1 files 0 new AgileFileAttachmentRequestType files 0 setRowId getRowOrFileId fileName FileFolder agileGetFileFFRequest 0 getFolderNumber Files getRowId agileGetFileFFRequest 0 setFiles files getFileFFRequestType setRequests agileGetFileFFRequest GetFileFFResponseType getFileFFResponseType agileStub getFileFF getFileFFRequestType System out println XnSTATUS CODE getFileFFResponseType getStatusCode alan getFileFFResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue AgileExceptionListType agileExceptionListType getFileFFResponseType getExceptions if agileExceptionListType null for int se e p i agileExceptionListType length LERI d AgileExceptionType exceptions agileExceptionListType i getException tor Ime J j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType getFileFFResponseType getWarnings if agileWarningListType null mora atione ab o 124 Agile Product Lifecycle Management Attachment Web Services Core Operations 3 M
117. agileRejectRObj agileRejectRObj agileRejectRObj ctRequestTyp ctRequestTyp ctRequestTyp ctRequestTyp ctRequestTyp 0 0 0 0 0 rejectRObjectRequestTyp ype Commenting a Change setNotifiers notifiers setEscalations null setTransfers null setRejectForGroups null setSignoffForSelf true setRejectRObject agileRejectRObjectRequestT Use the operation CommentRObject on page 214 operation to comment a change Use boolean variables to denote whether the orginators change analysts and CCB need to be notified agileCommentRObj agileCommentRObj agileCommentRObj agileCommentRObj agileCommentRObj agileCommentRObj AgileUserUserGroupIden AgileUserUserGroupIden notifyList 0 notifyList 0 setClassIdentifier User ctRequestType 0 ctRequestType 0 ctRequestType 0 ctRequestType 0 ctRequestType 0 ctRequestType 0 tifierType tifierType setClassIdentifier ECO setObjectNumber changeNumber setComment Comment setNotifyOriginator true setNotifyChangeAnalyst true SetNotifyCCB false notifyList new 1 new AgileUserUserGroupIdentifierType notifyList 0 setObjectIdentifier USERNAME agileCommentRObjectRequestTyp commentRObjectRequestTyp equestType Auditing a Change 0 setNotifyList notifyList setCommentRObjectRequest agileCommentRObjectR Aud
118. also al PAS A Aad Ale attachments lt name gt Filename txt lt name gt lt description gt Description for file lt description gt content RmlsZSBDb2502W50Li4uZmlsZQ content attachments lt requests gt lt request gt lt addFileAttachment gt soapenv Body soapenv Envelope Response lt lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addFileAttachmentResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00720 lt objectNumber gt lt responses gt lt response gt lt addFileAttachmentResponse gt lt soapenv Body gt lt soapenv Envelope gt AddFileSOAPAttachment Method on page 265 v9 3 0 1 133 Agile PLM Core Web Services User Manual checkOutFF Service Usage Syntax Basic Steps Sample Code To check out an Agile File Folder object The request object specifies the file folder that has to be checked out Subsequent operations such as adding a file to this file folder and then checking in the
119. anges that have items on the Affected Items tab cannot be restored regardless of the user s privileges Not all Agile PLM objects can be deleted If you attempt to delete these objects the deleteObject operation throws an exception Also if you try to delete an Item that is used on the BOM tab of another item the Agile PLM server throws an exception Some of the objects that cannot be deleted are o An item with a pending change o An item with a revision history o Anitem with a canceled change o Areleased change o Amanufacturer with one or more manufacturer parts v9 3 0 1 27 Agile PLM Core Web Services User Manual a Amanufacturer part currently used on the Manufacturers tab of another object Example Deleting a Part DeleteObjectRequestType deleteObjectRequestType new DeleteObjectRequestType AgileDeleteObjectRequest agileDeleteObjectRequest new AgileDeleteObjectRequest 1 agileDeleteObjectRequest 0 new AgileDeleteObjectRequest agileDeleteObjectRequest 0 setClassIdentifier Part agileDeleteObjectRequest 0 setObjectNumber partNumber Example Undeleting a Part UndeleteObjectRequestType undeleteObjectRequestType new UndeleteObjectRequestType AgileUndeleteObjectRequest agileUndeleteObjectRequest new AgileUndeleteObjectRequest 1 agileUndeleteObjectRequest 0 new AgileUndeleteObjectRequest agileUndeleteObjectRequest
120. aration IPC 1752 1 Declarations IPC 1752 1 Declaration IPC 1752 2 Declarations IPC 1752 2 Declaration JGPSSI Declarations JGPSSI Declaration Part Declarations Part Declaration Substance Declarations Substance Declaration Supplier Declarations of Conformance Supplier Declaration of Conformance Discussions Discussions Discussion File Folders File Folders File Folder Parts Part Documentation Document Manufacturers Manufacturers Manufacturer Cover Page Name Cover Page Description Cover Page Supplier Cover Page Status Cover Page Workflow Cover Page Compliance Manager Cover Page Due Date Cover Page Declaration Type Cover Page Subject Cover Page Status Cover Page Priority Cover Page Type Title Block Type Title Block Number Title Block Description Title Block Lifecycle Phase Title Block Item Type Title Block Number Title Block Description Title Block Lifecycle Phase Title Block Rev General Info Name General Info City General Info State General Info Lifecycle Phase General Info URL 58 Agile Product Lifecycle Management Chapter 5 Working with Searches Manufacturer Parts Manufacturer Parts Manufacturer Part Packages Packages Package Part Groups Part Groups Commodity Part Family Prices Published Prices Contracts Published Price Quote History Quote History Product Service Requests Non Conformance Reports NCR Problem Reports
121. ards in a query that uses SQL syntax In Agile Web Services search operation The asterisk matches any string and the question mark matches any single character You can use wildcards in the SELECT statement the specified query result attributes and the WHERE statement the search condition 56 Agile Product Lifecycle Management Chapter 5 Working with Searches For example SELECT specifies all available query result attributes Setting Result Attributes for a Search When you use the operation advancedSearch on page 234 it returns several output fields which are also called result attributes By default there are only a few result attributes for each query class You can add or remove result attributes using the setResultAttributes The following table shows the default query result attributes for each predefined Agile PLM class Changes Cover Page Change Type Change Orders Cover Page Number ECO Change Requests ECR Deviations Deviation Cover Page Description Cover Page Status Cover Page Workflow Manufacturer Orders MCO Price Change Orders PCO Sites Change Orders SCO Stop Ships Stop Ship Customers General Info Customer Type Customers General Info Customer Number iz General Info Customer Name General Info Description General Info Lifecycle Phase v9 3 0 1 57 Agile PLM Core Web Services User Manual Declarations Homogeneous Material Declarations Homogeneous Material Decl
122. are described abstractly and then bound to a network protocol and message format WSDL allows description of endpoints and their messages regardless of what message formats or network protocols are used to communicate e Service discovery layer This layer centralizes services into a common registry using the Universal Description Discovery and Integration UDDI protocol UDDI is a platform independent XML based registry for businesses worldwide to list themselves on the Internet About Agile PLM Web Services Implementation of Agile PLM Web Services adheres to the following principles n D D D D D Well defined standards based discoverable Interface XML based Web Service Framework Apache Axis 1 4 Modularized PLM Schema XSD and WSDL for easy maintenance Standards based WSDL to ensure compatibility across various clients NET Java and BPEL Batch APIs wherever applicable for better performance Web Service versioning for backward compatibility Agile PLM Web Services expose all key PLM functionalities in the following services n Agile PLM Core Web Services These services support functionalities provided by PLM solutions such as PC PQM PCM PPM PG amp C See Agile PLM Core Web Services Operations on page 89 Agile PLM EC Web Services These services support functionalities provided by Agile PLM s Engineering Services EC solution See Agile PLM EC Services Guide at Oracle Technology Network
123. arningListType agileWarningListType CheckInFFResponseType getWarnings if agileWarningListType null ojo ae en 9p i agileWarningListType length IFR f AgileWarningType warnings agileWarningListType i getWarning for int j 0 j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage PESE System out println The following folders were successfully checked in AgileCheckInFFResponse responses CheckInFFResponseType getResponses if responses null for int i 0 i lt responses length arse di S SteSil ole Ee lise ab lt p dE ap We Wap responses i getFolderNumber Sample Code SOAP Request xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkInFF xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt request xmlns requests folderNumber FOLDER00220 folderNumber lt requests gt lt request gt lt checkInFF gt lt soapenv Body gt lt soapenv Envelope gt mL Response css lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema
124. assesRequestType System out println STATUS CODE getSubClassesResponseType getStatusCode abr getSubClassesResponseType getStatusCode toString equals ResponseStatusCode S UCCESS getValue AgileExceptionListType agileExceptionListType getSubClassesResponseType getExceptions for ipt sk 1019 i agileExceptionListType length 94 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations Sample Code SNR te AgileExceptionType exceptions agileExceptionListType i getException for int J 0 j lt exceptions length jen System out println exceptions j getMessage Perss AgileGetSubClassesResponseType responses getSubClassesResponseType getSubClassesResponse if responses null for int j 0 j responses length aeu d System out println List of subClasses retrieved ClassType classes responses jl getClasses SV Stem EH responses j getClassIdentifier NW Ug if classes null Tor dint ab 1019 i lt classes length i System out println classes i getDisplayName SOAP REESE lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getSubClasses xmlns http xmlns oracle com AgileObject
125. ataCell setObjectValue bosco message 0 dataCell MessageElement dataCell new MessageElement namespaceUri mfrName dataCell setObjectValue cisco message 1 dataCell row 0 set any message Method 2 MessageElement message new MessageElement 1 ObjectReferentldType obj new ObjectReferentIdType obj setClassIdentifier ManufacturerPart obj setObjectIdentifier MfrP 01 PropertyType options new PropertyType l options 0 new PropertyType options 0 setPropertyName SchemaConstants manufacturer name getValue options 0 setPropertyValue Manu 4570 obj setOptions options MessageElement dataCell new MessageElement namespaceUri mfrPartNumber dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYPI ObjectReferentIdType dataCell setObjectValue obj message 0 dataCell GI row 0 set_any message Adding Manufacturer Part to the Relationships Tab ObjectReferentldType obj new ObjectReferentIdType obj setClassIdentifier ManufacturerPart obj setObjectlIdentifier m12444 PropertyType options new PropertyType 1 v9 3 0 1 39 Agile PLM Core Web Services User Manual options 0 new PropertyType options 0 setPropertyName SchemaConstants manufacturer name getValue options 0 setPropertyValue Cisco obj setOptions options MessageElemen
126. be performed by populating several requests to obtain metadata information about several tables in one go 3 Foreach batched request specify the type of object whose attributes will be retrieved Also specify the attribute that has to be retrieved 4 Therequest objects are set and the Agile Stub is used to make the getTableMetaData Web Service call The status code obtained from the response object is printed to verify the success of the getTableMetaData operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then display the attributes retrieved Java try setupServerLogin GetTableMetadataRequestType getTableMetadataRequestType new GetTableMetadataRequestType AgileGetTableMetadataRequestType agileGetTableMetadataRequestType new AgileGetTableMetadataRequestType 2 for Gabon 2 Oy i lt agileGetTableMetadataRequestType length i agileGetTableMetadataRequestType i new AgileGetTableMetadataRequestType agileGetTableMetadataRequestType 0 setClassIdentifier Part agileGetTableMetadataRequestType 0 setTableldentifier BOM agileGetTableMetadataRequestType 1 setClassIdentifier ECO agileGetTableMetadataRequestType 1 setTableldentifier AffectedItems getTableMetadataRequestType setRequests agileGetTableMetadataRequestType GetTableMetadataResponseType getTableMetadataResponseType agileS
127. bject GetListsRequestType for the getLists operation Create an array of requests of type AgileGetListsRequestType Batch operations may be performed by populating as many request objects as required to retrieve lists For each batched request specify the type of object whose lists will be retrieved Setting the allLists field to true will retrieve all available lists For this include the following in your code agileGetListsRequestType 1 setAllLists true The request objects are set and the Agile Stub is used to make the getLists Web Service call The status code obtained from the response object is printed to verify the success of the getLists operation If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service If the Web Service call was successful then display the lists retrieved Sample Code Java Ery setupServerLogin GetListsRequestType getListsRequestType new GetListsRequestType AgileGetListsRequestType agileGetListsRequestType TOT agileGetListsRequestType new AgileGetListsRequestType 2 Gnt ab s Tore i agileGetListsRequestType length i agileGetListsRequestType i new AgileGetListsRequestType 0 setListIdentifier ActionStatus agileGetListsRequestType 1 setListIdentifier Country getListsRequestType setListsRequest agileGetListsRequestType GetListsResponseType getListsResponseType agileStub getLists getLi
128. bject must be added to a single folder The element singleFolder is used to specify that all the attachments added to the object must be added under a single folder Example Adding multiple Attachments into a single folder AddFileAttachmentRequestType addFileAttachmentRequestType new AddFileAttachmentRequestType AgileAddFileAttachmentRequest agileAddFileAttachmentRequest new AgileAddFileAttachmentRequest 1 new AgileAddFileAttachmentRequest setClassIdentifier Part setObjectNumber partNumber 1 agileAddFileAttachmentRequest 0 agileAddFileAttachmentRequest 0 agileAddFileAttachmentRequest 0 AgileAddFileAttachmentRequestType attachments new AgileAddFileAttachmentRequestType 2 for int i 0 i attachments length i t ct ct ct attachments i new AgileAddFileAttachmentRequestType attachments i setName Filename i 1 txt attachments i setDescription Description for file i 1 attachments i setContent File Content file 1 1 getBytes agileAddFileAttachmentRequest 0 setAttachments attachments 76 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments agileAddFileAttachmentRequest 0 setSingleFolder true addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest DH Adding Files using SOAP Attachment For adding very larg
129. bjects as required to retrieve several attributes 3 Foreach batched request declare the specifications for which currecy will be converted Money is specified using an object of AgileMoneyType Date and new currency are also specified 4 Therequest objects are set and the Agile Stub is used to make the convertCurrency Web Service call The status code obtained from the response object is printed to verify the success of the convertCurrency operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then display the results Sample Code Java try setupServerLogin ConvertCurrencyRequestType convertCurrencyRequestType new ConvertCurrencyRequestType AgileConvertCurrencyRequestType agileConvertCurrencyRequestType new AgileConvertCurrencyRequestType 1 agileConvertCurrencyRequestType 0 new AgileConvertCurrencyRequestType AgileMoneyType money new AgileMoneyType new Double 100 INR agileConvertCurrencyRequestType 0 setMoney money agileConvertCurrencyRequestType 0 setDate new GregorianCalendar agileConvertCurrencyRequestType 0 setToCurrency GBP convertCurrencyRequestType setRequests agileConvertCurrencyRequestType ConvertCurrencyResponseType convertCurrencyResponseType agileStub convertCurrency convertCurrencyRequestType System out println STATUS CODE convertCurrencyResponseType getStatu
130. ble RedlineTableType TABLE REDLINEBOM batchRequest setRequests requests IsRedlineModifiedResponseType batchResponse agileStub isRedlineModified batchRequest AgileIsRedlineModifiedResponse responses batchResponse getResponses System out println Response status batchResponse getStatusCode getValue for AgileIsRedlineModifiedResponse response responses System out println Is redlined response getIsRedlineModified j SOAP deest lt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isRedlineModified xmlns http xmlns oracle com AgileObjects Core Pc V1 gt lt request xmlns gt lt requests gt classIdentifier Part classIdentifier lt objectNumber gt P1242818906603 lt objectNumber gt lt redlineTable gt TABLE REDLINEBOM lt redlineTable gt lt rowId gt 6201729 lt rowId gt lt options gt lt propertyName gt revision lt propertyName gt lt propertyValue gt B lt propertyValue gt lt options gt lt requests gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P1242818906603 lt objectNumber gt lt redlineTable gt TABLE REDLINEBOM lt redlineTable gt lt rowId gt 6201734 lt rowId gt lt options gt lt propertyNam
131. ceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType checkInAttachmentResponseType getWarnings if agileWarningListType null EOT O i agileWarningListType length atarar 7 AgileWarningType warnings agileWarningListType i getWarning moje Ge a 09 j lt warnings length j System out println Warning Id warnings j getWarningId nMessage warnings j getMessage y else System out print The modified file was sucessfully checked into the attachment tab of the object System out println agileCheckInAttachmentRequestType 0 getObjectNumber ins 148 Agile Product Lifecycle Management Attachment Web Services Core Operations Sample Code See also SOAP Le Jl gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkInAttachment xmlns http xmlns oracle com AgileObjects Core Attachment V1 request xmlns gt request lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00724 lt objectNumber
132. ceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType AddFileFFResponseType getWarnings if agileWarningListType null Skene Ale ab 9p i lt agileWarningListType length EFE f AgileWarningType warnings agileWarningListType i getWarning inone ashes 3p e 08 j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage peElss 2 System out print The sp DAE System out println agile mo ecified file s were successfully added to the folder AddFileFFRequestType 0 getFolderNumber Sample Code SOAP INCE lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addFileFF xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt request xmlns gt lt request gt lt folderNumber gt FOLDER00220 lt folderNumber gt lt files gt lt fileName gt File FOLDER00220 txt fileName fileContent RmlsZSBDb250Z2W50Li4uZmlsZQ fileContent lt description gt Description for file 1 lt description gt files request lt request gt v9 3 0 1 151 Agile PLM Core Web Services User Manual Eos eost eeu s soapenv Body soa
133. cific Agile object in the Agile PLM system has been deleted or not Usage The object specifications are detailed in the request object where the class type unique object number may be specified From the response object it is possible to ascertain whether the Agile object queried for still exists in the Agile PLM or if it was previously deleted Syntax IsDeletedObjectResponseType isDeletedObjectResponseType agileStub isDeletedObject new IsDeletedObjectRequestType Basic Steps To check the delete state of an object 1 Create the request object IsDeletedObjectRequestT ype for the isDeletedObject operation 2 Create an array of requests of type AgilelsDeletedObjectRequest Batch operations may be performed by populating as many request objects as required to query the deletion status of several objects simultaneously 3 Foreach of the requests set the class identifier to specify the type of object whose delete status and an object number to identify the unique object is to be determined 4 Therequest objects are set and the Agile Stub is used to make the isDeletedObject Web Service call The status code obtained from the response object is printed to verify the success of the isDeletedObject operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 Ifthe web service call was successfull then determine the status of deletion Sample Code Java iiw I setupServerLogin I
134. ckOutFolder folderNumber AddFileFFRequestType addFileFFRequestType new AddFileFFRequestType AgileAddFileFFRequestType agileAddFileFFRequestType new AgileAddFileFFRequestType l agileAddFileFFRequestType 0 new AgileAddFileFFRequestType agileAddFileFFRequestType 0 setFolderNumber folderNumber System out println AnAdding a file to the folder el Eeler AddFileFFType files new AddFileFFType l files 0 new AddFileFFType files 0 setFileName Filename txt files 0 setDescription Description for file files 0 setFileContent File Content file getBytes 150 Agile Product Lifecycle Management Attachment Web Services Core Operations agileAddFileFFRequestType 0 addFileFFRequestType setRequ AddFileFFResponseType AddFil agileStub addFileFF addF System out println NnSTATUS SetFiles files est agileAddFileFFRequestType eFFResponseType ileFFRequestType CODES AddFileFFResponseType getStatusCode if AddFileFFResponseType getS SS getValue AgileExceptionListType AddFileFFResponseTyp agileExceptionListTy orante i agileExcept def tatusCode toString equals ResponseStatusCode SUCCE agileExceptionListType e getExceptions pe null ionListType length aee 2 AgileExceptionType exceptions agileExceptionListType i getException for O j exceptions length j System out p rintln Exception Id ex
135. com AgileObjects Core Table V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt removeRowsResponse gt soapenv Body soapenv Envelope isReadOnlyTable on page 241 loadTable on page 259 getRowId Method on page 267 See also 258 Agile Product Lifecycle Management Tables Web Services Core Operations loadTable Service To load the content of an existing Agile Table object Usage The request object contains identifier of the table to be retrieved and the information to be obtained from it Success of the operation may be verified using the status code in the response object Syntax LoadTableResponseType loadTableResponseType agileStub loadTable new LoadTableRequestType Basic Steps To load the contents of a table 1 Create the request object LoadTableRequestType for the loadTable operation 2 Foreach request specify the table s whose contents are to be retrieved Tables in Agile Web Services are defined as RequestTableType objects A specific table is identified by specifying the class identifier and table identifier attributes 3 Therequest objects are set and the agile Stub is used to make the loadTable Web Service call The status code obtained from the response object is printed to verify the success of the loadTable operation 4 Ifthe status code indicates that the Web Serv
136. cription holds a legitimate value 5 The attributes that we desire to obtain as a part of the search result set may be explicitly specified 6 Advanced search also provides for other options such as usage of parameters as a part of the query specification of search type visibility level and usage of attributes Some of these variations of the advanced search Web Service are set as follows advancedSearchRequestType setParams advancedSearchRequestType setType setSearchType advancedSearchRequestType setVisibility 7 The Agile Stub is used to make the advancedSearch Web Service call The status code obtained from the response object is printed to verify the success of the advancedSearch operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then display the search results Sample Code Java EV setupServerLogin AdvancedSearchRequestType advancedSearchRequestType new AdvancedSearchRequestType 234 Agile Product Lifecycle Management Search Web Services Core Operations deese Ee Bee hee El eer E ee DDR ce TEN iG advancedSearchRequestType setCaseSensitive false String criteria Title Block Number contains PO amp amp Title Block Description is not null advancedSearchRequestType setCriteria criteria String attributel Title Block Number String attribute2 Title Block Description String
137. ctReferentIdType dataCell setObjectValue multiSelect message 0 dataCell El row 0 set_any message PropertyType options new PropertyType 1 options 0 new PropertyType options 0 setPropertyName SchemaConstants redline change getValue options 0 setPropertyValue C00644 row 0 setOptions options agileAddRowsRequest 0 setObjectInfo table v9 3 0 1 45 Chapter 5 Working with Searches This chapter includes the following Specifying Search Criteria re tn e eine irt pe C e go e Pe e eme ded 4T Using SQL Syntax to specify Search Criteria AN 55 Setting Result Attributes for a Search sss eene tentent tette tent 57 e Ee 62 This chapter describes how to work with the Agile PLM Searches and provides sample code snippets Agile PLM Searches Agile PLM Searches can have multiple search criteria like an Advanced Search in the Agile Web Client or it can be a simple search that specifies only one criteria Specifying Search Criteria You can narrow the number of objects returned from a search by specifying search criteria If you specify as the search criteria the query returns references to all objects in the specified query class It s a good practice to limit the search criteria as much as possible as the amount of data returned may be excessively large resulting in decreased performance You can use the setCriteria criteria method to specify
138. cycle Management Tables Web Services This chapter includes the following LEE ROO dE T 241 clearTable copyTable a addROWS zn rever eno oie A ED OI re i de amp Debatte SE ere nen eine eene p ned eei ARA i be tre en rr p deg 253 W e 256 T lodd ANNO 259 isReadOnlyTable Service To query a specific Agile Table object and determine if the table status is read only Usage The request object consists of class identifier object id and table identifier that identify the table The response object returns true or false for read only status of the table besides the table name and table display name Syntax IsReadOnlyTableResponseType isReadOnlyTableResponseType agileStub isReadOnlyTable new IsReadOnlyTableRequestType Basic Steps To get the read only status of a table 1 Create the request object IsReadOnlyTableRequestType for the isReadOnly operation 2 Create an array of requests of type AgilelsReadOnlyTableRequestT ype Batch operations may be performed by populating as many request objects as required to query several tables together For each batched request specify the table whose status is to be queried Tables in Agile Web Services are defined as RequestTableType objects A specific table may be identified by specifying the class identifier and table identifier attributes 5 Therequest objects are set and the agile Stub is used to make the isReadOnly Web Service call The status code obta
139. d to find a match A string input with values of either getRowld or getFileld is also passed a paramter input Depending on the value of this string either the rowld or fileld is returned by the method Set the rowld of the file that has to be checked out The request objects are set and the Agile Stub is used to make the checkOutAttachment Web Service call The status code obtained from the response object is printed to verify the success of the checkOutAttachment operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then display information about the file s checked out Java Ey setupServerLogin v9 3 0 1 143 Agile PLM Core Web Services User Manual CheckOutAttachmentRequestType checkOutAttachmentRequestType new CheckOutAttachmentRequestType AgileCheckOutAttachmentRequestType agileCheckOutAttachmentRequestType new AgileCheckOutAttachmentRequestType 1 agileCheckOutAttachmentRequestType 0 new AgileCheckOutAttachmentRequestType agileCheckOutAttachmentRequestType 0 setClassIdentifier Part agileCheckOutAttachmentRequestType 0 setObjectNumber partNumber System out println Checking out a file on the attachment tab of the part EEN er STET CheckOutAttachmentType attachments new CheckOutAttachmentType 1 attachments 0 new CheckOutAttachmentType attachments 0 setRow
140. ddFileSOAPAttachment Method ENEE 265 w Helper Methods cei tree eren e E Re ei en ep eene M Pe WERTE eine iam E Pe FERE RETE ER ERE HERI 267 Working with Java Samples The Java Sample Codes covered in this book and those available for download from eDelivery oracle com site demonstrate various usage characteristics of Agile 93 Web Services Apart from outlining the basic cases for each Web Service they also elaborate upon more specific cases that involve usage of options or mandatory message elements Download these Sample Codes in src directory They are categorized into different packages based on the type of Web Service which are AdminMetaData Attachment Business Collaboration PC Search and Table Batch files for building and running samples independent of a java IDE are also provided Building Stubs and Compiling the Samples A batch file build bat has been provided which is located in the main directory JavaWeb Servicesamples This batch file uses ant tasks to generate stubs for Agile Web Services and compiles the java sample files after generation of these stubs Along with build bat you will find a file custom properties file that specifies the basic configuration properties such as the Agile server URL username password of your user and also the URL of DFM Unless this property file is edited to reflect the values appropriate for your Agile environment you will not be able to generate stubs or run the samples After e
141. de gt SUCCESS lt statusCode gt lt attributes gt lt nodeId gt 2000004143 lt nodeld gt lt apiName gt complianceCalculatedDate lt apiName gt typeATTRIBUTE lt type gt lt displayName gt Compliance Calculated Date lt displayName gt lt dataType gt 3 lt dataType gt lt searchable gt true lt searchable gt lt visible gt true lt visible gt lt required gt false lt required gt lt maxLength gt 2147483647 lt maxLength gt lt properties gt propertyId l propertyld lt apiName gt AttType lt apiName gt lt displayName gt AttType lt displayName gt lt readOnly gt false lt readOnly gt lt AttType xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt lt AttType gt lt properties gt lt properties gt propertyId 9 propertyId lt apiName gt Visible lt apiName gt lt displayName gt Visible lt displayName gt lt readOnly gt true lt readOnly gt lt Visible xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 gt lt selection gt sida Tem lt apiName gt YES lt apiName gt lt value gt Yes lt value gt lt selection gt lt Visible gt lt properties gt lt attributes gt lt response gt 238 Agile Product Lifecycle Management Search Web Services Core Operations getSearchableAttributesResponse See also getAttributes on page 103 v9 3 0 1 239 Agile PLM Core Web Services User Manual 240 Agile Product Life
142. deResponseType node nodes AdminNodeType adminNode node getNode displayNodes adminNode SOAP x REQUESE gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getNode xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 request xmlns nodeRequest lt nodeldentifier gt 5009 lt nodeldentifier gt lt recursive gt true lt recursive gt lt nodeRequest gt lt request gt lt getNode gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS gt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getNodeResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt nodeResponse gt lt node gt lt nodeId gt 5009 lt nodeld gt lt apiName gt AutoNumbers lt apiName gt typeNODE lt type gt lt displayName gt AutoNumbers lt displayName gt lt childNode gt nodeId 990 nodeId lt apiName gt ECONumber lt apiName gt typ
143. describes a Web service has the following characteristics It is published by the service provider e Itis used by the client to format requests and interpret responses e tcan be optionally submitted to a registry or service broker to advertise a service 9 Additionally WSDL describes the following 2 Agile Product Lifecycle Management Chapter 1 Introduction to Agile PLM Web Services e The operations that are provided by a Web service e The input and output message structures for each Web service operation e The mechanism to contact the Web service XML and XML Schema A WSDL file is published an XML file Document Literal is required as part of the WG interoperability standard This standard sets the basis for modern Web service usage 8 Document The payload for an operation however complex must be defined in a single XML element o Literal The definition of single XML element must be described by an XML Schema embedded in the WSDL file When using Document Literal formatting the WSDL file will contain an XML Schema definition that defines all messages and data types that are used for a particular service The payload itself will consist entirely of XML data structures Simple Object Access Protocol SOAP SOAP is a lightweight protocol intended for exchanging structured information in a decentralized distributed environment SOAP uses XML to define an extensible messaging framework SOAP messages cons
144. ding objects that do not match a single character or any string etsi sone of rs jet in es tcn rere othe pecori Relational operators are not localized You must use English keywords regardless of locale As with other query language keywords you can use them in lower case or upper case Using Unicode Escape Sequences Agile Web Services Search operations support Unicode escape sequences The primary usage of Unicode escape sequences in a query string is to search for nonburnable or foreign local character sets A Unicode character is represented with the Unicode escape sequence uxxxx where xxxx is a sequence of four hexadecimal digits For example to search for an item with Unicode 3458 use the following query Select from Items where Description contains u3458 There is another query operation for contains usage in the case of MultiList v9 3 0 1 51 Agile PLM Core Web Services User Manual Using Between Not Between In and Not In Operators The between not between in and not in relational operators are not supported directly by Agile PLM Java and Web clients These relational operators provide a convenient shorthand method for specifying equal to not equal to greater than or equal to or less than or equal to operations with a set of values Short form Equivalent long form Number between 1 6 Number not between 01 16
145. e AgileFileAttachmentRequestType attachments new AgileFileAttachmentRequestType 1 attachments 0 new AgileFileAttachmentRequestType attachments 0 setRowId rowId int filelds new int fileldl fileld2 attachments 0 setFiles fileIds agileGetFileAttachmentRequest 0 setAttachments attachments GetFileAttachmentRequestType setRequests agileGetFileAttachmentRequest D Instead of using the fileld for obtaining a file from a row with multiple files you can also use the rowId of the files tab in the filefolder object vis a vis the desired file To download only a specific file from a set of files in a single row in the Attachment tab first set the rowld information then obtain the rowld value of the corresponding FileFolder object of the file and set the same into the files element of request object agileGetFileAttachmentRequest 0 setClassIdentifier Part agileGetFileAttachmentRequest 0 setObjectNumber partNumber agileGetFileAttachmentRequest 0 setAllFiles false AgileFileAttachmentRequestType attachments new AgileFileAttachmentRequestType 1 attachments 0 new AgileFileAttachmentRequestType attachments 0 setRowId rowId int fileIds new int fileFolderRowId1 fileFolderRowId2 attachments 0 setFiles fileIds agileGetFileAttachmentRequest 0 setAttachments attachments GetFileAttachmentRequestType setRequests agileGetFileAttachmentR
146. e date px Constants URI DEFAULT SCHEMA XSD type dateTime 42 Agile Product Lifecycle Management Chapter 4 Working with Tables messages 0 setObjectValue date row set any messages updateRow 0 setRow row agileUpdateRowsRequest 0 setRow updateRow agileUpdateRowsRequest 0 setObjectInfo table updateRowsRequestType setData agileUpdateRowsRequest Note See Appendix on page 263 for getRowId on page 267 helper method Removing Rows from a Table To remove a row from a table use the operation removeRows on page 256 operation which requires tableIdentifier rowID besides objectIdentifier objectNumber and objectInfo If a table is read only you can t remove rows from it To check the read write status of a tables see Working with ReadOnly Tables on page 35 If you are working with a released revision of an item you cannot remove a row from the item s tables until you create a change order for a new revision Example Removing a Table Row RemoveRowsRequestType removeRowsRequestType new RemoveRowsRequestType AgileRemoveRowsRequest agileRemoveRowsRequest new AgileRemoveRowsRequest 1 agileRemoveRowsRequest 0 new AgileRemoveRowsRequest RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableIdentifier ItemConstants TABLE BOM toString agileRemov
147. e gt lt soapenv Body gt lt getStatus xmlns http xmlns oracle com AgileObjects Core Collaboration V1 request xmlns lt statusRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00034 lt objectNumber gt lt statusRequest gt v9 3 0 1 187 Agile PLM Core Web Services User Manual Eid BN te lt getStatus gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getStatusResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt lt messageld xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt statusResponse gt lt identifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 6128130 lt objectId gt lt objectName gt C00034 lt objectName gt lt identifier gt lt currentStatus gt lt statusId gt 3753 lt statusId gt lt statusName gt Pending lt statusName gt lt statusDisplayName gt Pending lt statusDisplayName gt lt currentStatus gt lt nextDefaultStatus gt lt statusida3 66 lt statusid gt lt statusName gt Submitted lt
148. e Phase advancedSearchRequestType setResultAttributes new attribute2 attribute3 advancedSearchRequestType setDisplayName Search123 AdvancedSearchResponseType advancedSearchResponseType agileStub advancedSearch advancedSearchRequestType Getting the Searchable Attributes Operation getSearchableAttributes on page 237 QueryGe queryGe QueryGe queryGe QueryGe queryGe agileSt pe tSearchableAttributesRequestTyp tSearchableAttributesRequestType new tSearchableAttributesRequestType tSearchableAttributesRequestType setClassIdentifier Part tSearchableAttributesResponseTyp tSearchableAttributesResponseType ub getSearchableAttributes queryGetSearchableAttributesRequestTy v9 3 0 1 63 Chapter 6 Working with File Folders and Attachments This chapter includes the following a Managing et ee CT 65 Getting a File froma File Folder eedem ubt b ef 70 A Adding Files to a File Folder Object eiie rtt dett tede het et dee Rd d 71 mM Managing Attachments rane ener da dag b a dar iid den hg T3 This chapter describes how to work with the Agile PLM File Folders and Attachments and provides sample code snippets Agile File Folders A File Folder is a business object that specifies one or more files or URLs that are stored in the file PLM server vault In addition a file folder has its own set of tables This means that you can create and load an independent f
149. e SU CCESS getValue AgileExceptionListType agileExceptionListType deleteObjectResponseType getExceptions if agileExceptionListType null ojo as ab 10 8 i agileExceptionListType length LER AgileExceptionType exceptions agileExceptionListType i getException v9 3 0 1 167 Agile PLM Core Web Services User Manual fumes dice dj en Ma j lt exceptions length j System out println exceptions j getMessage Sample Code SOAP REUS SIE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt deleteObject xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00589 lt objectNumber gt lt requests gt lt request gt lt deleteObject gt lt soapenv Body gt lt soapenv Envelope gt gt Responses gt gt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt deleteObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt mes
150. e attachments to an Object use SOAP attachments While using SOAP attachments we create a datahandler to specify the file source and add the add the content as a soap attachment to the soap request as shown in the following example Finally the contentId is set onto AgileAddFileAttachmentRequestT ype agileAddFileAttachmentRequest 0 setClassIdentifier Part agileAddFileAttachmentRequest 0 setObjectNumber partNumber AgileAddFileAttachmentRequestType attachments new AgileAddFileAttachmentRequestType 1 ttachments 0 new AgileAddFileAttachmentRequestType ttachments 0 setName Filename txt ttachments 0 setDescription Description for file taHandler dh new DataHandler new FileDataSource c sample txt ttachmentPart ap new AttachmentPart dh gileStub addAttachment ap attachments 0 setContentId ap getContentId agileAddFileAttachmentRequest 0 setAttachments attachments agileAddFileAttachmentRequest 0 setSingleFolder false addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest DH o D DD D o DI Note This feature is supported by four operations addFileFF addFileAttachment on page 131 checkInFF on page 137 checkiInAttachment on page 147 Note See also sample AddFileSOAPAttachment on page 265 method Checking Out the Attachments Checking out an Attachment process entails obtaining the file information and making changes to t
151. e gt revision lt propertyName gt lt propertyValue gt B lt propertyValue gt lt options gt lt requests gt lt request gt lt isRedlineModi fied gt lt soapenv Body gt lt soapenv Envelope gt E Response lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isRedlineModifiedResponse xmlns http xmlns oracle com AgileObjects Core Pc V1 gt lt response xmlns gt messageId xsi nil true gt 228 Agile Product Lifecycle Management PC Web Services Core Operations Amannan a A fx AMAmA AS ent TME lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt isRedlineModified gt true lt isRedlineModified gt lt responses gt lt responses gt lt isRedlineModified gt false lt isRedlineModified gt lt responses gt lt response gt lt isRedlineModifiedResponse gt lt soapenv Body gt soapenv Envelope See also loadTable on page 259 getRowId Method on page 267 v9 3 0 1 229 Agile PLM Core Web Services User Manual 230 Agile Product Lifecycle Management Search Web Services This chapter includes the following LEM e Sr eS advancedSearch getoearchableAttribUtes ie ener ie o em emet e ee e n er e eleg tr i dee 237 qu
152. e ici e e epit detainees About Agile PLM Web Setvices tni tnde a edet tee nee e LT eii te repe Ln ended Casual User Interface Integration Examples CAD Integration through EC Services tinte ete dei De teda e f deg B ilding Casual User Interfaces sororis aaa Reed E ET TRO e TED About Service Oriented Architecture SOA Service Oriented Architecture SOA is a business centric IT architecture for building enterprise applications through adaptable and re usable business processes and services Each service implements one action such as creating a product record viewing a BOM table or updating the Price and Compliance data Leading companies are gaining operational efficiencies and business agility through adaptable re usable business processes and services built on truly flexible Service Oriented Architecture SOA platforms The guiding principles of SOA are s Self contained and loosely coupled a Well defined standards based interfaces a Right sized interfaces o Location independent and interoperable in a standards based manner 9 Implementation agnostic One SOA implementation is the Web services approach where the basic unit of communication is a message rather than an operation This is often referred to as message oriented services Web services make functional building blocks that are accessible over standard Internet protocols and independent of platforms and programming languages SOA is gaining wide customer adopt
153. e list of exceptions returned by the Web Service 8 If the Web Service call was successful then display the search results Sample Code Java v9 3 0 1 231 Agile PLM Core Web Services User Manual try setupServerLogin QuickSearchRequestType quickSearchRequestType new QuickSearchRequestType quickSearchRequestType setClassIdentifier Part quickSearchRequestType setKeywords P0 quickSearchRequestType setSearchFiles false System out println Executing quick search with the keywords quickSearchRequestType getKeywords QU ae QuickSearchResponseType quickSearchResponseType agileStub quickSearch quickSearchRequestType System out printin STATUS CODE quickSearchResponseType getStatusCode S quickSearchResponseType getStatusCode toString equals ResponseStatusCode SUC CESS getValue AgileExceptionListType agileExceptionListType quickSearchResponseType getExceptions dope ue sh Ug i agileExceptionListType length IFR af AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage P pelsen AgileTableType table quickSearchResponseType getTable displayTableContents new AgileTableType table Sample Code SOAP Reeviesi E lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas x
154. e removeRows operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java try setupServerLogin RemoveRowsRequestType removeRowsRequestType new RemoveRowsRequestType AgileRemoveRowsRequest agileRemoveRowsRequest new AgileRemoveRowsRequest 1 agileRemoveRowsRequest 0 new AgileRemoveRowsRequest 256 Agile Product Lifecycle Management Tables Web Services Core Operations Sample Code HAE ls E RACK uA mr one Ae emis test sien eec PAS oes table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableIdentifier BOM agileRemoveRowsRequest 0 setObjectInfo table agileRemoveRowsRequest 0 setRowld new Integer getRowID Part parentPartNumber BOM childPartNumber System out println Removing the row containing the part childPartNumber from the BOM table System out println of the part parentPartNumber H o Walt 6 removeRowsRequestType setRows agileRemoveRowsRequest RemoveRowsResponseType removeRowsResponseType agileStub removeRows removeRowsRequestType System out println NnSTATUS CODE removeRowsResponseType getStatusCode alae removeRowsResponseType getStatusCode toString equals ResponseStatusCode SUCC ESS getValue AgileExceptionListType agileExceptionListType removeRowsResponseType getExceptions if agileExceptionListType null
155. eNODE lt type gt lt displayName gt ECO Number lt displayName gt lt Properties gt propertyId 30 propertyId lt apiName gt Name lt apiName gt lt displayName gt Name lt displayName gt lt readOnly gt false lt readonly gt lt Name xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt ECO Number lt Name gt lt Properties gt lt Properties gt propertyId 38 propertyId lt apiName gt Description lt apiName gt lt displayName gt Description lt displayName gt 98 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations Eres csse eese dices mes T ees Description xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt ECO Number lt Description gt lt Properties gt lt childNode gt lt node gt lt nodeResponse gt lt response gt lt getNodeResponse gt soapenv Body soapenv Envelope See also getAttributes on page 103 getTableMetadata on page 107 getLists on page 100 v9 3 0 1 99 Agile PLM Core Web Services User Manual getLists Service To retrieve Agile Lists for a given List Identifier Usage The request object contains relevant details for the same The retrieved lists are obtained in the response Syntax Get Get ListsResponseType getListsResponseType agileStub getLists new ListsRequestType Basic Steps To get lists for a given list identifier 1 2 Create the request o
156. eObjects Core Attachment V1 gt lt request xmlns gt lt requests gt folderNumber FOLDER00232 folderNumber lt folderVersion xsi nil true gt lt files gt lt rowId gt 6112773 lt rowId gt lt files gt lt requests gt lt request gt lt getFileFF gt lt soapenv Body gt lt soapenv Envelope gt RSS DONS e i v9 3 0 1 125 Agile PLM Core Web Services User Manual BO A A aan meme deeem ss lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance lt soapenv Body gt lt getFileFFResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt folderNumber gt FOLDER00232 lt folderNumber gt lt folderVersion xsi nil true gt lt files gt lt rowId gt 6112773 lt rowId gt lt fileld gt 6112630 lt fileld gt lt name gt FOLDER00232 Filel23 txt lt name gt lt description gt Description for file 1 lt description gt lt fileType gt txt lt fileType gt lt fileSize gt 19 lt fileSize gt content RmlsZSBDb2502W50Li4uZmlsZQ content files responses lt response gt lt getFileFFResponse gt soapenv Body soapenv Envelope See also loadTable on page 259 getRowId Method o
157. eRowsRequest 0 setObjectInfo table agileRemoveRowsRequest 0 setRowId new Integer getRowID Part parentPartNumber BOM childPartNumber removeRowsRequestType setRows agileRemoveRowsRequest Note See Appendix for the getRowId helper method on page 267 Clearing a Table You can clear the entire table by removing all the rows This can be done by setting the tableIdentifier in the operation clearTable on page 244 Example Clearing a Table RequestTableType tablel new RequestTableType tablel setClassIdentifier Part tablel setObjectNumber partNumber v9 3 0 1 43 Agile PLM Core Web Services User Manual tablel setTableIdentifier tableAPIName agileClearTableRequestType 0 setAgileTable tablel clearTableRequestType setClearTable agileClearTableRequestType Copying Tables You can copy all the rows of a table in an Agile object to another table by using the operation copyTable on page 247 This operation requires classIdentifier objectNumber and tableIdentifier and setting of the SourceTable and TargetTable values agileCopyTableRequestType 0 new AgileCopyTableRequestType RequestTableType tablel new RequestTableType RequestTableType table2 new RequestTableType tablel setClassIdentifier Part tablel setObjectNumber partNumberl tablel setTableIdentifier Compositions table2 setClassIdentifier Part table2 setObjectNumber partNumber2
158. eSpecific of the table Web Service use the command run table addrows AddRowsSiteSpecific If no argument is passed to run bat the all the available samples will executed sequentially Note While running samples using this ant task the Agile server URL username and password properties are retrieved from the same custom properties file that was used for building stubs Executing the Samples using a Java IDE To run the sample files from a Java IDE such as JDeveloper or Eclipse create a new project or workspace in your IDE as applicable to your IDE and in your project properties modify add project source paths to include the JavaWeb Servicesamples src directory where the sample Source code is located You will also need to update your project library or classpath information to include all the necessary classes of Axis and other Agile jar files which have been used in the course of sample development Ensure that you have added all the jar files under the folders JavaWeb Servicesamples build axis and JavaWeb Servicesamples build lib to your library classpath Any sample file may now be executed by browsing through the package structure and running the desired sample Note The static variables relating to Agile server url username and password in each java sample must be modified if you choose to run the sample through an IDE Understanding the Code Each java sample file contains header documentation at the class le
159. eTable gt isReadOnlyTable false isReadOnlyTable isTableReadOnly lt isTableReadOnly gt lt agileTable gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt objectId gt 6112212 lt objectId gt lt objectName gt C00217 lt objectName gt lt tableId gt 809 lt tablelId gt tableName AffectedItems tableName lt tableDisplayName gt Affected Items lt tableDisplayName gt lt agileTable gt isReadOnlyTable false isReadOnlyTable isTableReadOnly response isReadOnlyTableResponse soapenv Body soapenv Envelope v9 3 0 1 243 Agile PLM Core Web Services User Manual clearTable Service Usage Syntax Basic Steps Sample Code To purge the contents of an Agile Table object by removing all its rows The request object consists of class identifier and table identifier Success of the operation may be verified using the status code in the response object ClearTableResponseType clearTableResponseType agileStub clearTable new ClearTableRequestType To clear a table 1 Create the request object ClearTableRequestType for the ClearTable operation 2 Create an array of requests of type AgileClearTableRequestType Batch operations may be performed by populating as many request objects as required to clear several tables 3 Foreach batched request specify the table whose contents are to be cleared Tables in Agile Web Services a
160. eType createObjectResponseType agileStub createObject createObjectRequestType System out println STATUS CODE createObjectResponseType getStatusCode if createObjectResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType 156 Agile Product Lifecycle Management Business Webservices Core Operations rojo sige a 9g i lt agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage Sample Code SOAP gt JB gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt createObject xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt data rowId 0 gt lt number gt P00585 lt number gt lt description gt Object Desc lt description gt lt data gt lt requests gt lt request gt lt createObject gt lt soapenv Body gt lt soapenv Envelope gt Responses lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soa
161. eb Service call was successful then display the attributes retrieved Sample Code Java iie di setupServerLogin GetAttributesRequestType getAttributesRequestType new GetAttributesRequestType AgileGetAttributesRequestType agileGetAttributesRequestType new AgileGetAttributesRequestType 1 agileGetAttributesRequestType 0 new AgileGetAttributesRequestType agileGetAttributesRequestType 0 setClassIdentifier Specification agileGetAttributesRequestType 0 setAttributeIdentifier new String description J getAttributesRequestType setAttributesRequests agileGetAttributesRequestType GetAttributesResponseType getAttributesResponseType agileStub getAttributes getAttributesRequestType System out println STATUS CODE getAttributesResponseType getStatusCode TAE getAttributesResponseType getStatusCode toString equals ResponseStatusCode S UCCESS getValue AgileExceptionListType agileExceptionListType getAttributesResponseType getExceptions ioo ie al 9g i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException v9 3 0 1 103 Agile PLM Core Web Services User Manual En fant A Wa ts A lo AAA Hinana TI sn ek La e j System out println exceptions j getMessage AgileWarningListType agileWarningListType getAttributesResponseType getWarnings if agileWarningListType null
162. ecify the type of object that will be updated and an object number to identify the unique object 4 The actual data to be updated is specified in the form of message elements which are set into the any field of AgileRowType elements 5 Basedon this message element the Description field of the specified agile object will be updated with a new value 6 The data field of the request object is updated with the new row data The request objects are set and the Agile Stub is used to make the updateObject Web Service call The status code obtained from the response object is printed to verify the success of the updateObject operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Java Ier A setupServerLogin UpdateObjectRequestType updateObjectRequestType new UpdateCbjectRequestType AgileUpdateObjectRequest agileUpdateObjectRequest new AgileUpdateObjectRequest 1 agileUpdateObjectRequest 0 new AgileUpdateObjectRequest agileUpdateObjectRequest 0 setClassIdentifier Part agileUpdateObjectRequest 0 setObjectNumber partNumber System out println Updating part partNumber Xn AgileRowType rows new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null messages 0 new MessageElement namespaceUri description messages 0 addTextNode Updated value of Doc Description rows set any
163. ected items table of the part changeNumber n agileClearTableRequestType 0 setAgileTable tablel agileClearTableRequestType 1 setAgileTable table2 clearTableRequestType setClearTable agileClearTableRequestType ClearTableResponseType clearTableResponseType agileStub clearTable clearTableRequestType SyStem out print nC STATUS CODES T clearTableResponseType getStatusCode AE clearTableResponseType getStatusCode toString equals ResponseStatusCode SUCC ESS getValue AgileExceptionListType agileExceptionListType clearTableResponseType getExceptions ore tio 108 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length jen System out println exceptions j getMessage ASES A System out print tablel getTableldentifier Th ge Dd tablel getObjectNumber System out println was successfully cleared System out print table2 getTableldentifier Ree qa table2 getObjectNumber System out println was successfully cleared Sample Code SOAP Request lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt clearTable xmlns http xmlns oracle com AgileObject
164. ed from a Web Service call to the the service getAutoNumber 5 The request objects are set and the Agile Stub is used to make the SaveAsObject Web Service call 6 The status code obtained from the response object is printed to verify the success of the saveAsObject operation 7 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java try setupServerLogin SaveAsObjectRequestType saveAsObjectRequestType new SaveAsObjectRequestType AgileSaveAsObjectRequestType agileSaveAsObjectRequestType new AgileSaveAsObjectRequestType 2 roja ene a 019 i agileSaveAsObjectRequestType length i agileSaveAsObjectRequestType i 176 Agile Product Lifecycle Management Business Webservices Core Operations See AS eae Rite Yi Weg agileSaveAsObjectRequestType 0 setParentClassIdentifier Part agileSaveAsObjectRequestType SetParentObjectNumber partNumberl agileSaveAsObjectRequestType setNewClassIdentifier Part agileSaveAsObjectRequestType setParentClassIdentifier Part agileSaveAsObjectRequestType SetParentObjectNumber partNumber2 agileSaveAsObjectRequestType 1 setNewClassIdentifier Part System out println Saving part EE qe UY eis VAL ae newPartNumber using a message element to specify the new part 0 0 1 H System out println and saving part partNumber2 using an autonumber source t
165. ede Pe Herd rd cde Pa oed 43 x Clearing a Tableau ded oe Pe told be Hed corde oe Pd een 43 VE eelere HEET 44 W EE A4 This chapter describes how to work with the Agile PLM Table and provides sample code snippets About Tables Agile data is contained in tables In Agile Web Client these tables are equivalent to the separate tabs in a window such as the Manufacturers and BOM tabs The Agile Web Services do not support random access of rows to a table This means that you cannot retrieve a specific row by index number and then update it Operations Supported on Tables Web Services supports table operations for Agile PLM s PC and PQM solutions PC Table Name Objects Web Services API TEE E loadTable isReadOnlyTable Changes Item Changes Change ltem loadTable isReadOnlyTable History Item BOM Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Item Manufacturers Item loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows v9 3 0 1 31 Agile PLM Core Web Services User Manual Item Sites Item Prices Item Quality Item Compliance Compositions Item Compliance Substances Item Compliance Specifications Item Relationships Item Where Used Changes Affected Items Table Changes Al Redline Title Block Changes Al Redline BOM Changes Al Redline Manufacturers Changes Al Redline Attachments Changes Relationships Mfrs Relationships
166. eloping some the UI integration examples in MS Office and Oracle Web Center and ADF environments Developing User Interfaces for MS Office Microsoft supports building UI integration interfaces by providing the Microsoft Office Add in a piece of code for this purpose MS Office Add in support integration at Application level and document level To develop the MS Word Add in with PLM the following tools and applications are necessary o Application software Microsoft Visual Studio 2005 2008 e Dot NET framework 3 5 e Agile PLM v9 3 or above server Microsoft Word 2003 2007 a Programming languages e CH e Visual Basic for NET e Microsoft Visual C ATL o Plug in templates e Shared Add in Extensibility template v9 3 0 1 9 Agile PLM Core Web Services User Manual Note The Shared Add in Extensibility templates are used to deploy a single add in onto multiple Microsoft Office applications common add ins across Word Excel and other office applications This Add in is always installed only at the application level e Office 2003 2007 Add in template Steps in developing an MS Office Add in 1 Evaluate Add in type application level versus document level 2 Evaluate programming language C Visual Basic 3 Create a project in Microsoft Visual Studio 2005 2008 4 Generate the CZ Visual Basic Stubs from Agile WSDL For information on Stubs see Generating and Initializing the Stubs on page 15 e Create Wind
167. emove people from the list of approvers or observers To add or remove approvers or Observers a user must have both the Agile Product Change Server license and the Route privilege You don t need to load the Workflow table to modify the list of approvers Once you have a routable v9 3 0 1 83 Agile PLM Core Web Services User Manual object such as an ECO you can modify its list of approvers using the operation addApprovers on page 208 and the operation removeApprovers on page 211 With these operations you can specify the lists of approvers and observers whether the notification is urgent and an optional comment The Agile Web Services provides overloaded operations for adding or removing a user or a user group from the list of approvers If any users you select as approvers or observers do not have appropriate privileges to view a change your program throws an Exception on page 20 To avoid the possible exception check the privileges checkPrivilege on page 179 of each user before adding him to the approvers or Observers list Example Adding an Approver or Observer agileAddApproversRequestType 0 setClassIdentifier ECO agileAddApproversRequestType 0 setObjectNumber changeNumber agileAddApproversRequestType 0 setStatusIdentifier CCB AgileUserUserGroupIdentifierType users new AgileUserUserGroupIdentifierType 2 users 0 setClassIdentifier User users 0 setObjectIdentifier userl user
168. en the check attachmen agileChec agileChec checkInAt pe Note tachmentRequestTyp tachmentRequestTyp checkInAttachmentRequestTyp 0 new kInAttachmentRequestType agileCheckInAttachmentRequestTypel CheckInAttachmentRequestType 1 kInAttachmentRequestType 0 new kInAttachmentRequestTyp InAttachmentRequestTyp kInAttachmentRequestTyp 0 0 setClassIdentifier Part 0 setObjectNumber partNumber tachmentType attachments new CheckInAttachmentType 1 ts 0 new CheckInAttachmentType ts 0 setFileName Modified fileName 0 ts 0 setFileContent Modified file information added after in getBytes ts 0 setFileld fileId kInAttachmentRequestTyp kInAttachmentRequestTyp tachmentRequestTyp 0 setAttachments attachments 0 setRowId rowId setRequest agileCheckInAttachmentRequestTy See sample helper methods v9 3 0 1 79 Agile PLM Core Web Services User Manual Deleting the Attachments Deleting an attachment is carried out using the operation removeRows on page 256 See Removing Rows from a Table on page 43 for examples 80 Agile Product Lifecycle Management Chapter 7 Managing Workflows This chapter includes the following Getting the Status of a Workflow AAA 82 Getting the Workflow of a Routable Obert 82 AEN ale EE ER m Checking User Privileges cion ao 83 Adding and Removing Approvers cocc
169. entRequest agileAddFileAttachmentRequest 0 setClassIdentifier Part agileAddFileAttachmentRequest 0 setObjectNumber partNumber System out println Adding an attachment to the part Pare AgileAddFileAttachmentRequestType attachments new AgileAddFileAttachmentRequestType 1 attachments 0 new AgileAddFileAttachmentRequestType attachments 0 setName Filename txt attachments 0 setDescription Description for file v9 3 0 1 131 Agile PLM Core Web Services User Manual Bie AR YA metra estes cases E ense Ns S55 EN agileAddFileAttachmentRequest 0 setAttachments attachments agileAddFileAttachmentRequest 0 setSingleFolder false addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest AddFileAttachmentResponseType addFileAttachmentResponseType agileStub addFileAttachment addFileAttachmentRequestType system outoprintlni inSTATUS CODES t addFileAttachmentResponseTy pe getStatusCode ALTE laddFileAttachmentResponseType getStatusCode toString equals ResponseStatusCo de SUCCESS getValue AgileExceptionListType agileExceptionLis addFileAttachmentResponseType getExcep agileExceptionListType null ojo bate i OF i agileExcept See wd AgileExcep agileExceptionListType i Gites 9j e 0 j exceptions length j System out println Exception Id tType tions if ionListType length tionType e
170. eps To create an Agile Object 1 Create the request object CreateObjectRequestT ype for the createObject operation 2 Create an array of requests of type AgileCreateObjectRequest Batch operations may be performed by populating as many request objects as required to create several new objects simultaneously Specify the type of object to be created in each of the request objects Create a row of type AgileRowType to set the data for the request objects Create an array of message elements to specify various attributes for the new object 6 The API name Number is used to identify that this message pertains to the object number for the new object A textNode is then added with the actual value of the object number Similarly the Description forthe new object is specified 7 The Agile row is updated with the content of these message elements and each request object is updated with the values of their respective Agile rows Similarly the next createObject request is also populated with data v9 3 0 1 155 Agile PLM Core Web Services User Manual 8 Therequest objects are set and the Agile Stub is used to make the createObject Web Service call The status code obtained from the response object is printed to verify the success of the createObject operation 9 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java iets ME setupServerLogin CreateObjectRequ
171. eptions returned by the Web Service Java ipie d setupServerLogin SendObjectRequestType sendObjectRequestType new SendObjectRequestType AgileSendObjectRequest agileSendObjectRequest new AgileSendObjectRequest 1 agileSendObjectRequest 0 new AgileSendObjectRequest agileSendObjectRequest 0 setClassIdentifier Part agileSendObjectRequest 0 setObjectNumber partNumber System out println Sending part partNumber to user ASEO d EU DA S AgileUserUserGroupIdentifierType users new AgileUserUserGroupIdentifierType 1 users 0 new AgileUserUserGroupIdentifierType users 0 setClassIdentifier User users 0 setObjectIdentifier userObj agileSendObjectRequest 0 setSendTo users agileSendObjectRequest 0 setComments Test comments 174 Agile Product Lifecycle Management Business Webservices Core Operations Sample Code See also agileStub sendObject sendObjectRequestType System out println STATUS CODE sendObjectResponseType getStatusCode alae sendObjectResponseType getStatusCode toString equals ResponseStatusCode SUCC ESS getValue AgileExceptionListType agileExceptionListType sendObjectResponseType getExceptions if agileExceptionListType null for int se 9p i agileExceptionListType length o i AgileExceptionType exceptions agileExceptionListType i getException tor unte 07 j lt exceptions length
172. equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType approveRObjectResponseType getExceptions if agileExceptionListType null v9 3 0 1 199 Agile PLM Core Web Services User Manual En fant 3 IE i agileExceptionListType length LERN E AgileExceptionType exceptions agileExceptionListType i getException On 09 j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType approveRObjectResponseType getWarnings if agileWarningListType null Tor ae UE i agileWarningListType length TI AgileWarningType warnings agileWarningListType i getWarning one Gate wj Os j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage iy Gals di System out print The object agileApproveRObjectRequestType 0 getObjectNumber System out println was successfully approved using the Web Service call Sample Code SOAP gt Revues lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt approveRObject xmlns http xmlns o
173. equest Note See Appendix on page 263 for sample helper methods Getting a Specific Attachment using a URL GetFileAttachmentRequestType GetFileAttachmentRequestType new GetFileAttachmentRequestType AgileGetFileAttachmentRequest agileGetFileAttachmentRequest new AgileGetFileAttachmentRequest 1 agileGetFileAttachmentRequest 0 agileGetFileAttachmentRequest 0 setClassIdentifier Part 0 setObjectNumber partNumber new AgileGetFileAttachmentRequest agileGetFileAttachmentRequest 74 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments agileGetFileAttachmentRequest 0 setAllFiles false agileGetFileAttachmentRequest 0 setDownloadUrl true AgileFileAttachmentRequestType attachments new AgileFileAttachmentRequestType 1 attachments 0 new AgileFileAttachmentRequestType attachments 0 setRowId rowId agileGetFileAttachmentRequest 0 setAttachments attachments GetFileAttachmentRequestType setRequests agileGetFileAttachmentRequest DH Note See Appendix on page 263 for sample helper methods Adding Attachments to an Object When you add a file or a URL to the Attachments table of a business object the server automatically creates a new file folder containing the associated file or URL The new row on the Attachments table references the new file folder Use the operation addFileAttachment on page
174. equestType System out println STATUS CODE getUserGroupsResponseType getStatusCode EE getUserGroupsResponseType getStatusCode toString equals ResponseStatusCode S UCCESS getValue AgileExceptionListType agileExceptionListType getUserGroupsResponseType getExceptions ojo Grote ak 9p i lt agileExceptionListType length aber af AgileExceptionType exceptions agileExceptionListType i getException TOMA EE EE j System out println exceptions j getMessage j cl A AgileUserGroupType userGroups getUserGroupsResponseType getUsergroups if userGroups null for int j 0 j lt userGroups length See Al 116 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations U 7 SerGroups get any if messages null for ist Ji 0 jj lt messages length aja 2 System out print messages jjl getTagName gt if messages jjl getFirstChild null System out println messages jjl getFirstChild getNodeValue else System out println Sample Code SOAP gt gt REGUESE gt lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getUserGroups xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 requ
175. er gt lt listsResponse gt lt response gt lt getListsResponse gt lt soapenv Body gt lt soapenv Envelope gt See also getNode on page 97 getTableMetadata on page 107 getAttributes on page 103 102 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations getAttributes Service To retrieve Agile attributes for a particular Class and Attribute Identifier Usage The request object contains relevant details for the same The retrieved list attributes are obtained in the response Syntax GetAttributesResponseType getAttributesResponseType agileStub getAttributes new GetAttributesRequestType Basic Steps To retrieve attributes 1 Create the request object GetAttributesRequestT ype for the getAttributes operation 2 Create an array of requests of type AgileGetAttributesRequestT ype Batch operations may be performed by populating as many request objects as required to retrieve several attributes 3 Foreach batched request specify the type of object whose attributes will be retrieved Also specify the attribute which will be retrieved 4 Therequest objects are set and the Agile Stub is used to make the getAttributes Web Service call The status code obtained from the response object is printed to verify the success of the getAttributes operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the W
176. eroperability between systems 9 Integration Web services facilitate flexible integration solutions particularly if you are connecting applications on different platforms or written in different languages 9 Modularity Web services offer a modular approach to programming Each business function in an application can be exposed as a separate Web service Smaller modules reduce errors and result in more reusable components o Accessibility Business services can be completely decentralized They can be distributed over the Internet and accessed by a wide variety of communications devices o Efficiency Web services constructed from applications meant for internal use can be used for externally without changing code Incremental development using Web services is relatively simple because Web services are declared and implemented in a human readable format Core Technologies Oracle s Agile Web services use industry standard core technologies The bulleted list that follows lists these technologies Each core technology is explained in detail in the topics that follow a Web Services Description Language WSDL 8 XML and XML Schema s Simple Object Access Protocol SOAP Web Services Description Language WSDL WSDL is an XML based format for describing the interface of a Web service WSDL describes the endpoints location protocol binding operations parameters and data types of all aspects of a Web service 8 The WSDL that
177. es the list The request objects are set and the Agile Stub is used to make the commentRObject Web Service call The status code obtained from the response object is printed to v operation returned by the Web Service If the Web Service call was su Sample Code Java Vat setupServerLogin CommentRObjectRequestType commentRObjectRequestType new CommentRObjectRequestType AgileCommentRObjectRequestType agi new AgileCommentRObjectRequest agileCommentRObjectRequestType 0 new AgileCommentRObjectReq agileCommentRObjectRequestType 0 agileCommentRObjectReques agileCommentRObjectReques agileCommentRObjectReques agileCommentRObjectReques agileCommentRObjectReques System out println Commenting on changeNumber erify the success of the commentRObject If the status code is not SUCCESS then populate the list of exceptions ccessful confirm the same leCommentRObjectRequestType Type 1 uestType setClassIdentifier ECO SetObjectNumber changeNumber setComment Comment setNotifyOriginator true setNotifyChangeAnalyst true SetNotifyCCB true the change object JUI Ways 214 Agile Product Lifecycle Management Collaboration Web Services Core Operations Sample Code AgileUserUserGroupIdentifierType notifyList new Ari en TT en e rf e RO Av TAanti E e ss TI TI e notifyList 0 new AgileUserUserGroupIdentifierType notifyList
178. es User Manual EE lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00074 lt objectNumber gt lt statusIdentifier gt CCB lt statusIdentifier gt lt approvers gt lt classIdentifier gt 11610 lt classIdentifier gt lt objectIdentifier gt User11239100555679 lt objectIdentifier gt lt approvers gt lt approvers gt lt classIdentifier gt 11610 lt classIdentifier gt lt objectIdentifier gt User21239100555679 lt objectIdentifier gt lt approvers gt lt urgent gt false lt urgent gt lt comment gt Comments lt comment gt lt addApproversRequest gt lt request gt lt addApprovers gt lt soapenv Body gt lt soapenv Envelope gt gt Jl SS lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addApproversResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt addApproversResponse gt soapenv Body lt soapenv Envelope gt See also getWorkFlows on page 183 getStatus on page 186 210 Agile Product Lifecycle Management Collaboration Web Services Core Operations removeApp
179. esponse gt lt checkOutFFResponse gt lt soapenv Body gt soapenv Envelope See also getRowId Method on page 267 loadTable on page 259 136 Agile Product Lifecycle Management Attachment Web Services Core Operations checklnFF Service Usage Syntax Basic Steps Sample Code To check in an Agile File Folder Object The request object specifies the file folder that has already been checked out and needs to be checked in by the Web Service operation CheckInFFResponseType CheckInFFResponseType agileStub checkInFF new CheckInFFRequestType To check in an Agile File Folder 1 After a file folder has been checked out and desired modifications have been carried out the file folder object must be checked in to reflect the changes in it The checkinFF Web Service is used to achieve the same 2 Create the request object CheckInFFRequestType for the ChecklnFF operation Create an array of requests of type AgileCheckInFFRequestTypeType Batch operations may be performed by populating as many request objects as required to add checkin several folders simultaneously 3 Foreach batched request specify the unique folder that will be checked in by the Web Service operation Supply the folder number for the same 4 Therequest objects are set and the agile Stub is used to make the ChecklnFF Web Service call The status code obtained from the response object is printed to verify the success of the Check
180. esponseType addRowsResponseType agileStub addRows addRowsRequestType System out println STATUS CODE addRowsResponseType getStatusCode AE addRowsResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType addRowsResponseType getExceptions mois Gua gt 09 i agileExceptionListType length ERE d AgileExceptionType exceptions agileExceptionListType i getException for int J 0 j lt exceptions length jen System out println exceptions j getMessage pelse System out print table getTableIdentifier Voz A table getObjectNumber System out println was updated with the specified row s SOAP ECU S xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addRows xmlns http xmlns oracle com AgileObjects Core Table V1 lt request xmlns gt lt data gt lt objectInfo gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00218 lt objectNumber gt lt tableldentifier gt 809 lt tableldentifier gt objectInfo row rowId 0 lt key1054 attributeld 1054 gt P00713 lt key1054 gt lt row gt lt data gt lt request gt lt addRows gt lt soapenv Body gt lt soapenv E
181. essfully checked out AgileCheckOutFFResponse responses checkOutFFResponseType getResponses if responses null for int i 0 i lt responses length i EISEN Eesen ab p dL ep Ue CUP up responses i getFolderNumber Sample Code SOAP Request xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkOutFF xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt request xmlns gt lt requests gt folderNumber FOLDER00214 folderNumber lt requests gt lt request gt lt checkOutFF gt lt soapenv Body gt lt soapenv Envelope gt Res PONS Cg lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkOutFFResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt v9 3 0 1 135 Agile PLM Core Web Services User Manual PARA AA lt folderNumber gt FOLDER00214 lt folderNumber gt lt responses gt lt r
182. est xmlns gt lt getUserGroups gt soapenv Body soapenv Envelope gt RESPONSE lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getUserGroupsResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt getUserGroupsResponse gt soapenv Body soapenv Envelope See also getUsers on page 113 v9 3 0 1 117 Agile PLM Core Web Services User Manual convertCurrency Service To convert a certain denomination and amount of money to a desired currency Usage It converts a currency from one type to another given a certain date The money is expressed as an object of type AgileMoneyType The converted currency is obtained through the response object Syntax ConvertCurrencyResponseType convertCurrencyResponseType agileStub convertCurrency new ConvertCurrencyRequestType Basic Steps To convert a currency 1 Create the request object ConvertCurrencyRequestType for the convertCurrency operation 2 Create an array of requests of type AgileGetAttributesRequestT ype Batch operations may be performed by populating as many request o
183. estType createObjectRequestType new CreateObjectRequestType AgileCreateObjectRequest agileCreateObjectRequest new AgileCreateObjectRequest 2 OR ab Op i agileCreateObjectRequest length i agileCreateObjectRequest i new AgileCreateObjectRequest System out println Creating a document documentNumber Mme pos E partNumber using API names n agileCreateObjectRequest 0 setClassIdentifier Document agileCreateObjectRequest 1 setClassIdentifier Part AgileRowType row 1 new AgileRowType MessageElement messages l new MessageElement 2 String namespaceUri null String COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 messages 1 0 new MessageElement namespaceUri number messages 1 0 addTextNode documentNumber messages 1 1 new MessageElement namespaceUri description messages 1 1 addTextNode Doc Desc row l set any messages 1 agileCreateObjectRequest 0 setData row 1 AgileRowType row 2 new AgileRowType MessageElement messages 2 new MessageElement 2 messages 2 0 new MessageElement namespaceUri Zenter y3 messages 2 0 addTextNode partNumber messages 2 1 new MessageElement namespaceUri description messages 2 1 addTextNode Part Desc row 2 set any messages 2 agileCreateObjectRequest 1 setData row 2 createObjectRequestType setRequests agileCreateObjectRequest CreateObjectRespons
184. estType getWorkflowsRequestType new GetWorkflowsRequestType AgileGetWorkflowsRequestType agileGetWorkflowsRequestType new AgileGetWorkflowsRequestType 1 1 agileGetWorkflowsRequestType 0 new AgileGetWorkflowsRequestType agileGetWorkflowsRequestType 0 setClassIdentifier ECO agileGetWorkflowsRequestType 0 setObjectNumber changeNumber getWorkflowsRequestType setWorkflowRequest agileGetWorkflowsRequestType Setting a Workflow If a change is still in the Pending state you can deselect a workflow to make the change unassigned using the operation setWorkFlow on page 205 and specifying the setWorkFlowldentifier parameter As long as a change is in the Pending status you can select a different workflow Once a change moves beyond the Pending status you can t change the workflow Example Setting a WorkFlow 82 Agile Product Lifecycle Management Chapter 7 Managing Workflows SetWorkFlowRequestType setWorkFlowRequestType new SetWorkFlowRequestType AgileSetWorkFlowRequestType agileSetWorkFlowRequestType new AgileSetWorkFlowRequestType 1 1 0 new AgileSetWorkFlowRequestType 0 0 agileSetWorkFlowRequestTyp setClassIdentifier ECO setObjectNumber changeNumber 0 setWorkFlowIdentifier workflow setWorkFlowRequestType setSetWorkFlowRequest agileSetWorkFlowRequestTyp e agileSetWorkFlowRequestType agile
185. et of approvers that have to added Such a set of user information is expressed as an object of type AgileUserUserGroupldentifierType Object and Class identifiers are set for each of these objects to denote user information 5 Therequest objects are set and the Agile Stub is used to make the changeStatus Web Service call The status code obtained from the response object is printed to verify the success of the changeStatus operation 6 Ifthe status code is not success by the Web Service Sample Code JAVA iie d setupServerLogin then populate the list of exceptions returned ChangeStatusRequestType changeStatusRequestType new ChangeStatusRequestType AgileChangeStatusRequest new eie uM D de Ini agileChangeStatusRequestType 0 Type agileChangeStatusRequestType 1 new EEN agileChangeStatusRequestType 0 agileChangeStatusRequestType 0 agileChangeStatusRequestType 0 System out println Changing status of change changeNumber to 5 Wal E newStatus setClassIdentifier ECO setObjectNumber changeNumber SetNewStatusIdentifier newStatus moy moy AgileUserUserGroupIdentifierType users new AgileUserUserGroupIdentifierType l1 users 0 new AgileUserUserGroupIdentifierType users 0 users 0 SetClassIdentifier User setObjectIdentifier userl agileChangeStatusRequestType 0 SetApprovers users v9 3 0 1 195 Agile PLM Core Web Services
186. etAllClassesRequestType getAllClassesRequestType new GetAllClassesRequestType getAllClassesRequestType setLevel ClassFilterType ALL Getting the Subclasses Although you can retrieve all Subclasses by using the operation getAllClasses on page 91 with ClassFilterType filter you may require Subclasses of a particular Class This can be achieved by using the operation getSubClasses on page 94 in which you can specify the Agile API name of the desired Class ClassType objects are obtained from the resposne Example Getting all Subclasses of the Class Changes GetSubClassesRequestType getSubClassesRequestType new GetSubClassesRequestType AgileGetSubClassesRequestType agileGetSubClassesRequestType new AgileGetSubClassesRequestType 1 agileGetSubClassesRequestType 0 setClassIdentifier Changes 30 Agile Product Lifecycle Management Chapter 4 Working with Tables This chapter includes the following Operations Supported on Tables irc edente tere Terni e Pear ec t ER e a 31 Loading ja Table inrer aet A Lender eee deae d isa e eire h dt 33 A Working with the Readonly Tables tesi De tede cie t nde i De br dea rdg 35 Retrieving the Metadata of a Table ee EEN EEN de rt det tdi 35 Adding Rows to a Table ace dni decia itii e De he t t d De ede ze egt 35 w Dpdatirig Rows ina Tables aote a oot ere nr ote oe date 42 Removing Rows Toma Fabo inserted Ce Pe
187. etNodeValue else System out println Sample Code SOAP REQUEST gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getUsers xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt request xmlns gt lt getUsers gt lt soapenv Body gt lt soapenv Envelope gt Res DON Sg lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getUsersResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt users gt lt objectIdentifier gt lt Cclassid gt 11610 lt classid gt lt className gt User lt className gt lt classDisplayName gt User lt classDisplayName gt lt objectId gt 704 lt objectId gt lt objectName gt admin lt objectName gt lt objectIdentifier gt lt userID xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeId 11617 readOnly False gt admin lt userID gt lt status xsi type common AgileListEntryType xmlns
188. etTableIdentifier TitleBlock PropertyType properties new PropertyType 1 properties 0 new PropertyType properties 0 setPropertyName SchemaConstants revision getValue properties 0 setPropertyValue partVersion table 0 setOptions properties loadTableRequestType setTableRequest table Example Loading a Table for a Redline Change table 0 new RequestTableType table 0 setClassIdentifier Part table 0 setObjectNumber partNumber table 0 setTableIdentifier TitleBlock PropertyType properties new PropertyType 1 properties 0 new PropertyType properties 0 setPropertyName SchemaConstants redline change getValu eil properties 0 setPropertyValue changeNumber table 0 setOptions properties loadTableRequestType setTableRequest table 34 Agile Product Lifecycle Management Chapter 4 Working with Tables Example Loading a Table for a Site Object table 0 new RequestTableType table 0 setClassIdentifier Part table 0 setObjectNumber parentPartNumber table 0 setTableIdentifier BOM PropertyType properties new PropertyType l1 properties 0 new PropertyType properties 0 setPropertyName SchemaConstants site getValue properties 0 setPropertyValue sitel table 0 setOptions properties loadTableRequestType setTableRequest table Working with the Readonly Tables Several Agile PLM tables store hi
189. fier Dee Da tablel getObjectNumber System out println was successfully copied onto System out println table2 getTableIdentifier Ui eye Wh ou table2 getObjectNumber SOAP gt REJUESt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt copyTable xmlns http xmlns oracle com AgileObjects Core Table V1 lt request xmlns gt lt copyTable gt lt sourceTable gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00709 lt objectNumber gt lt tableldentifier gt 2000001404 lt tableldentifier gt lt sourceTable gt lt targetTable gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00710 lt objectNumber gt lt tableldentifier gt 2000001404 lt tableldentifier gt lt targetTable gt lt copyTable gt lt request gt lt copyTable gt lt soapenv Body gt lt soapenv Envelope gt Res DON SC lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt copyTableResponse xmlns http xmlns oracle com AgileObjects Core Table V1 248 Agile Product Lifecycle Mana
190. fierT ype Set the privilege that has to be queried from the privileges available to the specified user AgilePrivilegeType is used to specify a privilege AgilePrivilegeType value1 in the given sample code refers to the Comment privilege which is a constant defined in Business Services Schema 4 As an optional specification the class identifier and object number may also be specified to identify a particular Agile Object for whose specific privileges the user details are queried 5 Therequest objects are set and the Agile Stub is used to make the CheckPrivilege Web Service call The status code obtained from the response object is printed to verify the success of the checkPrivilege operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 Obtain the object CheckPrivilegeType from the response object The getCheckPrivilege method on this object will yield a boolean value indicating whether the user has the specified privilege Java try setupServerLogin CheckPrivilegeRequestType checkPrivilegeRequestType new CheckPrivilegeRequestType AgileCheckPrivilegeRequestType agileCheckPrivilegeRequestType new AgileCheckPrivilegeRequestType 1 agileCheckPrivilegeRequestType 0 new AgileCheckPrivilegeRequestType AgileUserIdentifierType user new AgileUserIdentifierType user setUserIdentifier admin agileCheckPrivilegeRequestType 0 setUserIdentification
191. file being checked in must have the same extension as that of the file that was checked out 5 The helper method getRowId on page 267 used in this sample code helps to obtain the rowld or fileld of a particular row when its filename is given This method utilizes the table Web Services to issue a call for the operation loadTable on page 259 after which the message elements of all rows are searched to find a match A string input with values of either getRowld or getFileld is also passed a paramter input Depending on the value of this string either the rowld or fileld is returned by the method 6 Setthe rowld into which the file will be checked in The request objects are set and the Agile Stub is used to make the checkInAttachment Web Service call The status code obtained from the response object is printed to verify the success of the checklnAttachment operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then state the same Java try v9 3 0 1 147 Agile PLM Core Web Services User Manual mi sacks barres ear esed o CheckInAttachmentRequestType checkInAttachmentRequestType new CheckInAttachmentRequestType AgileCheckInAttachmentRequestType agileCheckInAttachmentReque new AgileCheckInAttachmentRequestType 1 agileCheckInAttachmentRequestType 0 new AgileCheckInAttachmentRequestType stTypel
192. filename is used as the key to identify a row Search all the rows available in the attachment table and compare all message elements with tag names filename with the filename specified by the client looking for a match Once a match is found the rowld information is derived from the row and returned Compare all filename message elements searching for a match with the filename specified by the user If a match is found return either the fileld or rowld based on the requirement getValueFromSelection is a method written in this sample that handles all message elements of type AgileListEntryType Since filename is a message element of AgileListEntryType the values are elicited by this method v9 3 0 1 267 Agile PLM Core Web Services User Manual Handle all AgileListEntryType message elements cycle through the selection element obtain the actual selection value and the selection Id and add it to a HashMap Here the selection value denotes the filename while the selection Id denotes the fileld In the case of Filefolders the message element for file name is not an AgileListEntryType The value may be obtained directly Basic Steps To get a Row ID 1 Create the request object LoadTableRequestType for the loadTable operation 2 Foreach request specify the table to which the row belongs Tables in Agile Web Services are defined as RequestTableType objects A specific table may be identified by specifying the class ident
193. folder back are possible after this step CheckOutFFResponseType checkOutFFResponseType agileStub checkOutFF new CheckOutFFRequestType To check out an Agile File Folder object Before adding a new file to a folder the folder object must be checked out prior to any file operation The checkout Web Service is used to achieve this 1 Create the request object CheckOutFFRequestT ype for the CheckOutFF operation Create an array of requests of type AgileCheckOutFFRequestTypeT ype Batch operations may be performed by populating as many request objects as required to add checkout several folders simultaneously 2 Foreach batched request specify the unique folder that will be checked out by the Web Service operation Supply the folder number for the same 3 Therequest objects are set and the Agile Stub is used to make the CheckOutFF Web Service call The status code obtained from the response object is printed to verify the success of the CheckOutFF operation 4 If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service 5 fthe Web Service call was successful then list the folders checked out Java try setupServerLogin CheckOutFFRequestType checkOutFFRequestType new CheckOutFFRequestType AgileCheckOutFFRequest agileCheckOutFFRequest new AgileCheckOutFFRequest 1 agileCheckOutFFRequest 0 new AgileCheckOutFFRequest agileCheckOutFFRequest 0 setFolderNu
194. ge catch Exception ex ex printStackTrace j return 1 public static int findFileld AgileTableType tables String filename if tables null for int i 0 i lt tables length i AgileRowType rows tables il getRow if rows null for int j 0 j rows length j v9 3 0 1 271 Agile PLM Core Web Services User Manual AA e e o TRlAmaAnt T TI mannawan A fA13 nt antri a for int m 0 m messages length m axe messages m getName toString equalsIgnoreCase filename HashMap fileValues getValuesFromSelection messages m for HashMap fileValue fileValues if fileValue get filename equals filename System out println File Id successfully retrieved return Integer fileValue get fileid y return 0 public static HashMap getValuesFromSelection MessageElement element HashMap fileValues null if element getType getLocalPart equals AgileListEntryType AgileListEntryType list AgileListEntryType element getObjectValue SelectionType selection list getSelection fileValues new HashMap selection length for int i20 i lt selection length i fileValues i new HashMap fileValues i put filename selection i getValue fileValues i put fileid selection i getId else fileValues new HashMap 1 fileValues 0 new HashMap fileValues 0 put filename e
195. gement Tables Web Services Core Operations Seeche lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt copyTableResponse gt soapenv Body soapenv Envelope See also loadTable on page 259 clearTable on page 244 v9 3 0 1 249 Agile PLM Core Web Services User Manual addRows Service To add rows in an Agile Table object Usage Uses details of the new row and the table The request object is built using rowld and objectlnfo Success of the operation is verified using the status code in the response object Syntax AddRowsResponseType addRowsResponseType agileStub addRows new AddRowsRequestType Basic Steps To add a row in a table 1 Create the request object AddRowsRequestType for the addRows operation 2 Create an array of requests of type AgileAddRowsRequestType Batch operations may be performed by populating as many request objects as required to add several rows 3 For each batched request specify the table in which the new rows have to be added 4 Using the addRows Web Service we add a child element to a Part by adding rows to the BOM table of the parent object Tables in Agile Web Services are defined as RequestTableType objects A specific table may be identified by specifying the class identifier and table identifier attributes as shown Rows in Agile are defined as AgileRowType objects Here message elements may be used to specify the row
196. getCheckPrivilege SOAP REA xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkPrivilege xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt request xmlns gt lt requests gt lt userIdentification gt lt userIdentifier gt admin lt userIdentifier gt lt userIdentification gt lt privilege gt 1 lt privilege gt classIdentifier Part classIdentifier lt objectNumber gt P00585 lt objectNumber gt lt requests gt lt request gt lt checkPrivilege gt lt soapenv Body gt lt soapenv Envelope gt RSS DONS eM lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt 180 Agile Product Lifecycle Management Business Webservices Core Operations xmlns http xmlns oracle com AgileObjects Core Business V1 response xmlns gt messageId xsi nil true messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt userIdentification gt userIdentifier admin userIdentifier userIdentification privilege lt privilege gt 1 lt privilege gt lt chec
197. getNewStatusIdentifier mom Sample Code SOAP REUS S ER xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 0rg 2001 XMLSchema instance lt soapenv Body gt lt changeStatus xmlns http xmlns oracle com AgileObjects Core Collaboration V1 request xmlns lt disableAllWarnings gt true lt disableAllWarnings gt lt changeStatusRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00033 lt objectNumber gt newStatusIdentifier Submitted newStatusIdentifier lt comment gt Comments lt comment gt lt password gt agile lt password gt lt auditRelease gt false lt auditRelease gt lt urgent gt false lt urgent gt lt notifyOriginator gt true lt notifyOriginator gt lt notifyChangeAnalyst gt true lt notifyChangeAnalyst gt lt notifyCCB gt true lt notifyCCB gt lt changeStatusRequest gt lt request gt lt changeStatus gt lt soapenv Body gt 196 Agile Product Lifecycle Management Collaboration Web Services Core Operations See also RES PONS US 2 LOO CON Date Hie 10 Apr 2009 T1 359727 CMT Server Oracle Application Server 10g 10 1 3 4 0 Oracle HTTP Server Set Cookie JSESSIONID f25fe9baa0bb29c93561749bc67ea5f9f03c8b907681f2c13908aa6042d0eb88 e34Kc3 OQahiQaO0Lahn0 path CoreService Connection close Content Ty
198. gileCancelCheckOutF FRequestT ypeType Batch operations may be performed by populating as many request objects as required to add checkout several folders simultaneously 3 Foreach batched request specify the unique folder that will be checked out by the Web Service operation Supply the folder number for the same 4 Therequest objects are set and the Agile Stub is used to make the CancelCheckOutFF Web Service call The status code obtained from the response object is printed to verify the success of the CancelCheckOutFF operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then list the folders checked out Java al setupServerLogin CancelCheckOutFFRequestType cancelCheckOutFFRequestType new CancelCheckOutFFRequestType AgileCancelCheckOutFFRequest agileCancelCheckOutFFRequest new AgileCancelCheckOutFFRequest 1 agileCancelCheckOutFFRequest 0 new AgileCancelCheckOutFFRequest agileCancelCheckOutFFRequest 0 setFolderNumber folderNumber System out println Cancelling Check out status on folder TLOLGerN UM cnet DE TE cancelCheckOutFFRequestType setRequests agileCancelCheckOutFFRequest CancelCheckOutFFResponseType CancelCheckOutFFResponseType agileStub cancelCheckOutFF cancelCheckOutFFRequestType System out printlni AnS TATUS CODES o CancelCheckOutFFResponseType getStatusCode
199. gt lt rowId gt 6112462 lt rowId gt lt attachments gt lt fileName gt Modified P00724 Filel23 txt lt fileName gt fileContent TW9kaWZpZWOgZzmlsZzSBpbmZvcmlhdGlvbiBhZGRlZCBhznRlciB0aGUgY2hlY2tpbg fileContent attachments request request lt checkInAttachment gt soapenv Body soapenv Envelope gt RESPONSE lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkInAttachmentResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true lt statusCode gt SUCCESS lt statusCode gt lt response gt lt checkInAttachmentResponse gt soapenv Body soapenv Envelope checkOutAttachment on page 143 getFileId Method on page 270 getRowId Method on page 267 v9 3 0 1 149 Agile PLM Core Web Services User Manual addFileFF Service Usage Syntax Basic Steps Sample Code To add a new file to the Files Tab of an Agile File Folder object The request object specifies details of the file folder that was previously checked out to facilitate the add file process AddFileFFResponseType AddFileFFResponseType agileStub addFileFF new AddFileFFRequestType
200. hboard Management Extensions DX Similar to PX DX extends the functionalities of the Agile PLM system For information refer to Agile PLM SDK Developer Guide Casual User Interface Integration Examples Agile Web Client and Agile Java Client are targeted towards those who use the more complex product lifecycle management features of Agile PLM on a daily basis to perform assigned tasks and duties There is also another set of users who use the auxiliary capabilities of Agile PLM to perform lightweight tasks such as document management importing compliance and price data or approving ECO and Sales RFQ The tools of choice for these users are the popular desktop products provided by Microsoft Office or Adobe Acrobat Mobile devices They prefer simple user friendly interfaces for example o Microsoft Word and Acrobat for document management o Microsoft Excel to import price and compliance data a Oracle WebCenter and Oracle Application Development Framework ADF for simple document management tasks a Oracle WebCenter and ADF for simple item management tasks 2 Mobile devices to access sales RFQ 2 Mobile devices to access ECO Approval o Microsoft Sharepoint for simple document management tasks User Interface Integration MS Word This example demonstrates document management capabilities of PLM s Web Services Currently when casual users want to view or update a document in Agile PLM they do so by logging in to the Web Client to re
201. he Attaclhiments ore eto pao 77 Checking In the Attachments eee t edes ce a de certe T dede ipe te 78 Deleting the Attachments icc soe ge tem re eo ete e a f RR T etd eode diced 80 v9 3 0 1 E Agile PLM Core Web Services User Manual Chapter 7 5 riis idus NN Cegedel T T EN d e 81 Managing Workflows enisi eren rna naa d dana au Rd Ra uuu au rrnananaos 81 About Agile PEM WOFKflIOWS etre dede ei tede ecd d e ree dated 81 Getting the Status of a Worktflow enne 82 Getting the Workflow of a Routable Obert 82 Setting a MOEKTIOW siet d Tort etd e d ae dene Pr dU eure ad 82 Checking User Privileges xin dto edu i as ore deer e eg tab 83 Adding and Removing Approvers enne nnne enne neret 83 Getting ADDFOVGFES ziii ted ei ier teet etna de e eL e evanuit 84 Approving a Routable Object Rd c eie ea 85 Rejecting a Routable Object iain iere eene eee ed HA e dise e 85 Commenting a Change ect tete t de Mp e er t ade cato tenis 86 Auditing a Cliange s imc dea t em ed rt d t d med E e te 86 Changing the Workflow Status of an Object 87 Reference ou 89 Core Operations ociera a Ema a aa aea A aaa aR aa aaa aa Aa aa Aia aaa aE Iana 89 Admin and Metadata Web Services ommmoncccnnnnnnccnnnoncccnonnnnrcnnn nan rrrnn nan renos rrrnnnnnrrnnanas 91 ee et EN GEtSUD EE 94 getNode etas dato elm oae nnt Veo A pto aiu 97 Ed EE 100 getAttrib tes oo eee ten ata ter ehe de beds 103 getTableMetadata rente oe to en HP e e
202. he same The file information is also obtained in the response as an array of bytes Checking out an attachment for any modifications is carried out with the checkOutAttachment Example Checking Out an Attachment of a Part agileCheckOutAttachmentRequestType 0 setClassIdentifier Part agileCheckOutAttachmentRequestType 0 setObjectNumber partNumber CheckOutAttachmentType attachments new CheckOutAttachmentType l attachments 0 new CheckOutAttachmentType attachments 0 setRowId rowId agileCheckOutAttachmentRequestType 0 setAttachments attachments v9 3 0 1 77 Agile PLM Core Web Services User Manual checkOutAttachmentRequestType setRequests agileCheckOutAttachmentReques tType Checking Out All the Attachments You can check out all the attachments of an object by setting the boolean value of allFiles variable Example Checking Out all the Attachments of a Part agileCheckOutAttachmentRequestType 0 setClassIdentifier Part agileCheckOutAttachmentRequestType 0 setObjectNumber partNumber agileCheckOutAttachmentRequestType 0 setAllFiles true CheckOutAttachmentType attachments new CheckOutAttachmentType l1 attachments 0 new CheckOutAttachmentType agileCheckOutAttachmentRequestType 0 setAttachments attachments checkOutAttachmentRequestType setRequests agileCheckOutAttachmentReques tType Checking Out Multiple Attachments from a Folder When
203. his is applicable in a case when the file queried for is present in a single and separate row In other cases when there are several files in the same row and the desired file is one of them the fileld must also be specified The helper method getRowId on page 267 is used in sample code below to obtain the rowld or fileld of a particular row when given its filename This method utilizes the Table Web Services to issue the call for the operation loadTable on page 259 after which the message elements of all rows are searched to find a match A string input with values of getRowld or getFileld is also passed a parameter input Depending on the value of this string either the rowld or the fileld is returned by the method The request objects are set and the Agile Stub is used to make the getFileAttachment Web Service call The status code obtained from the response object is printed to verify the success of the getFileAttachment operation If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service If the Web Service call was successful then display information about the file s retrieved v9 3 0 1 127 Agile PLM Core Web Services User Manual Sample Code Java try setupServerLogin GetFileAttachmentRequestType Get new GetFileAttachmentReques AgileGetFileAttachmentReques new AgileGetFileAttachmentRequest agileGetFileAttachmentRequest 0 Type FileAttachmentReq
204. i OperatorsType operators attributes i getRelationalOperators if operators null iuc Mae E 0p ii operators length ditt System out print operators ii getValue de System out println nProperties gt ng AdminPropertyType properties attributes i getProperties 104 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations ore Se abi 0 ii properties length ditt System out println t properties ii getDisplayName RCAC On Ey ct properties ii getReadOnly Sample Code SOAP gt REESE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getAttributes xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt request xmlns gt lt attributesRequests gt lt classIdentifier gt Specification lt classIdentifier gt lt attributeldentifier gt description lt attributeldentifier gt lt attributesRequests gt lt request gt lt getAttributes gt lt soapenv Body gt lt soapenv Envelope gt SS DONS ge a lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 20
205. ible for any loss costs or damages incurred due to your access to or use of third party content products or services i Agile Product Lifecycle Management CONTENTS Oracle Copyrights oie td reete EES caca ma adeat sad ege Stee ii CHA Pte EM 1 Introduction to Agile PLM Web Services ss see 1 About Service Oriented Architecture GO 1 About Web Services neis ct ato asa ee aie Pate dedere rn ihe edens 1 Core TECATE iii edet ble ow bien ee eR 2 Web Services Architecture daa pa E pe a pet dn op ERE e TRA rta 3 About Agile PLM Web Services erit A oi 4 Agile PLM Core Web Services en ede eee tee dett eive io irte chip eed 4 Agile PEM EC SSrVICGS nieht o eh e i e dee ER e e and etae 5 Agile PLM Web Service Authentication and Performance sss 5 Impact on Existing Agile PLM Extensions and Services 5 Casual User Interface Integration Examples ssssssssssseeeeeeeeeeeene ns 6 User Interface Integration MS Word eterne tenter nne 6 User Interface Integration MS Excel etre trente nien 7 User Interface Integration Portals and Agile Web Client 7 User Interface Integration Mobile ADF sse treten tenete trennen 8 CAD Integration through EC Services ener 8 Building Casual User Interfaces ener rennen nnne 9 Developing User Interfaces for MS Offlce seen tenete trente 9 Developing User Interfaces for Oracle WebCenter and ADF 10 Chapter 2 n ONO 13 Getting Started with Agile Web
206. ice call was not successful then populate a list of exceptions 5 If the status code is SUCCESS then populate the information retrieved by the Web Service call 6 The method displayTableContents in this loadTable sample receives an array of tables as input and displays their content Sample Code Java try setupServerLogin LoadTableRequestType loadTableRequestType new LoadTableRequestType H RequestTableType table new RequestTableType 1 table 0 new RequestTableType table 0 setClassIdentifier Part table 0 setObjectNumber partNumber table 0 setTableIdentifier Attachments System out println Loading the attachment table of the part pareNumber 4 t 9705 loadTableRequestType setTableRequest table LoadTableResponseType loadTableResponseType agileStub loadTable loadTableRequestType System out println STATUS CODE loadTableResponseType getStatusCode HS loadTableResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue v9 3 0 1 259 Agile PLM Core Web Services User Manual Sr ebe cd ket ee VIT A AA Mo abs uev hos PA AR ces AgileExceptionListType agileExceptionListType loadTableResponseType getExceptions if agileExceptionListType null ojo beue ak c 9p i agileExceptionListType length IFF f AgileExceptionType exceptions agileExceptionListType i getException aene Ge 3 OF j exception
207. ickSearch Service To retrieve a list of all Agile objects whose specifications match the search criteria specified in the request object Usage Object name number ID or description may be used to form the criteria The response object contains a collection of which of Agile objects which were successfully queried for Success of the operation is verified by using the status code in the response object Syntax QuickSearchResponseType quickSearchResponseType agileStub quickSearch new QuickSearchRequestType Basic Steps To retrieve a list of desired Agile Objects 1 Create the request object QuickSearchRequestType for the quickSearch operation 2 Specify the type of object has to be queried for by providing the class identifier details Keywords are then set into the element keywords these keywords are used to form the search criteria Wildcards such as may also be used as a part of the keyword Search for all objects belonging to a class say Part Search for all objects starting with certain characters say PO which is of P00001 5 Specify whether the Web Service should search for the keyword within files and attachments in addition to searching for objects 6 The agile Stub is used to make the quickSearch Web Service call The status code obtained from the response object is printed to verify the success of the quickSearch operation 7 If the status code is not Success then populate th
208. ified in the usual manner In this case the message element for the manufacturer part must be of type ObjectReferentIdType Consequently an object identifier type object is created and appropriate class and object identifier values are set using the manufacturer part class and its number respectively RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber partNumber table setTableIdentifier Manufacturers PropertyType properties new PropertyType 1 properties 0 new PropertyType properties 0 setPropertyName SchemaConstants site getValue properties 0 setPropertyValue sitel table setOptions properties AgileRowType rows new AgileRowType 1 rows 0 new AgileRowType String namespaceUri null MessageElement messages new MessageElement 1 messages 0 new MessageElement namespaceUri mfrPartNumber ObjectReferentldType objRefId new ObjectReferentIdType objRefId setClassIdentifier ManufacturerPart v9 3 0 1 41 Agile PLM Core Web Services User Manual objRefId setObjectIdentifier manufPartNumber messages 0 addAttribute Constants NS PREFIX SCHEMA XSI COMMONNAMESPACEURI type ObjectReferentldType PropertyType properties manufName new PropertyType l properties manufName 0 new PropertyType properties manufName 0 setPropertyName SchemaConstants
209. ifier and table identifier attributes 4 Therequest objects are set and the agile Stub is used to make the loadTable Web Service call The status code obtained from the response object is printed to verify the success of the loadTable operation 5 Ifthe status code is SUCCESS then use the table results to find the required row Once the row is found its rowld is returned 6 Search for the necessary row by using the filename to look for a match and return the rowld T Ifthe status code indicates that the Web Service call was not successful then populate a list of exceptions Sample Code getRowld public static int getRowlId String filename String classIdentifier String objectNumber String tableId try setupServerLogin LoadTable LoadTableRequestType loadTableRequestType new LoadTableRequestType RequestTableType table new RequestTableType 1 table 0 new RequestTableType table setClassIdentifier classIdentifier 0 table 0 setO0bjectNumber objectNumber table 0 setTableIdentifier tableld loadTableRequestType setTableRequest table LoadTableResponseType loadTableResponseType agileStub_Table loadTable loadTableRequestType System out println Obrtaining row Id fileld informatlonjo 03 8 System out println STATUS CODE loadTableResponseType getStatusCode if loadTableResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue
210. il tFileFFRequest agileGetFileFFRequest new tFileFFRequest tFileFFRequest agil tFileFFRequest agileGetFileFFRequest AgileFileAttachmentRequestType files new AgileFileAttachmentRequestType 1 files 0 new AgileFileAttachmentRequestType files 0 setRowId rowId agileGetFileFFRequest 0 setFiles files getFileFFRequestType setRequests agileGetFileFFRequest agil 0 new AgileGetFileFFRequest 0 setFolderNumber folderNumber 0 setDownloadUrl true QQ QQ Getting a File from a particular Version of File Folder A file attachment can be downloaded from a particular version of an Agile File Folder Object The request object contains the specifications that identify the attachment to be downloaded and the version of the folder an array of bytes is obtained in the response object Example Getting a File from a Version of a File Folder GetFileFFRequestType getFileFFRequestType new GetFileFFRequestType AgileGetFileFFRequest agileGetFileFFRequest new AgileGetFileFFRequest 1 agileGetFileFFRequest 0 new AgileGetFileFFRequest agileGetFileFFRequest 0 setFolderNumber folderNumber agileGetFileFFRequest 0 setFolderVersion folderVersion AgileFileAttachmentRequestType files new AgileFileAttachmentRequestType 1 files 0 new AgileFileAttachmentRequestType files 0 setRowId rowId agileGetFileFFReq
211. il xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 Abbett ATALNINNNONOEAANW vado WmesAM x agileObject responses response createObjectResponse soapenv Body soapenv Envelope See also getAutoNumbers on page 110 getAttributes on page 103 getAllClasses on page 91 getSubClasses on page 94 v9 3 0 1 159 Agile PLM Core Web Services User Manual getObject Service To retrieve a specific Agile object from the Agile PLM system Usage The specifications of the object to be retrieved are detailed in the request object where the class type unique object number and relevant data may be specified Comprehensive information about the object is retrieved in the response object after successful execution of the Web Service call Syntax GetObjectResponseType getObjectResponseType agileStub getObject new GetObjectRequestType Basic Steps To get an Agile Object 1 Create the request object GetObjectRequestType for the getObject operation 2 Create an array of requests of type AgileGetObjectRequest Batch operations may be performed by populating as many request objects as required to retrieve several objects simultaneously 3 Foreach request set the class Identifier to denote the type of object to be retrieved and the object identifier to specify the object number of the object to be retrieved 4 AgileDataTableRequestType is used to specif
212. ile folder and add one or more files to its Files table You can also search for a file folder just as you would search for an Item or Change The File Folder Base Class has two Classes and each of these classes have their own respective Subclasses This section describes File Folder features and components and provides procedures to add modify or remove them Managing File Folders The Agile Web Services let you perform File Folder related tasks such as o checking in and checking out files associated with the objects in the rows of an Attachments table a adding files and URLs to an Attachments table o deleting attachments This section lists and describes these features and provides necessary procedures to use the Agile Web Services to perform these tasks Creating a File Folder With the operation createObject on page 155 you can create a File Folder as a file folder is an Agile Object Example Creating a File Folder v9 3 0 1 65 Agile PLM Core Web Services User Manual CreateObjectRequestType createObjectRequestType new CreateObjectRequestType AgileCreateObjectRequest agileCreateObjectRequest new AgileCreateObjectRequest 1 agileCreateObjectRequest 0 new AgileCreateObjectRequest agileCreateObjectRequest 0 setClassIdentifier FileFolder AgileRowType row_1 new AgileRowType MessageElement messages new MessageElement 2 String names
213. ile object If you intend to use your own data or scenario to execute a Web Service sample comment out the prepareData statement in the main method of that sample After this edit the static variables at the top of the code and specify your own data All the operations performed in data preparation are also achieved using Agile 93 Web Services To gain a broader understanding of how Web Services are used in conjunction to orchestrate a larger task examine the file DataPrepare java in the package src run DataPrepare java The sample files are documented with comments at each stage and evince several usage characteristics of these Web Services while illustrating how basic requests are formed and how the responses obtained are used AddFileSOAPAttachment Method This sample method demonstrates addition of a file attachment to the Attachment Tab of an Agile object using SOAP Create the request object AddFileAttachmentRequestType for the addFileAttachment operation Create an array of requests of type AgileAddFileAttachmentRequestType Batch operations may be performed by populating as many request objects as required to add several files to different objects with one single operation For each batched request specify the unique object to whose attachment tab the files are to be added Supply class identifier and object number information for the same The exact specification of the attachment to be added is defined as an object of type
214. ileGetApproversRequestType agileGetApproversRequestType new AgileGetApproversRequestType 1 agileGetApproversRequestType 0 new AgileGetApproversRequestType agileGetApproversRequestType 0 setClassIdentifier ECO agileGetApproversRequestType 0 setObjectNumber changeNumber agileGetApproversRequestType 0 setStatusIdentifier status System out println Retrieving approvers for the status state of the change object changeNumber n getApproversRequestType setApproversRequest agileGetApproversRequestType GetApproversResponseType getApproversResponseType agileStub getApprovers getApproversRequestType System out println STATUS CODE getApproversResponseType getStatusCode 192 Agile Product Lifecycle Management Collaboration Web Services Core Operations ALE getApproversResponseType getStatusCode toString equals ResponseStatusCode SU MATCE watia lin INNA 13 AgileExceptionListType agileExceptionListType getApproversResponseType getExceptions if agileExceptionListType null for ae ak ex 10 i agileExceptionListType length aere E AgileExceptionType exceptions agileExceptionListType i getException FOr Gba Fi 09 J lt exceptions length j System out println exceptions j getMessage jj dose 1 AgileGetApproversResponseType responses getApproversResponseType getApproversResponse if responses null for in
215. inal String XSIPREFIX org apache axis Constants NS PREFIX SCHEMA XSI final String TYPE SchemaConstants type getValue AgileObjectListEntryType multilist0l new AgileObjectListEntryType ObjectReferentIdType obj new ObjectReferentIdType 1 obj 0 new ObjectReferentIdType obj 0 setClassIdentifier Broker obj 0 setObjectIdentifier SAP0265 multilist01 setSelection obj MessageElement dataCell new MessageElement namespaceUri supplier dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYP AgileObjectListEntryType dataCell setObjectValue multilistO01 E v9 3 0 1 37 Agile PLM Core Web Services User Manual dataCell row 0 set any message message 0 Adding Suppliers to a Manufacturer Part final String COMMONNAM ESPAC EURI http xmlns oracle com AgileObjects Core Common V1 final String XSIPREFIX org apache axis Constants NS PREFIX SCHEMA XSI final String TYPE RequestTableType objectInfo objectInfo setClassIdentifier SchemaConstants type getValue new RequestTableType subclassId objectInfo setObjectNumber objectNumber objectInfo setTableIdentifier tableId agileAddRowsRequests 0 setObjectIinfo objectInfo new P PropertyType options options 0 new PropertyType options 0 setPropertyName Sch e
216. ined from the response object lt isReadOnlyTable gt is printed to verify the success of the isReadOnly operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 If the Web Service call was successful then display the readonly status of the tables queried v9 3 0 1 241 Agile PLM Core Web Services User Manual Sample Code Java Ier A setupServerLogin IsReadOnlyTableRequestType isReadOnlyTableRequestType new IsReadOnlyTableRequestType AgileIsReadOnlyTableRequestType agileIsReadOnlyTableRequestType new AgileIsReadOnlyTableRequestType 2 opa Ge ak 10 9 i lt agileIsReadOnlyTableRequestType length i agileIsReadOnlyTableRequestType i new AgileIsReadOnlyTableRequestType RequestTableType tablel new RequestTableType RequestTableType table2 new RequestTableType tablel setClassIdentifier Part tablel setObjectNumber partNumber tablel setTableIdentifier Attachments table2 setClassIdentifier ECO table2 setObjectNumber changeNumber table2 setTableIdentifier AffectedItems agilelIsReadOnlyTableRequestType 0 setAgileTable tablel agilelIsReadOnlyTableRequestType 1 setAgileTable table2 System out println Querying the following tables for the table s read only Status Batch operation System out println Attachment table of part details ner System out println Affected items table of
217. ion because of its reliance on standards based protocols and enabling rapid development of applications using Web Services SOA and Web services are supported by most major software vendors About Web Services Web services are technologies for building distributed applications These services which can be made available over the Internet use a standardized XML messaging system and are not tied to specific operating systems or programming languages Through Web services companies can v9 3 0 1 1 Agile PLM Core Web Services User Manual encapsulate existing business processes publish them as services search for and subscribe to other services and exchange information throughout and beyond the enterprise Web services are based on universally agreed upon specifications for structured data exchange messaging discovery of services interface description and business process design A Web service makes remote procedure calls across the Internet using o HTTP HTTPS or other protocols to transport requests and responses s Simple Object Access Protocol SOAP to communicate request and response information The key benefits provided by Web services are 8 Service oriented Architecture Unlike packaged products Web services can be delivered as streams of services that allow access from any platform Components can be isolated only the business level services need be exposed a Interoperability Web services ensure complete int
218. ion 83 w Getting Approve S EE 84 Approving a Routable Objects aia lada 85 Rejecting a Routable Object ici aaa 85 Relief Ken EE 86 amp Auditing a Changeset ndr cet tee a 86 Changing the Workflow Status of an Object tenerte tenentes 87 This chapter describes how to manage the Agile PLM workflows and provides sample code snippets About Agile PLM Workflows Agile has electronic routing notification and signoff capabilities thus automating the change control process and providing a simplified but powerful workflow mechanism With these workflow features you can a Route changes automatically to the users who need to approve or observe the change a Send email alerts automatically to approvers and observers to notify them that a change has been routed to them o Approve or reject changes online 8 Attach comments to changes The workflow functionality available to each user for a particular routable object depends on the status of the routable object and the user s privileges Your Agile API program should take these workflow dynamics into account and where possible adjust your program accordingly How the Status of a Change Affects Workflow Functionality The workflow actions available for a pending change are different from those for a released change To check the status of a change to determine whether it s pending or released use the operation getStatus on page 186 This operation returns an object for the workflo
219. is status code indicates that all Web Services in the batch were executed successfully and that all operations worked as intended 8 FAILURE The status code of FAILURE indicates that all Web Services in the batch failed during execution indicating the intended operations were not performed o WARNING This status code indicates that while Web Services in the batch were successfully executed certain warnings were also encountered during the execution These warnings need to be analyzed by the client to verify that all operations worked as intended o PARTIAL SUCCESS This status code indicates a partial success in the execution of batch Web Services when one or more but not all batch requests have failed Even if a single Web Service fails among a batch of Web Services the response status code will indicated PARTIAL SUCCESS Exceptions and Warnings When an operation is not successful the system will throw an Exception or a Warning In case of FAILURE an Exception is issued while a warning may or may not be issued In case of WARNING only a warning and not an Exception is issued When the status is WARNING the outcome of the operation is unknown You are required to check it manually whether the operation was successful or not The Exceptions require code correction or system administration while the Warnings can be resolved as described in Working with Warnings on page 21 20 Agile Product Lifecycle Management Chapte
220. ist of the following o An envelope for wrapping messages including addressing and security information a Asetof serialized rules for encoding data types in XML D Conventions for a procedure call and or response Web Services Architecture You can view Web services architecture in terms of roles and the protocol stack o Web services roles e Service provider This provides the service by implementing it and making it available on the Internet e Service requester This is the user of the service who accesses the service by opening a network connection and sending an XML request e Service registry This is a centralized directory of services where developers can publish new services or find existing ones o Web services protocol stack e Service transport layer This layer uses the HTTP protocol to transport messages between applications e XML messaging layer This layer encodes messages in XML format using SOAP to exchange information between computers It defines an envelope specification for encapsulated data that is transferred the data encoding rules and remote procedure call RPC conventions v9 3 0 1 3 Agile PLM Core Web Services User Manual e Service description layer This layer describes the public interface to a specific Web service using the Web Service Description Language WSDL protocol With WSDL it defines an XML grammar to describe network services The operations and messages
221. iting a routable object like an ECO requires specifying the type of routable object in the operation AuditRObj on page 189 agileAuditRObjectRequestType 0 setClassIdentifier ECO agileAuditRObjectRequestType 0 setObjectNumber changeNumber agileAuditRObjectRequestType 0 setAuditRelease true auditRObjectRequestTyp setRequest agileAuditRObjectRequestType 86 Agile Product Lifecycle Management Chapter 7 Managing Workflows Changing the Workflow Status of an Object Use the operation changeStatus on page 195 to change the workflow status of an object agileChangeStatusRequestType 0 setClassIdentifier ECO agileChangeStatusRequestType 0 setObjectNumber changeNumber agileChangeStatusRequestType 0 setNewStatusIdentifier newStatus AgileUserUserGroupIdentifierType users new AgileUserUserGroupIdentifierType l users 0 new AgileUserUserGroupIdentifierType users 0 setClassIdentifier User users 0 setObjectIdentifier userl agileChangeStatusRequestType 0 setApprovers users agileChangeStatusRequestType 0 setObservers null agileChangeStatusRequestType 0 setNotifiers null agileChangeStatusRequestType 0 setComment Comments agileChangeStatusRequestType 0 setPassword password agileChangeStatusRequestType 0 setAuditRelease false agileChangeStatusRequestType 0 setUrgent false
222. j System out println exceptions j getMessage SOAP gt Request lt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt sendObject xmlns http xmlns oracle com AgileObjects Core Business V1 request xmlns lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00599 lt objectNumber gt lt sendTo gt lt classIdentifier gt User lt classIdentifier gt lt objectIdentifier gt User1241535366448 lt objectIdentifier gt lt sendTo gt lt comments gt Test comments lt comments gt lt requests gt lt request gt sendObject soapenv Body soapenv Envelope gt Response lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 0rg 2001 XMLSchema instance lt soapenv Body gt sendObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt response gt sendObjectResponse soapenv Body soapenv Envelope getUsers on page 113
223. jects Core Pc V1 gt gt ifier Part classIdentifier er gt P00735 lt objectNumber gt e gt true lt incorporate gt Mite QUE apenv http schemas xmlsoap org soap envelope 2001 XMLSchema 2001 XMLSchema instance nse xmlns http xmlns oracle com AgileObjects Core Pc V1 gt 220 Agile Product Lifecycle Management PC Web Services Core Operations AA A RAS SS lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt isIncorporated gt true lt isIncorporated gt lt responses gt lt response gt lt setIncorporateResponse gt lt soapenv Body gt soapenv Envelope v9 3 0 1 221 Agile PLM Core Web Services User Manual getRevisions Service Usage Syntax Basic Steps Sample Code Sample Code To retrieve the revisions of an Agile object given the details of the object and relevant options The request object is formed based this information and revisions of the object are obtained through the repsonse object Success of the operation is verified using the status code in the response object GetRevisionsResponseType getRevisionsResponseType agileStub getRevisions new GetRevisionsRequestType To get revisions of an object 1 Create the request object GetRevisionsRequestType for the getRevisions operation 2 Create an array of requests of type AgileGetRevisionsRequest Batch
224. kPrivilege gt true lt checkPrivilege gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00585 lt objectNumber gt lt privilege gt lt responses gt lt response gt lt checkPrivilegeResponse gt lt soapenv Body gt soapenv Envelope See also getUsers on page 113 copyTable on page 247 v9 3 0 1 181 Agile PLM Core Web Services User Manual 182 Agile Product Lifecycle Management Collaboration Web Services This chapter includes the following getWorkflows getStatus auditRObject getApprovers B oChangestatus C 195 amp lt ADPrOVERODIECE cecinit o e tee e falo erdt bn Odd 198 Tejerina oradores 202 OT OO 205 W ere CN 208 emoVeADDpIOVE S seio et ec eerie one adt e oec a ecd ea rede rte Ea 211 GOITimerniths ODJOGL xs ed a 214 getWorkflows Service To retrieve the valid workflows of an Agile routable object Usage When you create a new change package product service request or quality change order you must select a workflow Otherwise the object remains in an unassigned state and cannot progress through a workflow process Agile system can have multiple workflows defined for each type of routable object To retrieve the valid workflows for an object use getWorklows service Syntax GetWorkflowsResponseType getWorkflowsResponseType agileStub getWorkFlows new GetWorkflowsRequestType
225. lasses 1 Create the request object GetSubClassesRequestType for the createObject operation 2 Create an array of requests of type AgileGetSubClassesRequestT ype Batch operations may be performed by populating as many request objects as required to retrieve several types of subclasses 3 Foreach batched request specify the type of object whose subclasses will be retrieved 4 Therequest objects are set and the Agile Stub is used to make the getSubClasses Web Service call The status code obtained from the response object is printed to verify the success of the getSubClasses operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then display the list of subclasses retrieved Sample Code Java try setupServerLogin GetSubClassesRequestType getSubClassesRequestType new GetSubClassesRequestType AgileGetSubClassesRequestType agileGetSubClassesRequestType new AgileGetSubClassesRequestType 2 EOE AERE at 9p i lt agileGetSubClassesRequestType length ZS agileGetSubClassesRequestType i new AgileGetSubClassesRequestType agileGetSubClassesRequestType 0 setClassIdentifier Changes agileGetSubClassesRequestType 1 setClassIdentifier Items getSubClassesRequestType setSubClassesRequest agileGetSubClassesRequestType GetSubClassesResponseType getSubClassesResponseType agileStub getSubClasses getSubCl
226. ld getRowOrFileId fileName agileCheckOutAttachmentRequestType 0 getClassIdentifier agileCheckOutAttachmentRequestType 0 getObjectNumber Attachments getRowId agileCheckOutAttachmentRequestType 0 setAttachments attachments checkOutAttachmentRequestType setRequests agileCheckOutAttachmentRequestType CheckOutAttachmentResponseType checkOutAttachmentResponseType agileStub checkOutAttachment checkOutAttachmentRequestType System out println NnSTATUS CODE checkOutAttachmentResponseType getStatusCode if checkOutAttachmentResponseType getStatusCode toString equals ResponseStatusC ode SUCCESS getValue AgileExceptionListType agileExceptionListType checkOutAttachmentResponseType getExceptions if agileExceptionListType null Roja augur 3L e 08 i agileExceptionListType length FEKK AgileExceptionType exceptions agileExceptionListType i getException Tom eine a 109 j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType checkOutAttachmentResponseType getWarnings if agileWarningListType null donc shige ab 9p i agileWarningListType length EFH f AgileWarningType warnings agileWarningListType i getWarning inone e y 09 j warnings length j System out pri
227. leCopyTableRequestType 1 agileCopyTableRequestType 0 new AgileCopyTableRequestType RequestTableType tablel new RequestTableType RequestTableType table2 new RequestTableType tablel setClassIdentifier Part tablel setObjectNumber partNumberl tablel setTableIdentifier Compositions table2 setClassIdentifier Part table2 setObjectNumber partNumber2 table2 setTableIdentifier Compositions agileCopyTableRequestType 0 setSourceTable tablel agileCopyTableRequestType 0 setTargetTable table2 v9 3 0 1 247 Agile PLM Core Web Services User Manual Sample Code System out println Copying the compositions table from part DarsteNumb crab Et MEME partNumber2 t Xn copyTableRequestType setCopyTable agileCopyTableRequestType CopyTableResponseType copyTableResponseType agileStub copyTable copyTableRequestType SyStem ouie println STATIS CODE MLF copyTableResponseType getStatusCode IAE copyTableResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue AgileExceptionListType agileExceptionListType copyTableResponseType getExceptions ojo Guate sk 08 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage j CS Sl System out print tablel getTableldenti
228. lement getFirstChild getNodeValue fileValues 0 put fileId null D return fileValues 272 Agile Product Lifecycle Management
229. les contained in the file folder Example Checking In a File Folder CheckInFFRequestType checkInFFRequestType new CheckInFFRequestType AgileCheckInFFRequest agileCheckInFFRequest new AgileCheckInFFRequest 1 agileCheckInFFRequest 0 new AgileCheckInFFRequest agileCheckInFFRequest 0 setFolderNumber folderNumber checkInFFRequestType setRequests agileCheckInFFRequest Deleting the File Folders To delete a File Folder use the operation deleteObject You must have the Delete privilege for file folders to be able to delete them Note Deleting a file folder does not automatically remove its associated files from the file server The Agile PLM administrator is responsible for purging deleted files To delete a row from the Attachments table of a business object use the operation removeRows on page 256 Removing a row from the Attachments table does not delete the associated file folder You cannot delete a row from the Attachments table in the following situations 8 The parent object is an Item whose revision is incorporated o The selected attachment is currently checked out Note Only the user who checked out a file folder can cancel the checkout Note Deleting a file folder does not automatically remove its associated files from the file server The Agile PLM administrator is responsible for purging the deleted files Example Deleting a File Folder DeleteObjectRequestType deleteObjectRequestT
230. letter such as tall wall mall calendar and so on Using Parentheses in Search Criteria Where used set operators have higher priority than and and or logical operators as shown by the following table Priority Operator s s Union a intersection 2 minus 1 54 Agile Product Lifecycle Management Chapter 5 Working with Searches Priority Operator s aM l Therefore search conditions joined by union intersection and minus operators are evaluated before conditions joined by and or or If you use where used set operators union intersect or minus in search criteria you can use parentheses to change the order that criteria are evaluated If only and or or logical operators are used in a search criteria additional parentheses aren t needed because they don t change the result of criteria evaluation The following two criteria although they contain the same search conditions provide different results because parentheses are placed differently Title Block Part Category Electrical and Title Block Description contains Resistor union Title Block Description contains 400 and Title Block Product Line s contains Taurus Title Block Part Category Electrical and Title Block Description contains Resistor union Title Block Description contains 400 and Title Block Product Line s contains Taurus Using SQL Syntax to specify Search Cri
231. ll classes 1 Create the request object GetAllClassesRequestType for the getAllClasses operation 2 Setthe level for the getAllClasses request object This filter is specified by using a ClassFilterType object which can hold values of TOP CONCRETE or ALL This ClassFilterType ALL ClassFilterType TOP or ClassFilterType CONCRETE may be used 3 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service A If the Web Service call was successful then display the list of classes retrieved Sample Code Java try setupServerLogin GetAllClassesRequestType getAllClassesRequestType new GetAllClassesRequestType getAllClassesRequestType setLevel ClassFilterType CONCRETE GetAllClassesResponseType getAllClassesResponseType agileStub getAllClasses getAllClassesRequestType v9 3 0 1 91 Agile PLM Core Web Services User Manual A M n Nu Eines Det E IRR UIT oe o getAllClassesResponseType getStatusCode PITE getAllClassesResponseType getStatusCode toString equals ResponseStatusCode S UCCESS getValue AgileExceptionListType agileExceptionListType getAllClassesResponseType getExceptions if agileExceptionListType null ojo beue uL Dp i agileExceptionListType length IRR A AgileExceptionType exceptions agileExceptionListType i getException z n En 3 Op j lt exceptions length j System out println exceptions j getMessage
232. lnFF operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then list the folders checked out Java ipiey A setupServerLogin CheckInFFRequestType checkInFFRequestType new CheckInFFRequestType AgileCheckInFFRequest agileCheckInFFRequest new AgileCheckInFFRequest 1 agileCheckInFFRequest 0 new AgileCheckInFFRequest agileCheckInFFRequest 0 setFolderNumber folderNumber System out println Checking in a file folder that has been checked out using Torger UMP F folderNumber n checkInFFRequestType setRequests agileCheckInFFRequest CheckInFFResponseType CheckInFFResponseType agileStub checkInFF checkInFFRequestType System out printiadi STATUS QODES 4 CheckInFFResponseType getStatusCode PE CheckInFFResponseType getStatusCode toString equals ResponseStatusCode SUCCE SS getValue AgileExceptionListType agileExceptionListType CheckInFFResponseType getExceptions v9 3 0 1 137 Agile PLM Core Web Services User Manual E AAN a AA ss e sat a y ojo ae u p i lt agileExceptionListType length LEEI A AgileExceptionType exceptions agileExceptionListType i getException mepa aliae a OR j exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileW
233. lns oracle com AgileObjects Core Table V1 request xmlns data lt objectInfo gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00218 lt objectNumber gt lt tableldentifier gt 809 lt tableldentifier gt objectInfo lt row gt lt rowId gt 6112255 lt rowId gt row rowId 0 modified element attributeId newRev 2 modified element row lt row gt lt data gt lt request gt lt updateRows gt soapenv Body soapenv Envelope EE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt updateRowsResponse xmlns http xmlns oracle com AgileObjects Core Table V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt updateRowsResponse gt soapenv Body soapenv Envelope See also getTableMetadata on page 107 isReadOnlyTable on page 241 loadTable on page 259 getRowId Method on page 267 v9 3 0 1 255 Agile PLM Core Web Services User Manual removeRows Service To remove an existing row belonging to an Agile Table object Usage The request object includes details of the row to be removed and the table identifier Success of the
234. low for the change object DE changeNumber setWorkFlowRequestType setSetWorkFlowRequest agileSetWorkFlowRequestType SetWorkFlowResponseType setWorkflowResponseType agileStub setWorkFlow setWorkFlowRequestType System out println STATUS CODE setWorkflowResponseType getStatusCode v9 3 0 1 205 Agile PLM Core Web Services User Manual SLE setWorkflowResponseType getStatusCode toString equals ResponseStatusCode SUC C D OO RAHA Tan AAA P AgileExceptionListType agileExceptionListType setWorkflowResponseType getExceptions if agileExceptionListType null fort me sb c 08 i agileExceptionListType length aere E AgileExceptionType exceptions agileExceptionListType i getException FOr Gba q 109 j lt exceptions length j System out println exceptions j getMessage y INS System out print The workflow agileSetWorkFlowRequestType 0 getWorkFlowIdentifier was successfully set for the object System out println agileSetWorkFlowRequestType 0 getObjectNumber mom Sample Code SOAP ROES E EE lt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt setWorkF low xmlns http xmlns oracle com AgileObjects Core Collaboration V1
235. lt response gt lt getWorkFlowsResponse gt lt soapenv Body gt lt soapenv Envelope gt See also setWorkFlow on page 205 v9 3 0 1 185 Agile PLM Core Web Services User Manual getStatus Service To get the current and the next workflow status of an routable object Usage To determine the status of a change whether it s pending or released The getStatus service returns a Status object Workflow functionalities that are made available to users for a particular routable object depends on the status of the routable object and the user s privileges The workflow actions available for a pending change are different from those for a released change Syntax GetStatusResponseType getStatusResponseType agileStub getStatus new GetStatusRequestType Basic Steps To get the status of a change 1 Create the request object GetStatusRequestT ype for the getStatus operation 2 Create an array of requests of type AgileGetStatusRequestT ype Batch operations may be performed by populating as many request objects as required to obtain several workflow status objects 3 Foreach batched request specify the type of object whose status has to be retrieved and its unique object number 4 Therequest objects are set and the Agile Stub is used to make the getStatus Web Service call The status code obtained from the response object is printed to verify the success of the getStatus operation 5 Ifthe status
236. lt auditRelease gt true lt auditRelease gt lt request gt lt request gt auditRObject lt soapenv Body gt lt soapenv Envelope gt RES PONS xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt auditRObjectResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 responses xmlns lt messageld xsi nil true gt 190 Agile Product Lifecycle Management Collaboration Web Services Core Operations PA eee 1 Feel Ze lt statusCodessuccEss lt statusCode gt lt response gt lt identifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 6128165 lt objectId gt lt objectName gt C00035 lt objectName gt lt identifier gt lt error gt lt exceptionId gt 60086 lt exceptionId gt lt message gt The following required fields are missing C00035 Affected Items New Rev P00336 lt message gt lt error gt lt response gt lt responses gt lt auditRObjectResponse gt lt soapenv Body gt lt soapenv Envelope gt See also changeStatus on page 195 v9 3 0 1 191 Agile PLM Core Web Services User Manual getApprovers Service Usage Syntax Basic Steps
237. lue messages 3 1 jj AgileTableType tables agileObject getTable if tables null f OT Game s 109 j lt tables length j TableldentifierType tableld tables j getTableIdentifier System out println Table type tableId getTableDisplayName AgileRowType rows tables j getRow if rows null Tor abigve He 1019 k lt rows length Ware d messages rows k get_any if messages HUEL ROL ue J OF jj lt messages length v9 3 0 1 161 Agile PLM Core Web Services User Manual 23201014 Ld System out print messages jjl getTagName gt displayMessageElementValue messages jj Sample Code SOAP gt JEE gt xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getObject xmlns http xmlns oracle com AgileObjects Core Business V1 lt request xmlns gt lt requests gt classIdentifier ManufacturerPart classIdentifier lt objectNumber gt MANUF_PART1241535324230 lt objectNumber gt lt tableRequests gt lt tableldentifier gt 807 lt tableldentifier gt lt loadCellMetaData gt false lt loadCellMetaData gt lt tableRequests gt lt options gt lt propertyName gt manufacturer _name lt propertyName gt lt propertyValue gt MANUF1241535323652 lt proper
238. mber folderNumber System out println Checking out the file folder folderNumber Xn 2 checkOutFFRequestType setRequests agileCheckOutFFRequest CheckOutFFResponseType checkOutFFResponseType agileStub checkOutFF checkOutFFRequestType 5ystem out printla AnSTATUS CODES 4 checkOutFFResponseType getStatusCode Hu checkOutFFResponseType getStatusCode toString equals ResponseStatusCode SUCC ESS getValue AgileExceptionListType agileExceptionListType checkOutFFResponseType getExceptions if agileExceptionListType null soja ewe ab c p 134 Agile Product Lifecycle Management Attachment Web Services Core Operations d 4 ami H s en RP ARTI AEM RR Tantos EFE AgileExceptionType exceptions agileExceptionListType i getException moje Jeng ai Og j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType checkOutFFResponseType getWarnings if agileWarningListType null ojo eue b 9p i agileWarningListType length i AgileWarningType warnings agileWarningListType i getWarning inoue aigue O j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage jr des 4 System out println The following folders were succ
239. minary lt value gt lt selection gt lt lifecyclePhase gt description xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 1002 readOnly False gt Object Desc lt description gt lt itemCategory xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1082 readOnly False gt lt size xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1068 readOnly False gt XproductLineS xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1004 readOnly False gt rev xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V attributeId 1014 readOnly False selection lt id gt 0 lt id gt lt apiName gt Rev lt apiName gt lt value gt Introductory lt value gt lt selection gt lt rev gt lt revincorpDate xsi type xs date xmlns xs http www w3 org 2001 XMLSchema attributeld 1017 readOnly True gt lt revReleaseDate xsi type xs date xmlns xs http www w3 org 2001 XMLSchema attributeld 1016 readOnly True gt lt effectivityDate xsi type xs date xmlns xs http www w3 org 2001 XMLSchema attributeId 12089 readOnly True gt lt shippableltem xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1
240. mlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt quickSearch xmlns http xmlns oracle com AgileObjects Core Search V1 lt request xmlns gt lt classIdentifier gt Part lt classIdentifier gt lt keywords gt P0 lt keywords gt lt searchFiles gt false lt searchFiles gt lt request gt lt quickSearch gt lt soapenv Body gt lt soapenv Envelope gt RES PONS SS xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt quickSearchResponse xmlns http xmlns oracle com AgileObjects Core Search V1 response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt table gt lt tableldentifier gt lt objectId gt 0 lt objectId gt 232 Agile Product Lifecycle Management Search Web Services Core Operations See also xmlns xs h xmlns xs h xmlns xs h xmlns xs h EIS tt EIS GE attributeId xmlns xs h xmlns xs h xmlns xs h xmlns xs h xmlns xs h attributeld xmlns xs h DIS DIS CE ES GE DS p www p www p www p www p www lt row gt row rowId 1
241. n Updating the row containing the part partNumber in the affected items table System out println of the change changeNumber Di updating the effective date attribute to date dE AT updateRowsRequestType setData agileUpdateRowsRequest UpdateRowsResponseType updateRowsResponseType agileStub updateRows updateRowsRequestType System out println STATUS CODE updateRowsResponseType getStatusCode ALTE updateRowsResponseType getStatusCode toString equals ResponseStatusCode SUCC ESS getValue AgileExceptionListType agileExceptionListType updateRowsResponseType getExceptions if agileExceptionListType null ojo nie ub D i lt agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException arena iO j lt exceptions length j System out println exceptions j getMessage cias 2 254 Agile Product Lifecycle Management Tables Web Services Core Operations Corea eee Ae MESS See poeseos Lesen a RN y of ma table getObjectNumber System out println was updated with the specified row s Sample Code SOAP REUS Ss xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt updateRows xmlns http xm
242. n array of requests of type AgileDeleteObjectRequest Batch operations may be performed by populating as many request objects as required to delete several objects 3 Foreach of the requests set the class identifier to specify the type of object that will be deleted and an object number to identify the unique object that will be delete from Agile PLM 4 Therequest objects are set and the Agile Stub is used to make the deleteObject Web Service call The status code obtained from the response object is printed to verify the success of the deleteObject operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java try setupServerLogin DeleteObjectRequestType deleteObjectRequestType new DeleteObjectRequestType AgileDeleteObjectRequest agileDeleteObjectRequest new AgileDeleteObjectRequest 1 agileDeleteObjectRequest 0 new AgileDeleteObjectRequest agileDeleteObjectRequest 0 setClassIdentifier Part agileDeleteObjectRequest 0 setObjectNumber partNumber System out println Deleting object Pare ISE EUA deleteObjectRequestType setRequests agileDeleteObjectRequest DeleteObjectResponseType deleteObjectResponseType agileStub deleteObject deleteObjectRequestType System out printlin STATUS CODE deleteObjectResponseType getStatusCode SEA deleteObjectResponseType getStatusCode toString equals ResponseStatusCod
243. n from the Preferences tab 5 Additional options may also be elaborated upon using the request object Specify a list of notifiers using an object of type AgileUserUserGroupldentifierT ype Escalations transfers and the facility of approving on behalf of a group may also be achieved by the same method This may be used in cases when the approval on member of a usergroup is sufficient to expedite the approval process Specify a list of notifiers 7 The request objects are set and the Agile Stub is used to make the rejectRObject Web Service call The status code obtained from the response object is printed to verify the success of the rejectRObject operation 8 If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service 202 Agile Product Lifecycle Management Collaboration Web Services Core Operations 9 If the Web Service call was successful confirm the same Sample Code Java try setupServerLogin RejectRObjectRequestType rejectRObjectRequestType new RejectRObjectRequestType AgileRejectRObjectRequestType agileRejectRObjectRequestType new AgileRejectRObjectRequestType 1 agileRejectRObjectRequestType 0 new AgileRejectRObjectRequestType agileRejectRObjectRequestType 0 setClassIdentifier ECO agileRejectRObjectRequestType 0 setObjectNumber changeNumber agileRejectRObjectRequestType 0 setPassword PASSWORD agileRejectRObjectRequestType 0 setComment
244. n page 267 126 Agile Product Lifecycle Management Attachment Web Services Core Operations getFileAttachment Service To retrieve a specific file from the Attachments Tab of a particular Agile object Usage The request object contains the specifications that identify the attachment to be downloaded An array of bytes is obtained in the response object which also provides comprehensive information about the file retrieved Syntax GetFileAttachmentResponseType getFileAttachmentResponseType agileStub getFileAttachment new GetFileAttachmentRequestType Basic Steps To get a File Attachement 1 Create the request object GetFileAttachmentRequestType for the getFileAttachment operation Create an array of requests of type AgileGetFileAttachmentRequestType Batch operations may be performed by populating as many request objects as required to retrieve several files simultaneously For each batched request specify the unique object from whose attachment tab the required files will be retrieved Supply its class identifier and object number The exact specification of the attachment to be downloaded is defined as an object of type AgileFileAttachmentRequestType This object includes information about rowld a boolean to indicate whether all the files of the object are to be downloaded and finally provision for filelds to be used in special cases You can download a file from the attachment tab using its rowld T
245. nce gt 184 Agile Product Lifecycle Management Collaboration Web Services Core Operations EE E lt getWorkFlows xmlns http xmlns oracle com AgileObjects Core Collaboration V1 request xmlns lt workflowRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00034 lt objectNumber gt lt workflowRequest gt lt request gt lt getWorkFlows gt lt soapenv Body gt lt soapenv Envelope gt Response gt lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getWorkFlowsResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt workflowResponse gt lt identifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName gt ECO lt classDisplayName gt lt objectId gt 6128130 lt objectId gt lt objectName gt C00034 lt objectName gt lt identifier gt lt workflow gt workflowlId 3752 workflowld workflowName DefaultChangeOrders workflowName lt workflowDisplayName gt Default Change Orders lt workflowDisplayName gt lt workflow gt lt workflowResponse gt
246. new AgileApproveRObjectRequestType Basic Steps To see the approval results 1 Create the request object ApproveRObjectRequestType for the approveRObject operation 2 Create an array of requests of type AgileApproveRObjectRequestType Batch operations may be performed by populating as many request objects as required to approve several routable objects with a single operation 3 Foreach batched request specify the type of object and unique object number of the routable object which has to be approved The user with which the Agile Stub has been authenticated is assumed to be the approver The approval password of that user is specified in the request and pertinent comments are added 4 If the second signature has been configured in your java client then the value of the same shall have to be set into the request object The second signature may be either the username or password depending on the Java Client s configuration from the Preferences tab 5 Additional options may also be elaborated upon using the request object Specify a list of notifiers using an object of type AgileUserUserGroupldentifierT ype Escalations transfers and the facility of approving on behalf of a group may also be achieved by the same method This may be used in cases when the approval on member of a usergroup is sufficient to expedite the approval process In this sample code given below the null values are passed for these fields 6 If you wish to iss
247. ns See also manufacturerPartNumber xsi type xs string xmlns xs http www w3 org 2001 XMLSchema AEE RG bn teo TA271 LAOS MANTE DADT1241525224202027 Imanmfontiarar DA Mme Av manufacturerName xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 1647 gt MANUF1241535323652 lt manufacturerName gt lt description xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 3566 gt Description lt description gt lt lifecyclePhase xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1649 selection siesty auo bs lt apiName gt ACTIVE lt apiName gt lt value gt Active lt value gt lt selection gt lt lifecyclePhase gt mfrPartType xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2543 selection lt id gt 1488 lt id gt lt apiName gt MANUFACTURER_PART lt apiName gt lt value gt Manufacturer Part lt value gt lt selection gt lt mfrPartType gt lt partFamily xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000004417 gt lt mass xsi type common AgileUnitOfMeasureType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 2000004613 lt complianceCalculatedDate xsi type xs date xmlns xs http www w3 org 2001 XML
248. ns oracle com AgileObjects Core Business V1 gt request xmlns gt lt saveAsObjectRequest gt lt parentClassIdentifier gt Part lt parentClassIdentifier gt lt parentObjectNumber gt P00594 lt parentObjectNumber gt newClassIdentifier Part newClassIdentifier data rowId 0 gt Message Num attributeId 1001 P00596 Message Num data lt saveAsObjectRequest gt lt saveAsObjectRequest gt lt parentClassIdentifier gt Part lt parentClassIdentifier gt v9 3 0 1 177 Agile PLM Core Web Services User Manual EE A EUNTES See AON IIS ee e ene Sank BEE newClassidentifiersPart newClassIdentifier lt autoNumberSource gt Part Number lt autoNumberSource gt lt saveAsObjectRequest gt lt request gt lt saveAsObject gt lt soapenv Body gt soapenv Envelope gt Response gt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt saveAsObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt saveAsObjectResponse gt lt classIdentifier gt Part lt classIdentifier gt lt objectId gt 6110572 lt objectId gt lt objectNumber gt P0059
249. ns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt convertCurrency xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 request xmlns requests money lt amount gt 100 0 lt amount gt lt currency gt INR lt currency gt lt money gt lt toCurrency gt GBP lt toCurrency gt dates20098 059035T125 572 35 oo dates lt requests gt lt request gt lt convertCurrency gt lt soapenv Body gt lt soapenv Envelope gt e S Response gt lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt v9 3 0 1 119 Agile PLM Core Web Services User Manual lt convertCurrencyResponse gt mlna Whttetne omlnos aronldla nnam IDNA Ek nen Narna RAMI nMatadata T77 WN response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt money gt lt amount gt 1 4843087362171332 lt amount gt lt currency gt GBP lt currency gt lt money gt date 2009 05 05T13 37 35 5552 date responses response lt convertCurrencyResponse gt lt soapenv Body gt soapenv Envelope
250. nsuring that custom properties has been modified appropriately run the batch file build bat Running the same through a command prompt may help in identifying error statements if any that are echoed onto the console If the message BUILD SUCCESSFUL is displayed on the console then the build process was completed without any errors However if the message BUILD FAILED is observed on the console your custom properties configuration may be incorrect and you should verify the same The stubs and the compiled samples are added to the folder build built jar as two jar files we samples jar and ws_stubs jar which are used later while running the sample Executing the Samples using ant Task After building the stubs and compiling the sample files by following the steps outlined in Building Stubs and Compiling the Samples on page 263 section v9 3 0 1 263 Agile PLM Core Web Services User Manual any sample file may be readily executed by using the batch file run bat and specifying the fully qualified class name as an argument Browse the source directory JavaWeb Servicesamples src to find the package structure of the sample that you are looking for For example to the run the sample CreateObjectAPlName that creates an object using API names the following command must be executed through command prompt run business create CreateObjectAPIName Similarly to run a sample from another sample package say AddRowsSit
251. ntRequestType setRequests agileGetFileAttachmentRequest Example Getting all the Attachments of an Object To get all the attachments of an object set allFiles to True agileGetFileAttachmentRequest 0 setClassIdentifier Part agileGetFileAttachmentRequest 0 setObjectNumber partNumber agileGetFileAttachmentRequest 0 setAllFiles true AgileFileAttachmentRequestType attachments new AgileFileAttachmentRequestType 1 attachments 0 new AgileFileAttachmentRequestType agileGetFileAttachmentRequest 0 setAttachments attachments GetFileAttachmentRequestType setRequests agileGetFileAttachmentRequest D Getting a Specific Attachment and a File Folder When there are several files in the same row and the desired file is one of them then a file can be downloaded from the attachment tab using its fileId along with the rowId Using the rowId alone in this case is ineffective since all the files of that row will be obtained To download only a v9 3 0 1 T3 Agile PLM Core Web Services User Manual specific file from such a set of files in a single row the fileId is also needed For such cases first set the rowld information then obtain the fileld value and set the same into the files element of the request object agileGetFileAttachmentRequest 0 setClassIdentifier Part agileGetFileAttachmentRequest 0 setObjectNumber partNumber agileGetFileAttachmentRequest 0 setAllFiles fals
252. ntln Warning Id warnings jl getWarningId nMessage warnings j getMessage Ir cle 4 AgileCheckOutAttachmentResponseType responses checkOutAttachmentResponseType getResponses if responses null for int i 0 i lt responses length LFE a System out println The following files were checked out from responses i getObjectNumber mm 144 Agile Product Lifecycle Management Attachment Web Services Core Operations KEE EE EE EEN responses i getFiles if attachmentsResp null o Lang gt 109 j lt attachmentsResp length ier 3 System out println File name attachmentsResp j getName System out println File type attachmentsResp j getFileType System out println File size attachmentsResp j getFileSize if attachmentsResp j getContent null System out println Byte length attachmentsResp j getContent length E File Content received successfully Sample Code SOAP REUS E xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkOutAttachment xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt
253. nvelope gt RSS PONS lt xml version 1 0 encoding utf 8 v9 3 0 1 251 Agile PLM Core Web Services User Manual lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema amina esai Hh tne lear 82 Ave INNI VMT Cahama inatananIIsn lt soapenv Body gt lt addRowsResponse xmlns http xmlns oracle com AgileObjects Core Table V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt addRowsResponse gt soapenv Body soapenv Envelope See also getTableMetadata on page 107 isReadOnlyTable on page 241 252 Agile Product Lifecycle Management Tables Web Services Core Operations updateRows Service To updated an existing row in an Agile Table object Usage Uses details of the modified row and the table The request object is built using objectInfo and rowld attributes Success of the operation may be verified using the status code in the response object Syntax UpdateRowsResponseType updateRowsResponseType agileStub updateRows updateRowsRequestType Basic Steps To update a row in a table 1 Create the request object UpdateRowsRequestType for the updateRows operation 2 Create an array of requests of type AgileUpdateRowsRequestType Batch operations may be performed by populating as many request objects as
254. o specify the new part n AgileRowType row new AgileRowType MessageElement messages new MessageElement 1 String namespaceUri null messages 0 new MessageElement namespaceUri number messages 0 addTextNode newPartNumber row set_any messages agileSaveAsObjectRequestType 0 setData row agileSaveAsObjectRequestType 1 setAutoNumberSource getAutoNumberSource saveAsObjectRequestType setSaveAsObjectRequest agileSaveAsObjectRequestType SaveAsObjectResponseType saveAsObjectResponseType agileStub saveAsObject saveAsObjectRequestType System out println STATUS CODE saveAsObjectResponseType getStatusCode DS saveAsObjectResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType saveAsObjectResponseType getExceptions if agileExceptionListType null ione ane aL s 1019 i agileExceptionListType length EEF wf AgileExceptionType exceptions agileExceptionListType i getException ojo Gima ap Ws j lt exceptions length j System out println exceptions j getMessage Sample Code SOAP c JET xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt saveAsObject xmlns http xml
255. oNumber gt lt autoNumbers gt lt autoNumberResponses gt lt autoNumberResponses gt lt classIdentifier gt ECO lt classIdentifier gt lt autoNumbers gt lt nodeld gt 990 lt nodeld gt lt apiName gt ECONumber lt apiName gt typeAUTONUMBER lt type gt lt displayName gt ECO Number lt displayName gt lt autoNumber gt C00186 lt autoNumber gt lt autoNumber gt C00187 lt autoNumber gt lt autoNumbers gt lt autoNumberResponses gt lt response gt lt getAutoNumbersResponse gt soapenv Body soapenv Envelope See also getAllClasses on page 91 getSubClasses on page 94 112 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations getUsers Service To retrieve the information of Agile PLM Users Usage Obtains a list of users through the response object of the Web Service The request object does not contain any element while the response consists of AgileUserType objects which contain message elements carrying information pertaining to an Agile user Syntax GetUsersResponseType getUsersResponseType agileStub getUsers new GetUsersRequestType Basic Steps To retrieve user information 1 Create the request object GetUsersRequestType for the getUsers operation 2 The request object for the getUsers operation does not contain any element A direct Web Service call is made using this request object 3 The getUsers Web Service call is made The status code ob
256. obtained from the response object is printed to verify the success of the getNode operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful then display the list of nodes retrieved Sample Code Java Ier di setupServerLogin GetNodeRequestType getNodeRequestType new GetNodeRequestType AgileGetNodeRequestType agileGetNodeRequestType new AgileGetNodeRequestType 1 agileGetNodeRequestType 0 new AgileGetNodeRequestType agileGetNodeRequestType 0 setNodeldentifier AutoNumbers agileGetNodeRequestType 0 setRecursive true getNodeRequestType setNodeRequest agileGetNodeRequestType GetNodeResponseType getNodeResponseType agileStub getNode getNodeRequestType System out println STATUS CODE getNodeResponseType getStatusCode if getNodeResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType getNodeResponseType getExceptions iQue ae Gk o i lt agileExceptionListType length ars d AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j v9 3 0 1 97 Agile PLM Core Web Services User Manual Sample Code jc AgileGetNodeResponseType nodes getNodeResponseType getNodeResponse if nodes null for AgileGetNo
257. ody gt lt soapenv Envelope gt See also getObject on page 160 loadTable on page 259 224 Agile Product Lifecycle Management PC Web Services Core Operations undoRedline Service Usage Syntax Basic Steps Sample Code To revert a redlined entity in Agile PLM by issuing an undo operation on the redline Relevant details are used to form the request object Success of the operation may be verified using the status code in the response object UndoRedlineResponseType undoRedlineResponseType agileStub undoRedline new UndoRedlineRequestType To undo the redlining of an entity 1 Create the request object UndoRedlineRequestType for the undoRedline operation 2 Create an array of requests of type AgileUndoRedlineRequest Batch operations may be performed by populating as many request objects as required to undo redlines for several objects with a single Web Service call 3 Identify the object whose redlines will be canceled by specifying the class identifier and the object number 4 Therevision of the object may then be specified by using a PropertyType object 5 Obtain and specify the rowlds corresponding to the rows where the undoRedline operation will be performed 6 Specify the redline table on which the undoRedline operation has to be executed To obtain a list of possible table values use the object RedlineTableType 7 Setthe requests and execute the Web Service using the PC Web Ser
258. ojo ege ub 105 i lt agileExceptionListType length Sere E AgileExceptionType exceptions agileExceptionListType i getException OL n RE j lt exceptions length j System out println exceptions j getMessage jj dose d System out print The specified row in System out print table getTableIdentifier Ub qe D A table getObjectNumber System out println was removed SOAP RSS ELE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt removeRows xmlns http xmlns oracle com AgileObjects Core Table V1 request xmlns rows lt objectInfo gt classIdentifier Part classIdentifier lt objectNumber gt P00717 lt objectNumber gt lt tableldentifier gt 803 lt tableldentifier gt objectInfo lt rowId gt 6112309 lt rowId gt lt rows gt lt request gt lt removeRows gt lt soapenv Body gt lt soapenv Envelope gt RSS DONS M E v9 3 0 1 257 Agile PLM Core Web Services User Manual AN eelerer ss Dem rar nin W1 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt removeRowsResponse xmlns http xmlns oracle
259. on value denotes the filename while the selection Id denotes the fileld In the case of Filefolders the message element for file name is not an AgileListEntryType The value may be obtained directly To get a File ID 1 Create the request object LoadTableRequestT ype for the loadTable operation 2 Foreach request specify the table to which the row belongs Tables in Agile Web Services are defined as RequestTableType objects A specifc table may be identified by specifying the class identifier and table identifier attributes 3 Therequest objects are set and the agile Stub is used to make the loadTable Web Service call The status code obtained from the response object is printed to verify the success of the loadTable operation 4 If the status code is SUCCESS then find and retrieve the fileld 270 Agile Product Lifecycle Management Appendix A 5 Search for the necessary fileld by using the filename to look for a match and return either of the two as per the requirement specified in the input parameter methodT ype 6 Ifthe status code indicates that the Web Service call was not successful then populate a list of exceptions Sample Code getFileld public static int getFileld String filename String clazz String objectNumber String tablelId try setupServerLogin LoadTable LoadTableRequestType loadTableRequestType new LoadTableRequestType RequestTableType table new RequestTableType 1
260. only an exact match with the specified value not equal to m Finds any value other than an exact match with the specified value greater than Finds any value greater than the specified value less than Finds any value less than the specified value less than or equal lt Finds any value less than or equal to the specified value to contains contains umm Finds any value that includes the specified value all greater than or gt Finds any value greater than or equal to the specified value equal to 50 Agile Product Lifecycle Management Chapter 5 Working with Searches does not contain Finds any value that does not include the specified value does not contain all contains any Van ZA Finds any value that includes the specified value does not contain any E Finds any value that does not include the specified value contains none of CG Finds any value that includes none of the specified values does not contain Behaves the same as does not contain any none of starts with Kl Finds values that begin with characters in the specified value does not start with REN Finds values that do not begin with characters in the specified value is null i al Finds objects where the selected attribute contains no value is not null Eo Finds objects where the selected attribute contains a value like Performs a wildcard search finding objects that match a single character or any string t like Performs a wildcard search fin
261. operations may be performed by populating as many request objects as required to obtain revisions for several objects simultaneously 3 Identify the object whose revisions are to be retrieved by specifying the class identifier and the object number This request will fetch the latest revision 4 Setthe request objects and use the PC Web Service Agile Stub to execute the getRevisions Web Service Java GetRevisionsRequestType batchRequest new GetRevisionsRequestType AgileGetRevisionsRequest requests new AgileGetRevisionsRequest 2 requests 0 new AgileGetRevisionsRequest requests SetClassIdentifier Part requests setObjectNumber 1000 02 requests setAllRevisions false oe C requests requests requests requests new AgileGetRevisionsRequest setClassIdentifier Part setO0bjectNumber 1000 02 SetAllRevisions true bre batchRequest setRequests requests try GetRevisionsResponseType batchResponse agileStub getRevisions batchRequest System out println Response status batchResponse getStatusCode getValue AgileGetRevisionsResponse responses batchResponse getResponses for AgileGetRevisionsResponse response responses printRevisions response SOAP INSOMESI xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 org 2001 XMLSchema
262. options 0 setPropertyValue C ropertyType l 0 emaConstants manufacturer name getValu isco agileAddRowsRequests 0 setOptions options AgileAddRowsRequest agileAddRowsRequests new AgileAddRowsRequest 1 agileAddRowsRequests 0 new AgileAddRowsRequest AgileRowType row new AgileRowType 1 row 0 new AgileRowType agileAddRowsRequest setRow row String namespaceUri null MessageElement message new MessageElement 1 AgileObjectListEntryType multilist0l new AgileObjectListEntryType ObjectReferentIdType obj new ObjectReferentldTypel1 obj 0 new ObjectReferentIdType obj 0 setClassIdentifier Broker obj 0 setObjectIdentifier SAP0265 multilist01 setSelection obj MessageElement dataCell new Messag supplier dataCell addAttribute XSIPREFIX AgileObjectListEntryType Element namespaceUri COMMONNAM ESPACEURI TYP EEl dataCell setObjectValue multilistO01 dataCell row 0 set any message message 0 38 Agile Product Lifecycle Management Chapter 4 Working with Tables Adding Manufacturer Part to AML of an Item You can add a Manufacturer Part to the AML of an Item using the following two methods Method 1 MessageElement message new MessageElement 2 MessageElement dataCell new MessageElement namespaceUri mfrPartNumber d
263. ort name or attribute ID number The attribute specifies which characteristic of the object to use in the search o Relational operator The relational operator defines the relationship that the attribute has to the specified value for example equal to or not equal to a Rightoperand The matching value for the specified attribute in the left operand The right operand can be a constant expression or a set of constant expressions A set of constant expressions is needed if the relational operator is between not between in or not in Following is an example of a search condition Title Block Description Computer This is another example where the right operand is a set of constant expressions Page Two Numeric01 between 1000 2000 Search Operation Keywords When you specify a search condition you must use proper keywords to construct the statement The following keywords are available and does less or to asc equal like order union between from minus phrase where by greater none select with contain in not start word contains intersect null starts words desc is of than These keywords are not localized You must use English keywords regardless of locale You can use the keywords in lower case or upper case In addition to keywords you can use Agile PLM variables such as SUSER for current user and S TODAY for today s date in Agile Searches The in operator does not support MultiLi
264. oupIdentifierType usergroups new AgileUserUserGroupIdentifierType 1 for int i 0 i usergroups length i usergroups i new AgileUserUserGroupIdentifierType usergroups 0 setClassIdentifier User usergroups 0 setObjectIdentifier USERNAME agileRemoveApproversRequestType 0 setApprovers usergroups agileRemoveApproversRequestType 0 setObservers null agileRemoveApproversRequestType 0 setComment Comments removeApproversRequestType setRemoveApproversRequest agileRemoveApproversRequestTy pe RemoveApproversResponseType removeApproversResponseType agileStub removeApprovers removeApproversRequestType System out println STATUS CODE removeApproversResponseType getStatusCode BE removeApproversResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType removeApproversResponseType getExceptions if agileExceptionListType null ojo os Ab 10 8 i lt agileExceptionListType length abre a AgileExceptionType exceptions agileExceptionListType i getException imos nsus 3p 199 j lt exceptions length j System out println exceptions j getMessage Perseg System out print The specified approver s were successfully removed from the workflow state System out println agileRemoveApproversRequestType 0 getStatusIdentifier deeler ObyieGta ub agileRemoveApproversRequestType
265. outed to group of approvers the online approval process begins Users listed in the Workflow table for a change can approve or reject the change When you approve a change the Agile system records the approval in the Workflow table When all approvers have approved the change the system sends an email notification to the change analyst or component engineer indicating that the change is ready to be released Syntax RejectRObjectResponseType rejectRObjectResponseType agileStub rejectRObject new AgileRejectRObjectRequestType Basic Steps To reject a routable object 1 Create the request object RejectRObjectRequestType for the rejectRObject operation 2 Create an array of requests of type AgileRejectRObjectRequestT ype Batch operations may be performed by populating as many request objects as required to reject several routable objects simultaneously 3 Foreach batched request specify the type of object and unique object number of the routable object which has to be rejected The user with which the Agile Stub has been authenticated is assumed to be the approver The approval password of that user is specified in the request and pertinent comments are added for the rejecting the routable object 4 If the second signature has been configured in your java client then the value of the same shall have to be set into the request object The second signature may be either the username or password depending on the Java Client s configuratio
266. ows Forms 6 Bind data to UI controls e Populate documents with data from Agile Web Services 7 Build amp test the Add in 8 Deploy the Add in 9 Extend Agile 9 3 Samples to fit your business needs e MS Word Document Management Application Level Add In e MS Excel Import BOM Price Compliance document Level Add in Note The source code for these two MS Office Add ins is available for download from Oracle OTN Website A good source of information for developing an MS Office Add in is the MSDN forum Developing User Interfaces for Oracle WebCenter and ADF This section provides basic information to develop the following Uls in Oracle Web Center and ADF environments a Document Management UI in Oracle WebCenter and ADF 10g 8 Item Management UI in Oracle WebCenter and ADF 11g 8 Sales RFQ UI in Mobile device a ECO Approval UI in Mobile device You need the following tools and applications to develop the Oracle WebCenter and ADF with PLM s Software e Oracle Developer 10g 11g e Agile PLM v9 3 or above server 10 Agile Product Lifecycle Management Chapter 1 Introduction to Agile PLM Web Services a Programming Languages Java Web Services ORACLE agile en o E o o a JSR 227 o o S o Steps in developing ADF applications Create a Project in jDeveloper Generate the Java Stubs from Agile WSDL Map XML schema to Java Classes Create UI forms Create page flow Bind data to UI
267. paceUri null messages 0 new MessageElement namespaceUri number messages 0 addTextNode folderNumber messages 1 new MessageElement namespaceUri description messages 1 addTextNode File Folder Description row_1 set_any messages agileCreateObjectRequest 0 setData row 1 createObjectRequestType setRequests agileCreateObjectRequest Note When you add a file or a URL to the row of the Attachments table of a business object you will automatically create automatically a new file folder object that contains the associated file or URL Example Creating a Design Object CreateObjectRequestType createObjectRequestType new CreateObjectRequestType AgileCreateObjectRequest agileCreateObjectRequest new AgileCreateObjectRequest 1 agileCreateObjectRequest 0 new AgileCreateObjectRequest agileCreateObjectRequest 0 setClassIdentifier Design AgileRowType row 1 new AgileRowType MessageElement messages new MessageElement 2 String namespaceUri null messages 0 new MessageElement namespaceUri number messages 0 addTextNode designNumber messages 1 new MessageElement namespaceUri description messages 1 addTextNode Design Desc row_1 set_any messages agileCreateObjectRequest 0 setData row 1 createObjectRequestType setRequests agileCreateObjectRequest Checking Out a File Folde
268. pe AgileGetObjectRequest agileGetObjectRequest new AgileGetObjectRequest 1 agileGetObjectRequest 0 new AgileGetObjectRequest agileGetObjectRequest 0 setClassIdentifier objectType agileGetObjectRequest 0 setObjectNumber objectNumber Example Getting an Item GetObjectRequestType getObjectRequestType new GetObjectRequestType AgileGetObjectRequest agileGetObjectRequest new AgileGetObjectRequest 1 agileGetObjectRequest 0 new AgileGetObjectRequest v9 3 0 1 23 Agile PLM Core Web Services User Manual agileGetObjectRequest 0 setClassIdentifier Part agileGetObjectRequest 0 setObjectNumber P00001 Example Getting a Change GetObjectRequestType getObjectRequestType new GetObjectRequestType AgileGetObjectRequest agileGetObjectRequest new AgileGetObjectRequest 1 agileGetObjectRequest 0 new AgileGetObjectRequest agileGetObjectRequest 0 setClassIdentifier ECO agileGetObjectRequest 0 setObjectNumber ECO 0001 Special Handling in the getObject Operation To get certain Agile Objects the operation getObject on page 160 requires an additional parameter to be set This parameter setOptions propertyType accepts a name value pair propertyName and propertyValue Example Getting an Manufacturer Part GetObjectRequestType getObjectRequestType new GetObjectRequestType
269. pe text xml charset utf 8 lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt changeStatusResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt changeStatusResponse gt lt soapenv Body lt soapenv Envelope gt auditRObject on page 189 v9 3 0 1 197 Agile PLM Core Web Services User Manual approveRObject Service To see the approval results for an object Usage It inform the users whether the object has been approved by the approver or when an approver is approving the object on behalf of one or more user groups After a change is routed to group of approvers the online approval process begins Users listed in the Workflow table for a change can approve or reject the change When you approve a change the Agile system records the approval in the Workflow table When all approvers have approved the change the system sends an email notification to the change analyst or component engineer indicating that the change is ready to be released Syntax ApproveRObjectResponseType approveRObjectResponseType agileStub approveRObject
270. penv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt createObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt agileObject gt lt objectIdentifier gt lt classId gt 10141 lt classId gt lt className gt Part lt className gt lt classDisplayName gt Part lt classDisplayName gt lt objectId gt 6110466 lt objectId gt lt objectName gt P00585 lt objectName gt lt objectIdentifier gt lt number xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeId 1001 readOnly False gt P00585 lt number gt lt itemType xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1081 readOnly False selection lt id gt 10141 lt id gt lt apiName gt PART lt apiName gt lt value gt Part lt value gt lt selection gt itemType v9 3 0 1 157 Agile PLM Core Web Services User Manual lt lifecyclePhase xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 en A hant aT AN1 DO A e len E selection igd 976 c id lt apiName gt PRELIMINARY lt apiName gt lt value gt Preli
271. penv Envelope cos Jl xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addFileFFResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true lt statusCode gt SUCCESS lt statusCode gt lt response gt lt addFileFFResponse gt soapenv Body soapenv Envelope See also checkOutFF on page 134 152 Agile Product Lifecycle Management Attachment Web Services Core Operations v9 3 0 1 153 Business Webservices This chapter includes the following createObject getObject LEE cie e M 164 LEE cO up O ANO 167 LEE dec M 169 v jsDeletedODJect iu apa te ete n ng a i on ade ee n eds 171 Val 174 WEE ET 176 VE E a 1 EE 179 createObject Service To create a specific Object in Agile PLM system Usage The object specifications are detailed in the request object where the class type unique object number and other primary data may be configured apart from more specific options for the created object Syntax CreateObjectResponseType createObjectResponseType agileStub createObject new CreateObjectRequestType Basic St
272. phrase adding new materials materials all Attachments File Document Objects in which all their attachments contain the words Text contains all words adding adding new and materials new materials none of Attachments File Objects in which none of their attachments contain any of D I Document Text contains any word the words containers BOM return or output containers BOM return output Attachments File Document Text Objects in which any of their attachments do not contain the contains none of containers BOM words containers BOM or output output Using Logical Operators You can use logical operators to combine multiple search conditions into a complex filter When you have two or more conditions defined in a set of query criteria the relationship between them is defined as either and or or v9 3 0 1 53 Agile PLM Core Web Services User Manual a and narrows the search by requiring that both conditions are met Each item in the results must match both conditions The and logical operator can also be specified using two ampersands amp amp 8 or broadens the search by including any object that meets either condition Each item in the results table needs to match only one of the conditions but may match both The or logical operator can also be specified using two vertical bars Logical operators are case insensitive Fo
273. ple Title Block Number and TITLE BLOCK NUMBER are both allowed Attribute names are also localized The names of Agile PLM attributes vary based on the locale of your Agile Application Server If you are creating a query that is going to be used on servers in different locales you should reference attributes by ID number or the equivalent constant instead of by name If the attribute name contains special characters such as quotes or backslashes you can type these characters using the backslash Y as an escape character For example to include a quote character in your string type V If you want to write a backslash type two of them together W If the attribute name contains square brackets enclose the entire name in quotes Page Two Unit of Measure g or oz There are other perhaps less intuitive ways to specify attributes For example you could pass in an IAttribute reference using a parameter of the setCriteria method In the following example 0 references the attribute in the params parameter advancedSearchRequestType setCriteria Title Block Number starts with 0 and Title Block Part Category in 1 and Title Block Description contains 2 ParamListType params new ParamListType 3 params 0 new ParamListType params 0 setParameter new String P00 params 1 new ParamListType v9 3 0 1 49 Agile PLM Core Web Services User Manual params 1 setParame
274. qe Te tege 107 getAutoNutibets pea dt e dee o dep ORO RN t erre he PH Oc et a Rud DOES 110 getU sers iso vm AT BR EA DNA E Pia CR ERA 113 getUserGro ps E 116 COD Vert Crtericy EE 118 Attachment Web Services eeesisseee esie eerie sne nnns aa a d au un 123 get ii Saee deo detta onda da e bene E a eene dd orc adu be nma deis 123 getFileAttachinent os oe ti erre libe tre altae eni redet ores 127 addFileAttachiment cete tien e tees ca en en ede qi Ee euer erede 131 GHECKOUCEF date anna atten aaen E anes SE AE E Ee CAE 134 ek ei al Il ode da 137 caricel Che ckOUtFF iia ee m RR be ties 140 vi Agile Product Lifecycle Management Contents checkQOu tAttachmelt de etr t te d e e et e t a gr ten tn 143 checktrnAttachimmient s nete Dee dat eti aa es Ui ad EE 147 addFileEF sss pe E IU RI Amen enm 150 Business Webservices 1 eerie inen nennen nenne nna n nnn anna RK aane suani RR EE REEE uana uana 155 CreateObject EE 155 ee el Ee E 160 updateObject i asa eret o n dit eren aio adire ood e rU eR ana nis aan 164 deleteObject s oe oto das 167 undeleteObject i s ien eni a d ed t ne a RUE E dE e de tv Nt oes 169 IsDeleted ODE Cts en onte an ineo ee o te P o de a n tg dentato tos 171 GE Le le E EE 174 SaveASOD JGGE da ete ae be odia a e A ER e e d e eR Te tb US 176 checkPrivilege nct tti ts tre A rte e trn 179 Collaboration Web Services 11er see seee ee rr 183 getWOoFKkfloWs cot mtu tee
275. query criteria which sets the search criteria from a specified String This String references one or more parameters advancedSearchRequestType setClassIdentifier Part advancedSearchRequestType setCaseSensitive false String criteria Title Block Number contains PO amp amp Title Block Description is not null advancedSearchRequestType setCriteria criteria String attributel Title Block Number String attribute2 Title Block Description String attribute3 Title Block Lifecycle Phase advancedSearchRequestType setResultAttributes new String attributel attribute2 attribute3 advancedSearchRequestType setDisplayName Search123 AdvancedSearchResponseType advancedSearchResponseType agileStub advancedSearch advancedSearchRequestType v9 3 0 1 47 Agile PLM Core Web Services User Manual Search Conditions The Agile Web Services provides a simple yet powerful query language for specifying search criteria The query language defines the proper syntax for filters conditions attribute references relational operators logical operators and other elements Search criteria consist of one or more search conditions Each search condition contains the following elements o Left operand The left operand is always an attribute enclosed in brackets such as Title Block Number You can specify the attribute as an attribute name fully qualified name or sh
276. r Before you can add delete or modify the files contained in a file folder you must check out the file folder With the appropriate privileges you can check out a file folder as long as it is not already checked out by another user Once a file folder is checked out no one else can check it out or modify it 66 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments The user who checked out a file folder as well as other users who are change analysts or component engineers can check it in If the file folder was checked out to a location on the network or to a shared drive or directory anyone who has access to that network location or to that shared directory can check in the file folder Use the operation checkOutFF on page 134 for checking out a file folder CheckOutFFRequestType checkOutFFRequestType new CheckOutFFRequestType AgileCheckOutFFRequest agileCheckOutFFRequest new AgileCheckOutFFRequest 1 agileCheckOutFFRequest 0 new AgileCheckOutFFRequest agileCheckOutFFRequest 0 setFolderNumber folderNumber checkOutFFRequestType setRequests agileCheckOutFFRequest DH Setting the Version of File Folder Files A file folder can have several versions When you add a file folder to the Attachments table of another business object you can specify the file version to use If you don t specify a file version the Agile Web Services use the default or late
277. r 2 Getting Started with Agile Web Services The response header for Web Services calls consists of a list of exceptions and warnings populated as AgileExceptionListType and AgileWarningListType objects The application client must check for exceptions and warnings at all times to ensure that the code has performed all operations as intended The exception and warning lists contain a reference element id which may be used to identify the corresponding requested in the batch that was the source of the exception s or warning s Refer to the schema for dealing with response objects for a particular Web Service Note The code snippets provided in the first section of this document discuss only about the Request Objects See Core Operations Reference on page 89 for complete sample code Example Getting Exceptions and Warnings if lapproveRObjectResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType approveRObjectResponseType getExceptions if agileExceptionListType null for int i20 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println Exception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarning
278. r example and or AND are both allowed The following query criteria finds parts that have both a part category equal to Electrical and a lifecycle phase equal to Inactive Title Block Part Category Electrical and Title Block Lifecycle Phase Inactive If you replace the and operator with or the query locates all parts with either a part category of Electrical or a lifecycle phase of Inactive which could be a large number of parts Title Block Part Category Electrical or Title Block Lifecycle Phase Inactive The Agile Web Services provides three where used set operators For more information see Creating a Where Used Query Logical operators including the where used set operators are not localized You must use English keywords regardless of locale Using Wildcard Characters with the Like Operator If you define a search condition using the like operator you can use two wildcard characters the asterisk and question mark The asterisk matches any string of any length so at finds cat splat and big hat For example Title Block Description like book returns all objects that contain the word book such as textbook bookstore books and so on The question mark matches any single character so at finds hat cat and fat but not splat For example Title Block Description like al matches any word containing al that is preceded by a single
279. rNumber folderNumber AgileFileAttachmentRequestType files new AgileFileAttachmentRequestType 1 files 0 new AgileFileAttachmentRequestType files 0 setRowId RowId agileGetFileFFRequest 0 setFiles files getFileFFRequestType setRequests agileGetFileFFRequest Example Getting all the Files from a File Folder To get all the file of an Agile File Folder object set allFiles variable to true GetFileFFRequestType getFileFFRequestType new GetFileFFRequestType AgileGetFileFFRequest agileGetFileFFRequest new AgileGetFileFFRequ z agil tFileFFRequ new AgileGetFileFFRequest G st 1 G st 0 agileGetFileFFRequest 0 setFolderNumber folderNumber G st 0 l agil tFileFFRequ setAllFiles true FFRequestType setRequests agileGetFileFFRequest Getting a File from a File Folder using a Download URL When you have to download extremely large files you can use the operation getFileFF to generate a downloadURL for a file attachment present in an Agile File Folder The request object contains a boolean to indicate that the download URL needs to be fetched and also the specifications that identify the attachment to be downloaded Example Getting a File using a URL GetFileFFRequestType getFileFFRequestType new GetFileFFRequestType 70 Agile Product Lifecycle Management Chapter 6 Working with File Folders and Attachments Agil Ag
280. racle com AgileObjects Core Collaboration V1 request xmlns lt approveRObject gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00034 lt objectNumber gt lt password gt agile lt password gt lt comment gt Comment lt comment gt lt signoffForSelf gt true lt signoffForSelf gt lt approveRObject gt lt request gt lt approveRObject gt lt soapenv Body gt lt soapenv Envelope gt RSS DONS Cg lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt approveRObjectResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true gt 200 Agile Product Lifecycle Management Collaboration Web Services Core Operations ee vn e ee A x XStatusCodessUCCESS statusCode response approveRObjectResponse soapenv Body lt soapenv Envelope gt See also getStatus on page 186 getApprovers on page 192 v9 3 0 1 201 Agile PLM Core Web Services User Manual rejectRObject Service To reject a routable object This service informs users that the routable object is rejected by an approver or when an approver has rejected the object on behalf of one or more user groups Usage After a change is r
281. rch on page 234 quickSearch on page 231 deleteObject on page 167 v9 3 0 1 173 Agile PLM Core Web Services User Manual sendObject Service Usage Syntax Basic Steps Sample Code To send a specific Agile object to the Agile PLM system The object specifications of the object to be sent are detailed in the request object SendObjectResponseType sendObjectResponseType agileStub sendObject new SendObjectRequestType To send an object To send the objects through Web Services or web user interface you must first enable the notification feature In Java client under Admin gt Server settings gt Database set the Notification Enabled to Yes 1 Create the request object SendObjectRequestType for the sendObject operation 2 Create an array of requests of type AgileSendObjectRequest Batch operations may be performed by populating as many request objects as required to send several objects simultaneously 3 Foreach of the requests set the class identifier to specify the type of object and an object number to identify the unique object that will be send 4 Define a group of users using AgileUserUserGroupldentifierType The request objects are set and the Agile Stub is used to make the sendObject Web Service call The status code obtained from the response object is printed to verify the success of the sendObject operation 6 If the status code is not SUCCESS then populate the list of exc
282. re defined as RequestTableType objects A specific table is identified by specifying the class identifier and table identifier attributes 5 Therequest objects are set and the agile Stub is used to make the ClearTable Web Service call The status code obtained from the response object is printed to verify the success of the ClearTable operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 If the Web Service call was successful then display the tables that were cleared Java UE setupServerLogin ClearTableRequestType clearTableRequestType new ClearTableRequestType AgileClearTableRequestType agileClearTableRequestType new AgileClearTableRequestType 2 soja Ga aL In i agileClearTableRequestType length i agileClearTableRequestType i new AgileClearTableRequestType RequestTableType tablel new RequestTableType RequestTableType table2 new RequestTableType tablel setClassIdentifier Part tablel setObjectNumber partNumber tablel setTableldentifier Attachments table2 setClassIdentifier ECO table2 setObjectNumber changeNumber table2 setTableIdentifier AffectedItems 244 Agile Product Lifecycle Management Tables Web Services Core Operations cy A e EE n MEC rS MM P E ENAN G System out println Clearing the attachment table of the part PareNtiao gt ap JU sap System out println Clearing the aff
283. red row and then iterate through the results till the row has been found To find a particular row in a table a keyword may be used to search and identify the row In this example the filename is used as the key to identify a row Once the filename message element is obtained as an AgileListEntry Type element the d value of the SelectionType element may be returned This id tag corresponds to the fileld of that file attachment Search all the rows available in the attachment table and compare all message elements with tag names filename with the filename specified by the client looking for a match Once a match is found fileld information is derived from the filename selection elements whose id corresponds to the fileld Compare all filename message elements searching for a match with the filename specified by the user If a match is found return either fileld If both rowld and fileld values are necessary then a similar approach may be used to obtain both the rowld and fileld for a particular file attachment from an attachment row getValueFromSelection is a method written in this sample that handles all message elements of type AgileListEntryType Since filename is a message element of AgileListEntryType the values are elicited by this method Handle all AgileListEntryType message elements cycle through the selection element obtain the actual selection value and the selection Id and add it to a HashMap Here the selecti
284. ria gt Title Block Number contains PO amp amp amp amp Title Block Description is not null lt criteria gt lt caseSensitive gt false lt caseSensitive gt lt displayName gt Search123 lt displayName gt lt resultAttributes gt Title Block Number lt resultAttributes gt lt resultAttributes gt Title Block Description lt resultAttributes gt lt resultAttributes gt Title Block Lifecycle Phase lt resultAttributes gt lt request gt lt advancedSearch gt lt soapenv Body gt lt soapenv Envelope gt SS DONS eM S lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt v9 3 0 1 235 Agile PLM Core Web Services User Manual xmlns http xmlns oracle com AgileObjects Core Search V1 response xmlns gt messageId xsi nil true messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt table gt lt tableldentifier gt lt objectId gt 6112848 lt objectId gt lt objectName gt Search123 lt objectName gt tableId 102 tableId tableName xsi nil true lt tableldentifier gt row rowId 1 lt objectReferentId gt lt celassid 10141 lt classid gt lt className gt Part lt className gt lt object Id gt 6098826 lt objectId gt lt objectName xsi nil true gt objectReferentId number xsi t
285. rovers Service Removes the approvers or observers added to a routable object Usage After a change has been routed and the online approval process has begun it may be necessary to remove people from the list of approvers or observers When you use removeApprovers services you specify the lists of approvers and observers whether the notification is urgent and an optional comment Syntax RemoveApproversResponseType removeApproversResponseType agileStub removeApprovers new AgileRemoveApproversRequestType Basic Steps To remove approvers from a routable object 1 Create the request object RemoveApproversRequestType for the removeApprovers operation 2 Create an array of requests of type AgileRemoveApproversRequestT ype Batch operations may be performed by populating as many request objects as required to remove approvers to several objects of different class types 3 Foreach batched request specify the type of object to whose workflow approvers will be removed Additionally mention the specific workflow status to which the approvers will be removed For example use CCB as a string to specify the CCB workflow status 4 An array of either users usergroups or both may be used to list the set of approvers that have to added Such a set of user information is expressed as an object of type AgileUserUserGroupldentifierType Object and Class identifiers are set for each of these objects to denote user information 5 If usergroup has
286. s 1 setClassIdentifier User users 1 setObjectIdentifier user2 0 agileAddApproversRequestType 0 setObservers null 0 agileAddApproversRequestType 0 setComment Comments agileAddApproversRequestTyp setApprovers users agileAddApproversRequestTyp setUrgent false addApproversRequestType setAddApproversRequest agileAddApproversRequ estType Example Removing an Approver or Observer agileRemoveApproversRequestType 0 setClassIdentifier ECO agileRemoveApproversRequestType 0 setObjectNumber changeNumber agileRemoveApproversRequestType 0 setStatusIdentifier CCB AgileUserUserGroupIdentifierType usergroups new AgileUserUserGroupIdentifierType l1 usergroups 0 setClassIdentifier User usergroups 0 setObjectIdentifier USERNAME agileRemoveApproversRequestType 0 setApprovers usergroups agileRemoveApproversRequestType 0 setObservers null agileRemoveApproversRequestType 0 setComment Comments removeApproversRequestType setRemoveApproversRequest agileRemoveAppr oversRequestType Getting Approvers Set the statusIdentifier in the operation getApprovers on page 192 to obtain the list of approvers Example Getting Approvers for an Object 84 Agile Product Lifecycle Management Chapter 7 Managing Workflows agileGetApproversRequestType 0 setClassIdentifier ECO agileGetApproversRequestType 0 se
287. s Core AdminMetadata V1 request xmlns lt subClassesRequest gt classIdentifier Changes classIdentifier subClassesRequest lt subClassesRequest gt lt classIdentifier gt Items lt classIdentifier gt lt subClassesRequest gt lt request gt lt getSubClasses gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS eer xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getSubClassesResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt subClassesResponse gt classIdentifier Changes classIdentifier classes lt nodeId gt 1450 lt nodeld gt lt apiName gt ManufacturerOrdersClass lt apiName gt typeSUBCLASS lt type gt lt displayName gt Manufacturer Orders lt displayName gt lt abstractClass gt true lt abstractClass gt lt superClass gt nodeId 931 nodeId v9 3 0 1 95 Agile PLM Core Web Services User Manual See also End Nene cU SS E a fies ees typeCLASS type displayName Changes displayName superClass classes classes lt nodeId gt 6000 lt nodeld gt lt apiName gt ChangeOrdersClass lt
288. s Core Table V1 lt request xmlns gt lt clearTable gt lt agileTable gt classIdentifier Part classIdentifier lt objectNumber gt P00707 lt objectNumber gt lt tableldentifier gt 807 lt tableldentifier gt lt agileTable gt lt clearTable gt lt clearTable gt lt agileTable gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00216 lt objectNumber gt lt tableldentifier gt 809 lt tableldentifier gt lt agileTable gt lt clearTable gt lt request gt lt clearTable gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS xml version 1 0 encoding utf 8 v9 3 0 1 245 Agile PLM Core Web Services User Manual lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema amina wwen A ba A ben e l v 122 Awe l INNI VMT Een eem i ent o en enen D x lt soapenv Body lt clearTableResponse xmlns http xmlns oracle com AgileObjects Core Table V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt lt clearTableResponse gt lt soapenv Body gt lt soapenv Envelope gt See also loadTable on page 259 246 Agile Product Lifecycle Management Tables Web Services Core Operations copyTable Service To copy the contents of an Agile Table object from a table to
289. s i null System out println isDeleted responses i getIsDeleted Sample Code SOAP EE lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isDeletedObject xmlns http xmlns oracle com AgileObjects Core Business V1 gt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00593 lt objectNumber gt lt requests gt lt request gt lt isDeletedObject gt lt soapenv Body gt lt soapenv Envelope gt RSS POS ZE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt isDeletedObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt isDeleted gt false lt isDeleted gt lt responses gt lt response gt lt isDeletedObjectResponse gt lt soapenv Body gt soapenv Envelope 172 Agile Product Lifecycle Management Business Webservices Core Operations See also advancedSea
290. s length j System out println exceptions j getMessage j uses 2 System out println Object table 0 getObjectNumber AgileTableType tables loadTableResponseType getTableContents displayTableContents tables Sample Code SOAP REUS STE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt loadTable xmlns http xmlns oracle com AgileObjects Core Table V1 lt request xmlns gt lt tableRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00220 lt objectNumber gt lt tableldentifier gt 809 lt tableldentifier gt lt tableRequest gt lt request gt lt loadTable gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt loadTableResponse xmlns http xmlns oracle com AgileObjects Core Table V1 response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt tableContents gt lt tableldentifier gt lt classId gt 6141 lt classId gt lt cla
291. s routed and the online approval process has begun it may be necessary to add or remove people from the list of approvers or observers When you use addApprovers services you specify the lists of approvers and observers whether the notification is urgent and an optional comment Syntax AddApproversResponseType addApproversResponseType agileStub addApprovers new AgileAddApproversRequestType Basic Steps To add approvers or observers 1 Initiate a batch operation to send a request for Approvers 2 Specify the type of object to whose workflow the approvers will be added Mention the specific workflow status to which the approvers will be added For example use CCB as a string to specify the CCB workflow status 4 An array of Users or Usergroups or both may be used to list the set of approvers that have to added Such a set of user information is expressed as an object of type AgileUserUserGroupldentifierType Object and Class identifiers are set for each of these objects to denote user information 5 If you want to define a usergroup here use the usergroup class as the specification followed by the name of the usergroup object 6 Setthe list of approvers as per the AgileUserUserGroupldentifierType objects defined Set values for obsevers a boolean flag to indicate urgency and pertinent comments 7 Therequest objects are set and the Agile Stub is used to make the addApprovers Web Service call The status code obtained from the
292. sCode Hf convertCurrencyResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType convertCurrencyResponseType getExceptions 118 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations Sample Code En Lint 3 best Sd i lt agileExceptionListType length EREN di AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage AgileWarningListType agileWarningListType convertCurrencyResponseType getWarnings if agileWarningListType null ojo oie ab c 10 9 i agileWarningListType length IFEK f AgileWarningType warnings agileWarningListType i getWarning moje bee 3 09 j warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage CS Sl AgileConvertCurrencyResponseType responses convertCurrencyResponseType getResponses for int j 0 j lt responses length AA 3 System out println Currency responses j getMoney getCurrency System out println Amount responses j getMoney getAmount li System out println Date responses j getDate getTime j P SOAP ES QUE xml version 1 0 encoding UTF 8 lt soapenv Envelope xml
293. sCode gt SUCCESS lt statusCode gt lt response gt lt removeApproversResponse gt soapenv Body soapenv Envelope See also getApprovers on page 192 addApprovers on page 208 v9 3 0 1 213 Agile PLM Core Web Services User Manual commentRObject Service To comment a routable object Usage When you comment a change you send a comment to other CCB reviewers during the online approval process In addition to the comment you can specify whether to notify the originator the change analyst and the change control board Syntax CommentRObjectResponseTyp agileStub commentRObject new commentRObjectResponseTyp Basic Steps To comment a routable object 1 commentRObject operation operations may be performed required to comment several r AgileCommentRObjectRequestType Create the request object CommentRObjectRequestType for the Create an array of requests of type AgileCommentRObjectRequestType Batch by populating as many request objects as outable objects with a single operation For each batched request specify the type of object and unique object number of the routable object which has to be commented upon Use boolean variables to denote whether the originators change analysts and CCB need to be notified true or false may be used for the same To set the element notifyList use the object AgileUserUserGroupldentifierT ype to specify the list of notifiers This populat
294. sDeletedObjectRequestType isDeletedObjectRequestType new IsDeletedObjectRequestType AgileIsDeletedObjectRequest agileIsDeletedObjectRequest new AgileIsDeletedObjectRequest 1 agileIsDeletedObjectRequest 0 new AgileIsDeletedObjectRequest agileIsDeletedObjectRequest 0 setClassIdentifier Part agileIsDeletedObjectRequest 0 setObjectNumber partNumber System out println Checking if partNumber av as colercol e UE isDeletedObjectRequestType setRequests agileIsDeletedObjectRequest IsDeletedObjectResponseType isDeletedObjectResponseType agileStub isDeletedObject isDeletedObjectRequestType System out println STATUS CODE isDeletedObjectResponseType getStatusCode v9 3 0 1 171 Agile PLM Core Web Services User Manual ALE lisDeletedO0bjectResponseType getStatusCode toString equals ResponseStatusCode CTTO OTOOC wanatia liana INVA E AgileExceptionListType agileExceptionListType isDeletedObjectResponseType getExceptions if agileExceptionListType null fot me SE c5 108 i lt agileExceptionListType length A E AgileExceptionType exceptions agileExceptionListType i getException FOr gne 3p 199 j lt exceptions length j System out println exceptions j getMessage j Elss 7 AgileIsDeletedObjectResponse responses isDeletedObjectResponseType getResponses if responses null for int i 0 i lt responses length i if response
295. sRequestType Basic Steps To retrieve an AutoNumber 1 Create the request object GetAutoNumbersRequestType for the getAutoNumbers operation 2 Create an array of requests of type AgileGetAutoNumbersRequestType Batch operations may be performed by populating several requests to obtain several AutoNumbers simultaneously 3 For each batched request specify the type of object for which AutoNumbers have to be obtained 4 SetincludeAllAutoNumberSource boolean field to use all available AutoNumber sources If this boolean is set to false then a unique autoNumberIdentifier should be specified 5 Also specify the number of AutoNumbers required by setting the size attribute 6 If an AutoNumber source is available for example from a custom AutoNumber Source then instead of including all available AutoNumber sources include only a particular set of AutoNumbers by specifying AutoNumberldentifiers as an array of string values 7 Therequest objects are set and the Agile Stub is used to make the AutoNumber Web Service call The status code obtained from the response object is printed to verify the success of the getAutoNumbers operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then display the AutoNumbers retrieved through the SOAP response and based on the number of AutoNumbers requested iterate through the response and display resul
296. sageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt isDeleted gt true lt isDeleted gt lt responses gt lt response gt deleteObjectResponse soapenv Body soapenv Envelope See also quickSearch on page 231 advancedSearch on page 234 168 Agile Product Lifecycle Management Business Webservices Core Operations undeleteObject Service To revoke the deleted status of a specific object that was previously deleted from the Agile PLM system Usage The specifications of the object to be undeleted are given in the request object Syntax UndeleteObjectResponseType undeleteObjectResponseType agileStub undeleteObject new UndeleteObjectRequestType Basic Steps To undelete a deleted object 1 Create the request object UndeleteObjectRequestType for the undeleteObject operation 2 Create an array of requests of type AgileUndeleteObjectRequest Batch operations may be performed by populating as many request objects as required to undelete several objects 3 Foreach of the requests set the class identifier to specify the type of object that will be undeleted and an object number to identify the unique object whose deletion will be revoked 4 Therequest objects are set and the Agile Stub is used to make the undeleteObject Web Service call The status code obtained from the response object is printed to verify the succe
297. scription Description for file 0 attachments setContent File Content file getBytes v9 3 0 1 75 Agile PLM Core Web Services User Manual agileAddFileAttachmentRequest 0 setAttachments attachments agileAddFileAttachmentRequest 0 setSingleFolder false addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest DH Adding attachments by File Reference You can add an attachment to an Agile object by using a file reference for a file that has already been added to DFM This reference is obtained from the DFM file server Adding an Attachment to a Part using its File Reference agileAddFileAttachmentRequest 0 setClassIdentifier Part agileAddFileAttachmentRequest 0 setObjectNumber partNumber AgileAddFileAttachmentReferenceRequestType reference new AgileAddFileAttachmentReferenceRequestType 1 reference 0 new AgileAddFileAttachmentReferenceRequestType reference 0 setFileId DFMfileId reference 0 setFileName FileThrowReference txt reference 0 setDescription File added using a reference reference 0 setFileSize new Long 1 agileAddFileAttachmentRequest 0 setAttachmentRefs reference addFileAttachmentRequestType setRequests agileAddFileAttachmentRequest DH Adding Multiple Attachments into Single Folder Addition of several file attachments to an Agile object requires explicit specification that all the files added to the Agile o
298. solutionType 0 setId 182 0 setResolution AgileWarningResolutionConstantsType ENAB ctRequestType setWarningResolution warningRes 22 Agile Product Lifecycle Management Chapter 3 Working with Business Objects This chapter includes the following Getting an Object iie iier E e REESE D HEP EE Re EH Ee eere er eee Pe E EH Re D PER Heg 23 EEUU USED Tec 24 s Saving Asa New Obert iii ad 25 Deleting and Undeleting an Ober EEN tte tatit te tete teens 27 wm Wpodatinig an Oe Em 28 Gettingthe Status of an TEE 29 w Gettingthe AutoNUtmbeis ioter cierre be te erigere ba Dre ed d 29 w ET lebt 30 mw E lebt 30 This chapter describes how to work with the Agile PLM Business Objects and provides sample code snippets Getting an Object To get an Agile PLM object use the operation getObject on page 160 This operation lets you specify the objectType and objectNumber parameters An objectType is the API name or ID of a Subclass For example a Part is an objectType of the Agile Class Item ECO is an object Type of the Agile Class Change An objectNumber is number of the Agile Object being retrieved The actual information about the object is obtained through the response in the form of AgileObjectType objects Use the following syntax to get an object by specifying objectType and objectNumber parameters as shown in examples GetObjectRequestType getObjectRequestType new GetObjectRequestTy
299. ss of the undeleteObject operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service Sample Code Java try setupServerLogin UndeleteObjectRequestType undeleteObjectRequestType new UndeleteObjectRequestType AgileUndeleteObjectRequest agileUndeleteObjectRequest new AgileUndeleteObjectRequest 1 agileUndeleteObjectRequest 0 new AgileUndeleteObjectRequest agileUndeleteObjectRequest 0 setClassIdentifier Part agileUndeleteObjectRequest 0 setObjectNumber partNumber System out println Undeleting part Partnumber 4 t ar undeleteObjectRequestType setRequests agileUndeleteObjectRequest UndeleteObjectResponseType undeleteObjectResponseType agileStub undeleteObject undeleteObjectRequestType System out println STATUS CODE undeleteObjectResponseType getStatusCode TAE undeleteObjectResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType undeleteObjectResponseType getExceptions if agileExceptionListType null aue awe ab S108 i agileExceptionListType length o 4 AgileExceptionType exceptions v9 3 0 1 169 Agile PLM Core Web Services User Manual awi TAN e e e be A ART iant D I se e TA H AAEM ern e nb anan ZA for int J OF j lt exceptions length j System out println exceptions j getMessage Sample Code
300. ssName gt ECO lt className gt lt objectId gt 6112315 lt objectId gt lt objectName gt C00220 lt objectName gt lt tableld gt 809 lt tableld gt lt tableName gt Af fectedItems lt tableName gt lt tableDisplayName gt Affected Items lt tableDisplayName gt lt tableldentifier gt row rowId 6112318 lt objectReferentId gt lt classId gt 10141 lt classId gt lt className gt Part lt className gt lt object Id gt 6112311 lt objectId gt lt objectName gt P00719 lt objectName gt 260 Agile Product Lifecycle Management Tables Web Services Core Operations A ne ek XhasBeenRedlinedImage xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 6350 readOnly True gt false lt hasBeenRedlinedImage gt lt itemNumber xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeId 1054 readOnly False gt P00719 lt itemNumber gt lt attachmentsImage xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 12623 readOnly True gt false lt attachmentsImage gt lt row gt lt tableContents gt lt response gt lt loadTableResponse gt lt soapenv Body gt soapenv Envelope v9 3 0 1 261 Agile PLM Core Web Services User Manual 262 Agile Product Lifecycle Management Appendix A Appendix This Appendix includes the following Working with Java Samples inest ettet ttt need detiene ede abt obe eoe o Eee d E 263 A
301. st in set query criteria 48 Agile Product Lifecycle Management Chapter 5 Working with Searches Specifying Search Attributes Every Agile PLM object that you can search for also has an associated set of attributes which are inherent characteristics of the object You can use these attributes as the left operand of a search condition The right operand of the search condition specifies the attribute s value s A search attribute must be enclosed within brackets for example Title Block Number The brackets are needed because many attribute names have spaces If a search attribute is not enclosed within brackets your query will fail You can specify a search attribute in the following ways attribute ID number 1001 fully qualified attribute name Title Block Number short attribute name Number Note Because attribute names can be modified Agile recommends referencing attributes by ID number or constant However many of the examples in this chapter reference attributes by name simply to make them more readable If you choose to reference attributes by name use the fully qualified attribute name instead of the short name Short attribute names are not guaranteed to be unique and could therefore cause your query to fail or produce unexpected results Note Specifying the search attributes using Attribute APIName is not supported Attribute names whether you use the long or short form are case insensitive For exam
302. st version If you specify a file version the row on the Attachments table is linked to that version If the parent object containing the Attachments table is an item you can incorporate the item to lock the specified versions of its attachments Example Setting the version when adding a row to the Attachments table This is carried out in two stages First add a row using the operation addRows on page 250 to add a file folder and then update the table using the operation updateRows on page 253 Stage 1 Adding the file folder to the attachment table of a Part AddRowsRequestType addRowsRequestType new AddRowsRequestType AgileAddRowsRequest agileAddRowsRequest new AgileAddRowsRequest 1 agileAddRowsRequest 0 new AgileAddRowsRequest RequestTableType table new RequestTableType table setClassIdentifier Part table setObjectNumber parentPartNumber table setTableIdentifier Attachments folderNumber FOLDERO00441 AgileRowType rows new AgileRowType 1 rows 0 new AgileRowType String namespaceUri null String COMMONNAMESPACEURI http xmlns oracle com AgileObjects Core Common V1 MessageElement messages new MessageElement 1 messages 0 new MessageElement namespaceUri folderNumber messages 0 addAttribute Constants NS PREFIX SCHEMA XSI COMMONNAMESPACEURI type ObjectReferentIdType ObjectReferentldType objRefld
303. story information or data about related objects These tables are read only and as such you cannot modify these tables When you write code to access a table use the operation isReadOnlyTable on page 241 to check if the table is read only Retrieving the Metadata of a Table You may require the metadata information of a table which is the underlying data that describes a table s properties This is useful when you need to identify the attributes of a particular table its ID or its table name without having to load a dataobject The metadata is obtained in the form of AttributeType objects from the response For this use the operation getTableMetadata on page 107 specifying the tableIdentifier and classIdentifier Example Retrieving Metadata of a Table agileGetTableMetadataRequestType 0 setClassIdentifier Part agileGetTableMetadataRequestType 0 setTableIdentifier table01 getTableMetadataRequestType setRequests agileGetTableMetadataRequestTyp e Adding Rows to a Table To create a table row use the operation addRows on page 250 which creates a new row and initializes it with the data specified in the rows parameter The rows parameter of addRows is available to pass the following data DB asetofattributes and values for the row s cells 2 an Agile PLM object such as an Item to add to the table When you add a row to a table it is not necessarily added at the end of the table v9 3 0 1 35 Agile PLM Core
304. stsRequestType System oui sprint lm STATUS MC ODE a SE getListsResponseType getStatusCode if getListsResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType getListsResponseType getExceptions soja hou st ms 0p 100 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations dio of mene Rev AD AST las eec i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage perseeni AgileGetListsResponseType responses getListsResponseType getListsResponse if responses null for int j 0 j lt responses length ase i AdminListType list responses jl getList System out print Lists retrieved for System out println agileGetListsRequestType j l getListIdentifier io TE aise om eet Tor absum ak 199 ah list deseo ture i AdminListType values list i getEntry if values null ione abate 0 ON jj lt values length ltz System out println jj E Uk Xe ue values jjl getApiName Sample Code SOAP cu JEE ER xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema ins
305. success of the updateRows operation 8 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 9 If the Web Service call was successful then confirm the success of the operation v9 3 0 1 253 Agile PLM Core Web Services User Manual Sample Code Java Ier AE setupServerLogin UpdateRowsRequestType updateRowsRequestType new UpdateRowsRequestType AgileUpdateRowsRequest agileUpdateRowsRequest new AgileUpdateRowsRequest 1 agileUpdateRowsRequest 0 new AgileUpdateRowsRequest RequestTableType table new RequestTableType table setClassIdentifier ECO table setObjectNumber changeNumber table setTableIdentifier AffectedItems AgileUpdateRow updateRow new AgileUpdateRow 1 updateRow 0 new AgileUpdateRow updateRow 0 setRowId getRowID ECO changeNumber AffectedItems partNumber AgileRowType row new AgileRowType String namespaceUri null MessageElement messages new MessageElement 1 Date date new Date date setTime date getTime messages 0 new MessageElement namespaceUri effectiveDate messages 0 addAttribute date px Constants URI DEFAULT SCHEMA XSD type dateTime messages 0 setObjectValue date row set any messages updateRow 0 setRow row agileUpdateRowsRequest 0 setRow updateRow agileUpdateRowsRequest 0 setObjectInfo table System out printl
306. t lt getTableMetadata xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt s qTedquestecmims ae lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt tableldentifier gt 807 lt tableldentifier gt lt requests gt lt requests gt lt classIdentifier gt ECO lt classIdentifier gt lt tableldentifier gt 808 lt tableldentifier gt lt requests gt lt request gt lt getTableMetadata gt lt soapenv Body gt lt soapenv Envelope gt Response lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getTableMetadataResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 response xmlns gt messageId xsi nil true gt 108 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations PRU A A EA 1 Geesen Ze AMAmA erent ant N lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt attributes gt nodeId 3669 nodeId lt apiName gt list19 lt apiName gt typeATTRIBUTE lt type gt lt displayName gt List19 lt displayName gt lt dataType gt 4 lt dataType gt lt possibleValues gt lt id xsi nil true gt lt apiName gt list19 lt apiName gt lt displayName gt List19 lt displayName gt t
307. t lt signoffForSelf gt true lt signoffForSelf gt lt rejectRObject gt lt request gt lt rejectRObject gt lt soapenv Body gt lt soapenv Envelope gt gt RESPONSE lt xml version 1 0 encoding utf 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt rejectRObjectResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt messageId xsi nil true gt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt response gt rejectRObjectResponse soapenv Body soapenv Envelope getApprovers on page 192 getStatus on page 186 auditRObject on page 189 approveRObject on page 198 204 Agile Product Lifecycle Management Collaboration Web Services Core Operations setWorkFlow Service Usage Syntax Basic Steps Sample Code To set the workflow of an object As long as a change is in the Pending status you have option to set a different workflow Once a change moves beyond Pending status you cannot change the workflow If a routable object has not been assigned a workflow yet you can use the setWorkflow method to set the workflow SetWorkFlowResponseType setWorkflowResponseType agileStub setWorkFlow new AgileSetWorkFlowRequestType To se
308. t lt city gt lt postalZipCode xsi type xs ttp www w3 org 2001 se gt lt postalZipCode gt lt businessPhone xsi type xs ttp www w3 org 2001 se gt lt businessPhone gt lt homePhone xsi type xs stri ttp www w3 org 2001 readOnly False gt lt homePhone gt lt mobilePhone xsi ttp www w3 org 2001 readOnly False gt lt mobilePhone gt lt fax xsi type xs tp www w3 org 2001 tp www w3 org 2001 tp www w3 org 2001 tp www w3 org 2001 tp www w3 org 2001 readOnly True gt lt profile gt lt roleS xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 11640 readOnly False lt users gt lt getUsersResponse gt lt soapenv Body gt lt soapenv Envelope gt getUserGroups on page 116 XM XM XM XM XM XM XM XM XM se gt lt secondaryEmail gt lt profile xsi type XM LSchema LSchema LSchema LSchema type xs LSchema Sia qu LSchema LSchema LSchema se gt admin admin com lt email gt lt secondaryEmail xsi type xs LSchema xs stri LSchema at a at at w ct ct at at at at BT chm teld 11625 ListEntryType tributeld 11626 Sii y ttributeld 11629 string tributeld 11619 ng tributeld 11620 ring tributeId 11621 tributeId 11622 tributeId 1162
309. t a workflow 1 Create the request object SetWorkFlowRequestType for the setWorkflow operation 2 Create an array of requests of type AgileSetWorkFlowRequestType Batch operations may be performed by populating as many request objects as required to set the workflows for several objects simultaneously 3 Foreach batched request specify the type of object whose workflow is to be set and its unique object number The getWorkflows Web Service may be used to obtain a list of Web Services for a given object using which the workFlowldentifier may be set 4 Therequest objects are set and the Agile Stub is used to make the setWorkflow Web Service call The status code obtained from the response object is printed to verify the success of the setWorkflow operation 5 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 6 If the Web Service call was successful confirm the same Java iie di setupServerLogin SetWorkFlowRequestType setWorkFlowRequestType new SetWorkFlowRequestType AgileSetWorkFlowRequestType agileSetWorkFlowRequestType new AgileSetWorkFlowRequestType 1 agileSetWorkFlowRequestType 0 new AgileSetWorkFlowRequestType agileSetWorkFlowRequestType 0 setClassIdentifier ECO agileSetWorkFlowRequestType 0 setObjectNumber changeNumber agileSetWorkFlowRequestType 0 setWorkFlowIdentifier workflow System out println Setting the workflow of Id workf
310. t agileGetWorkflowsRequestType GetWorkflowsResponseType getWorkflowsResponseType agileStub getWorkFlows getWorkflowsRequestType System out println STATUS CODE getWorkflowsResponseType getStatusCode ALTE getWorkflowsResponseType getStatusCode toString equals ResponseStatusCode SU CCESS getValue AgileExceptionListType agileExceptionListType getWorkflowsResponseType getExceptions if agileExceptionListType null ojo ae uu 9p i lt agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for iint Os j lt exceptions length j System out println exceptions j getMessage y Jess cmt AgileGetWorkflowsResponseType responses getWorkflowsResponseType getWorkflowResponse if responses null for int i 0 i lt responses length sE daa it System out println Workflow s of agileGetWorkflowsRequestType i getObjectNumber me o AgileWorkflowType workflows responses i getWorkflow if workflows null for tabou 3 109 j lt workflows length j System out println Gj amp NE Ui en workflows j l getWorkflowDisplayName Sample Code SOAP Request xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema insta
311. t dataCell new MessageElement namespaceUri name dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI TYPE ObjectReferentIdType dataCell setObjectValue obj message 0 dataCell row 0 set any message Adding Affected Item to a Change MessageElement dataCelll new MessageElement namespaceUri itemNumber dataCelll setObjectValue P00400 message 0 dataCelll MessageElement dataCell2 new MessageElement namespaceUri effectiveDate dataCell2 setObjectValue new Date dataCell2 addAttribute XSIPREFIX Constants URI DEFAULT SCHEMA XSD Lype dateTime message 1 dataCell2 MessageElement dataCell3 new MessageElement namespaceUri newRev dataCell3 setObjectValue Item 01 dataCell3 addAttribute XSIPREFIX Constants URI DEFAULT SCHEMA XSD TYPE string message 2 dataCell3 row 0 set any message Adding Site Specific Item to the BOM Tab To add a child object to a specific site we can utilize either the setOptions feature on the table object or use the setAdditionalRowInfo method on the row object Using setOptions on the table object will add all new rows to a particular site On the other hand setAdditionalRowInfo may be used to specify a site for each individual row meaning that if several rows are to be added with a web service call each row may be added to a different site
312. t gt core services lt serviceName gt wsdl gt lt axis wsdl2java gt lt target gt v9 3 0 1 Agile PLM Core Web Services User Manual Replace the lt serviceName gt with the name of the Web Service For example BusinessObject Collaboration and so on Operational Environment Development platforms vary in their SOAP implementations Implementation differences in certain development platforms may prevent access to some or all of the features in the API If you are using Visual Studio for NET development it is recommended that you use Visual Studio 2003 or higher Agile PLM Application Release 9 3 Default Web Services Engine Apache Axis 1 4 Java 2 Platform Standard Edition Development Kit 5 0 Standards Compliance The Agile PLM Web Services are implemented in compliance with the following standards Standard Location Simple Object Access Protocol SOAP 1 1 1 2 http www w3 org TR 2000 NOTE SOAP 20000508 Web Service Description Language WSDL 1 2 http www w3 org TR 2001 NOTE wsdl 20010315 WS I Basic Profile 1 1 http www ws i org Profiles BasicProfile 1 1 2004 08 24 html XML Schema 1 1 http www w3 org XML Schema Web Services Engines All Application Server vendors such as Oracle BEA IBM have built in Web Services infrastructure solutions that are integrated with their application servers For non web services integrated applications there are stand alone products such as AXIS from Apache which pro
313. t i 0 i lt responses length arse a System out println Approvers retrieved for the object responses i getIdentifier getObjectName io AgileIdentifierType approvers responses i getApprovers if approvers null oe ne gt 09 J lt approvers length j System Out printin p n f G ib s Ui iow approvers j getName Sample Code SOAP Request lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getApprovers xmlns http xmlns oracle com AgileObjects Core Collaboration V1 request xmlns lt approversRequest gt lt classIdentifier gt ECO lt classIdentifier gt lt objectNumber gt C00038 lt objectNumber gt lt statusIdentifier gt CCB lt statusIdentifier gt lt approversRequest gt lt request gt lt getApprovers gt lt soapenv Body gt lt soapenv Envelope gt RSS PONS e ER xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getApproversResponse xmlns http xmlns oracle com AgileObjects Core Collaboration V1 response xmlns gt v9 3 0 1 193 Agile PLM Core
314. tNumber System out println was successfully commented upon using the Web Service SAO SOAP SSS INSISTE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt commentRObject xmlns http xmlns oracle com AgileObjects Core Collaboration V1 gt lt request xmlns gt v9 3 0 1 215 Agile PLM Core Web Services User Manual AS A A lt TclassidentifiersEco lt classIdentifier gt lt objectNumber gt C00037 lt objectNumber gt lt comment gt Comment lt comment gt lt notifyOriginator gt true lt notifyOriginator gt lt notifyChangeAnalyst gt true lt notifyChangeAnalyst gt lt notifyCCB gt true lt notifyCCB gt lt notifyList gt lt classIdentifier gt 11610 lt classIdentifier gt lt objectIdentifier gt admin lt objectIdentifier gt notifyList lt commentRObjectRequest gt lt request gt lt commentRObject gt lt soapenv Body gt lt soapenv Envelope gt RS SONS ZE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt commentRObjectResponse xmlns http xmlns oracle com AgileObjects Core Collaboration
315. tObjectNumber changeNumber agileGetApproversRequestType 0 setStatusIdentifier status getApproversRequestType setApproversRequest agileGetApproversRequestTyp e Approving a Routable Object This method informs users the object is approved by the approver or when the approver is approving the object on behalf of one or more user groups You can also use this method to specify the secondSignature escalations transfers or signoffForSelf parameters as they are set in server s Preferences settings Use the operation approveRObject on page 198 Example Approving a Routable Object and notifying the users AgileUserUserGrouplIdentifierType notifiers new AgileUserUserGroupIdentifierType l notifiers 0 new AgileUserUserGroupIdentifierType notifiers 0 setClassIdentifier User notifiers 0 setObjectIdentifier notifierl AgileApproveRObjectRequestType agileApproveRObjectRequestType new AgileApproveRObjectRequestType 1 agileApproveRObjectRequestType 0 new AgileApproveRObjectRequestType agileApproveRObjectRequestType 0 setClassIdentifier ECO agileApproveRObjectRequestType 0 setObjectNumber changeNumber agileApproveRObjectRequestType 0 setPassword PASSWORD agileApproveRObjectRequestType 0 setComment Comment agileApproveRObjectRequestType 0 setSecondSignature null agileApproveRObjectRequestType 0 setNotifiers notifiers
316. tReferentIdType dataCell setObjectValue customer message 0 dataCell Note Other values like String numbers etc can be passed as they are However numbers should not be passed as strings Agile Attributes without API Names The following attributes do not have an API name You are required to use the Attribute IDs listed below These values have been picked from Agile SDK Constants For more information on this refer to Agile SDK Developer Guide Item Constants TABLE REDLINEBOM new Integer 803 TABLE REDLINEMANUFACTURERS new Integer 1491 TABLE REDLINETITLEBLOCK new Integer 801 TABLE REDLINEPAGETWO new Integer 810 TABLE REDLINEPAGETHREE new Integer 1501 FLAG IS REDLINE MODIFIED new Integer 101 FLAG IS REDLINE REMOVED new Integer 102 FLAG IS REDLINE ADDED new Integer 103 v9 3 0 1 19 Agile PLM Core Web Services User Manual User Constants ATT LOGIN PASSWORD new Integer 1 ATT APPROVAL PASSWORD new Integer 2 ATT SUPPLIER new Integer 3 ATT LOCALE new Integer 4 ATT TIMEZONE new Integer 5 ATT DATEFORMAT new Integer 6 ATT_DATETIMEFORMAT new Integer 7 Understanding the Web Services Responses Response Status Code The response obtained from every Web Service call contains a response statusCode which indicates the success or failure of the Web Service operation These Status Cods are of four types o SUCCESS Th
317. tRequestType To add a file in the attachment tab of an Agile Object 1 Create the request object AddFileAttachmentRequestType for the addFileAttachment operation 2 Create an array of requests of type AgileAddFileAttachmentRequestT ype Batch operations may be performed by populating as many request objects as required to add several files to different objects simultaneously 3 Foreach batched request specify the unique object to whose attachment tab the files shall be added Supply the class identifier and object number information 4 The exact specification of the attachment to be added is defined as an object of type AgileAddFileAttachmentRequestType This object includes information about the name of the file and its description and content 5 Therequest objects are set and the Agile Stub is used to make the addFileAttachment Web Service call The status code obtained from the response object is printed to verify the success of the addFileAttachment operation 6 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 If the Web Service call was successful then state the same Java try setupServerLogin AddFileAttachmentRequestType addFileAttachmentRequestType new AddFileAttachmentRequestType AgileAddFileAttachmentRequest agileAddFileAttachmentRequest new AgileAddFileAttachmentRequest 1 agileAddFileAttachmentRequest 0 new AgileAddFileAttachm
318. tRequestType sponseType getStatusCode hment tusCode toString equals ResponseStatusCo ptionListType getExceptions EE HE ONSE i getException bech ception Id exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningL getFileAttachmentResponseType agileWarningListType null for aye uL E i agileWarningListType Z it di AgileWarningType warnings agileWarningListType i ata EE j lt warnings length System out println Wa war Ris for nMessage war ZS Oe tType tWarnings length getWarning j ieigubs gy Jolie rs nings j l getWarningId o nings j getMessage 128 Agile Product Lifecycle Management Attachment Web Services Core Operations DX ET AgileGetFileAttachmentResponse responses getFileAttachmentResponseType getResponses if responses null for int i 0 i lt responses length EER f System out println The following files were retrieved from responses i getObjectNumber mom AgileFileAttachmentResponseType attachmentsResp responses i getAttachment if attachmentsResp null oe ase af Op j lt attachmentsResp length ass d System out println File name attachmentsResp j getName System out println File type attachmentsResp j getFileType System out println
319. tStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType setIncorporateResponseType getExceptions oie Gane a 0g i lt agileExceptionListType length TEE AgileExceptionType exceptions agileExceptionListType i getException mo o Mine 3 Op j j lt exceptions length System out println exceptions j getMessage D perga AgileSetIncorporateResponse responses setIncorporateResponseType getResponses iow inte y 09 nues ud j lt responses length System out println agileSetIncorporateRequest j getObjectNumber System out println Incorporated TS Sample Code SOAP E ees lt xml version 1 0 encoding sponses j getIsIncorporated e SNE lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org lt soapenv Body gt lt setIncorporate xmln lt request xmlns lt requests gt lt classIdent lt objectNumb lt incorporat lt requests gt lt request gt lt setIncorporate gt lt soapenv Body gt lt soapenv Envelope gt Response lt xml version 1 0 encoding lt soapenv Envelope xmlns so xmlns xsd http www w3 org xmlns xsi http www w3 org lt soapenv Body gt lt setIncorporateRespo 2001 XMLSchema instance gt s http xmlns oracle com AgileOb
320. tType setResultAttributes attrs When you use the setResultAttributes method make sure you specify valid result attributes Otherwise the setResultAttributes method will fail Examples of Searches The examples below show how to create quick search advanced search and how to get the searchable attributes Quick Search Operation quickSearch on page 231 QuickSearchRequestType quickSearchRequestType new uickSearchRequestType questType setClassIdentifier Part uickSearch questType setKeywords P0 uickSearch questType setSearchFiles false B UU UU W Q q quickSearch q Q uickSearchResponseType quickSearchResponseType agileStub quickSearch quickSearchRequestType 62 Agile Product Lifecycle Management Chapter 5 Working with Searches Advanced Search Operation advancedSearch on page 234 PO amp amp String attributel AdvancedSearchRequestType advancedSearchRequestType new AdvancedSearchRequestType advancedSearchRequestType setClassIdentifier Part advancedSearchRequestType setCaseSensitive false String criteria Title Block Number contains Title Block Description is not null advancedSearchRequestType setCriteria criteria String attributel Title Block Number String attribute2 Title Block Description String attribute3 Title Block Lifecycl
321. tained from the response object is printed to verify the success of the getUsers operation 4 Ifthe status code is not SUCCESS then populate the list of exceptions returned by the Web Service 5 If the Web Service call was successful then display the users retrieved Sample Code Java EE 2 setupServerLogin GetUsersRequestType getUsersRequestType new GetUsersRequestType GetUsersResponseType getUsersResponseType agileStub getUsers getUsersRequestType System out println STATUS CODE getUsersResponseType getStatusCode TAR getUsersResponseType getStatusCode toString equals ResponseStatusCode SUCCES S getValue AgileExceptionListType agileExceptionListType getUsersResponseType getExceptions oro Guia ak 09 i lt agileExceptionListType length aber E AgileExceptionType exceptions agileExceptionListType i getException for int J 0 j lt exceptions length j System out println exceptions j getMessage j cies AgileUserType users getUsersResponseType getUsers if users null Tor Ine OA users length ase d MessageElement messages users j get_any if messages null v9 3 0 1 113 Agile PLM Core Web Services User Manual Fax faint 2 2 SE ER jj lt messages length dois d System out print messages jj getTagName gt if messages jjl getFirstChild igybi tl 1k System out printin messages jj getFirstChild g
322. tance gt lt soapenv Body gt lt getLists xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt request xmlns gt lt listsRequest gt lt listIdentifier gt PartCategory lt listIdentifier gt lt listsRequest gt lt request gt lt getLists gt lt soapenv Body gt lt soapenv Envelope gt RSS POS SE xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getListsResponse xmlns http xmlns oracle com AgileObjects Core AdminMetadata V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt listsResponse gt lt list gt v9 3 0 1 101 Agile PLM Core Web Services User Manual Et esp cya ARS lt apiName gt PartCategory lt apiName gt lt displayName gt Part Category lt displayName gt typeSIMPLELIST lt type gt lt value xsi nil true gt lt entry gt lt id gt 2 lt id gt lt apiName gt ELECTRICAL lt apiName gt typeSIMPLELIST lt type gt lt value gt Electrical lt value gt lt entry gt lt entry gt lt id gt 1 lt id gt lt apiName gt MECHANICAL lt apiName gt typeSIMPLELIST lt type gt lt value gt Mechanical lt value gt lt entry gt lt li gt lt listIdentifier gt 311 lt listIdentifi
323. ter new String Electrical Mechanical params 2 new ParamListType params 2 setParameter new String Resistor advancedSearchRequestType setParams params You can also use String concatenation to reference an attribute constant advancedSearchRequestType setCriteria ItemConstants ATT TITLE BLOCK DESCRIPTION Computer Getting the Searchable Attributes The searchable attributes for a query depend on the specified query class or subclass However the searchable attributes for a subclass can differ greatly from searchable attributes for its parent class Due to database considerations not all attributes are searchable Generally a few select Page One attribute namely Title Page Cover Page and General Info attributes are searchable for each class If a tab is not configured in Java Client to be visible you can still search for an attribute on that tab in the Agile Web Services However you must search for the Table name that corresponds to the Tab name To find the searchable attributes for a query use the getSearchableAttributes operation Even though an attribute may not be searchable it can still be included as a column in the query results For more information see Setting Result Attributes for a Query Using Relational Operators Table below lists relational operators that are supported by the Agile Web Services search operations equal to ES A Finds
324. teria In addition to its standard query language the Agile Web Services also supports SQL like syntax to specify search criteria If you are familiar with SQL statements you may find this extended query language more flexible more powerful and easier to work with It combines in one operation the specification of the query result attributes the query class the search condition and the sort column s This is a simple example that demonstrates the syntax o Query result attributes SELECT Title Block Number Title Block Description o Query class FROM Items 8 Search condition WHERE Title Block Number starts with P 8 Sort column s ORDER BY 1 asc To improve readability it s recommended that SQL key words such as SELECT and FROM are all typed using capital letters and each part of the statement appears on a separate line This is merely a convention not a requirement SQL key words are not case sensitive and you can write the entire query string on one line if you prefer The best way to demonstrate the advantages of SQL syntax is to compare the code for a query that uses standard Agile API query syntax for search criteria with one that uses SQL syntax The v9 3 0 1 55 Agile PLM Core Web Services User Manual following example shows a query created using the standard Agile API query syntax Example Query using standard Agile API query syntax advancedSearchRequestType setCriteria Page
325. tionalOperators ISNOTNULL relationalOperators lt relationalOperators gt LIKE lt relationalOperators gt lt relationalOperators gt NOTLIKE lt relationalOperators gt lt relationalOperators gt STARTSWITH lt relationalOperators gt lt relationalOperators gt NOTSTARTSWITH lt relationalOperators gt lt relationalOperators gt CONTAINS lt relationalOperators gt relationalOperators NOTCONTAINS relationalOperators attributes lt classIdentifier gt Specification lt classIdentifier gt lt attributesResponses gt lt response gt lt getAttributesResponse gt lt soapenv Body gt lt soapenv Envelope gt See also getLists on page 100 getNode on page 97 getTableMetadata on page 107 106 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations getTableMetadata Service Usage Syntax Basic Steps Sample Code To retrieve the metadata information of an Agile table in the PLM system The request object contains classIdentifier and tableIdentifier The table metadata information retrieved is obtained through the response GetTableMetadataResponseType getTableMetadataResponseType agileStub getTableMetadata new GetTableMetadataRequestType To retrieve the table metadata 1 Create the request object GetTableMetadataRequestType for the getTableMetaData operation 2 Create an array of requests of type AgileGetTableMetadataRequestType Batch operations may
326. trieve and view the Word document The steps are 1 Login to PLM Client 2 Search and locate the document 3 Check out the document in Word 4 Modify the documents in Word 6 Agile Product Lifecycle Management Chapter 1 Introduction to Agile PLM Web Services 5 Check In the document 6 Log out Using Agile PLM s Web Services the casual user directly accesses Agile PLM documents from MS Word This simple UI will encourage and accelerate greater user participation Agile PLM is transparent to this class of users which eliminates training and exposure in PLM Web Client Search Check Out Update Check In MS Word se xe Agile PLM Documents Microsoft Word User Interface Integration MS Excel This is similar to MS Word integration In this case the casual user is one of your partners and suppliers Using PLM s Web Services you can provide a simple UI in Excel template for suppliers and partners Then when necessary suppliers import information such as compliance and price data directly into PLM system from Excel Benefits include greater and more convenient supplier participation in the PLM process with no training in Agile PLM Web Client Figure 1 Ul Integration MS Excel 1 Number Description Manufacture Part Weight EU RoHS Exemption Halogen Free 2 MPN MeNIDescMFRI ing Compliant Compliant 3 MPNO WE Desc MFR2 ing Compliant Compliant AMK A B t DES a ges m E 5
327. ts Sample Code Java try setupServerLogin GetAutoNumbersRequestType getAutoNumbersRequestType new GetAutoNumbersRequestType AgileGetAutoNumbersRequestType agileGetAutoNumbersRequestType new AgileGetAutoNumbersRequestType 2 FOr int i 07 110 Agile Product Lifecycle Management Admin and Metadata Web Services Core Operations 4 o nawi EH Dat ANS AA AA AA Mera TAnanth i agileGetAutoNumbersRequestType i new SE agileGetAutoNumbersRequestType 0 setClassIdentifier ECO agileGetAutoNumbersRequestType setIncludeAllAutoNumberSource true agileGetAutoNumbersRequestType setSize 2 agileGetAutoNumbersRequestType setClassIdentifier Part agileGetAutoNumbersRequestType setAutoNumberIdentifier new String PartNumber agileGetAutoNumbersRequestType 1 setSize 3 getAutoNumbersRequestType setRequests agileGetAutoNumbersRequestType GetAutoNumbersResponseType getAutoNumbersResponseType agileStub getAutoNumbers getAutoNumbersRequestType System out println STATUS CODE getAutoNumbersResponseType getStatusCode Ri Se Sg getAutoNumbersResponseType getStatusCode toString equals ResponseStatusCode SUCCESS getValue AgileExceptionListType agileExceptionListType getAutoNumbersResponseType getExceptions if agileExceptionListType null ojo bai at Op i agileExceptionListType length marae si AgileExceptionType exceptions agileExceptionListType
328. ttachments Attachments to objects contain information about the object or a manufacturing process You can attach files and URLs by referencing them in a File Folder object The File Folder object holds pertinent content or Attachments Most primary Agile API objects such as Item Change Manufacturer ManufacturerPart Package TransferOrder User and UserGroup have an attachments table or tab in the Java Client that lists indirect references to the files or URLs that are in separate file folders Each row in an Attachments table can refer to one file or to all files from a referenced file folder Getting Attachments of an Object A file attachment is retrieved using the operation getFileAttachment on page 127 When the required file is present in a single separate row it is downloaded from the attachment tab using its rowId ln other cases when there are several files in the same row and the desired file is one of them the fileld must also be specified Example Getting a single Attachment agileGetFileAttachmentRequest 0 setClassIdentifier Part agileGetFileAttachmentRequest 0 setObjectNumber partNumber agileGetFileAttachmentRequest 0 setAllFiles false AgileFileAttachmentRequestType attachments new AgileFileAttachmentRequestType 1 attachments 0 new AgileFileAttachmentRequestType attachments 0 setRowId rowId agileGetFileAttachmentRequest 0 setAttachments attachments GetFileAttachme
329. tub getTableMetadata getTableMetadataRequestType System out println STATUS CODE getTableMetadataResponseType getStatusCode TE getTableMetadataResponseType getStatusCode toString equals ResponseStatusCod e SUCCESS getValue AgileExceptionListType agileExceptionListType v9 3 0 1 107 Agile PLM Core Web Services User Manual ojo Sua ak 10 i agileExceptionListType length i AgileExceptionType exceptions agileExceptionListType i getException for int j 0 j lt exceptions length j System out println exceptions j getMessage j else x AgileGetTableMetadataResponseType responses getTableMetadataResponseType getResponses if responses null for int j 0 j lt responses length 3v 2 AttributeType attributes responses jl getAttributes System out printin Class agileGetTableMetadataRequestType jl getClassIdentifier System out print Attributes for System out println responses jl getTableName me om if attributes null ore Gate a cs 9p i attributes length i System out println i LN 4 a attributes i getDisplayName Sample Code SOAP RS US EE xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body g
330. tyValue gt lt options gt lt requests gt lt request gt getObject soapenv Body soapenv Envelope RSS PONS eM e lt xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getObjectResponse xmlns http xmlns oracle com AgileObjects Core Business V1 gt lt response xmlns gt lt messageld xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt agileObject gt lt objectIdentifier gt lt classId gt 1488 lt classId gt lt className gt ManufacturerPart lt className gt lt classDisplayName gt Manufacturer Part lt classDisplayName gt lt objectId gt 6110515 lt objectId gt lt objectName gt MANUF_PART1241535324230 lt objectName gt lt objectIdentifier gt lt table gt lt tableldentifier gt lt classId gt 1488 lt classId gt lt className gt ManufacturerPart lt className gt lt objectId gt 6110515 lt objectId gt lt objectName gt MANUF_PART1241535324230 lt objectName gt lt tableld gt 807 lt tableld gt lt tableName gt Attachments lt tableName gt lt tableDisplayName gt Attachments lt tableDisplayName gt lt tableldentifier gt lt table gt 162 Agile Product Lifecycle Management Business Webservices Core Operatio
331. ue warnings you may specify a list of notifiers 198 Agile Product Lifecycle Management Collaboration Web Services Core Operations Sample Code Agile Warnings are commonly encountered while executing Web Services While these warnings do not cause a Web Service failure by themselves they need to be resolved in advance for the Web Service to successfully perform the intended objectives 7 This may be achieved by either disabling all warnings or by specifically resolving a particular warning message All warnings may be disabled by setting the element approveRObjectRequestType getDisableAllWarnings true 8 Aspecific warning may be resolved by using AgileWarningResolutionType and specifying the warning id This warning ID is obtained by using the agileWarningType getReference which returns a string value 9 You can also disable a Collaboration warning that states that a particular user has already signed off on the routable object clarifying whether the user wishes to sign off again While a warning of this type would not cause a Web Service failure the routable object will not be approved To ensure the approval the warning should not be disabled 10 The request objects are set and the Agile Stub is used to make the approveRObject Web Service call The status code obtained from the response object is printed to verify the success of the approveRObject operation 11 If the status code is not SUCCESS then populate
332. uest 0 setFiles files getFileFFRequestType setRequests agileGetFileFFRequest Adding Files to a File Folder Object With the operation addFileFF you can add files to the Files tab of a File Folder Before you add the files the File Folder must be checked out using the operation checkOutFF checkOutFolder folderNumber agileAddFileFFRequestType 0 setFolderNumber folderNumber AddFileFFType files new AddFileFFType 1 files 0 new AddFileFFType files 0 setFileName Filename txt files 0 setDescription Description for file files 0 setFileContent File Content file getBytes agileAddFileFFRequestType 0 setFiles files v9 3 0 1 71 Agile PLM Core Web Services User Manual addFileFFRequestType setRequest agileAddFileFFRequestType Example Adding a File using its DFM Reference For the files that were already added to DFM you can add a file to the Files tab of a file folder using a reference obtained from the DFM file server checkOutFolder folderNumber agileAddFileFFRequestType 0 setFolderNumber folderNumber AddFileReferenceFFType reference new AddFileReferenceFFType 1 reference 0 new AddFileReferenceFFType reference 0 setFileId fileId reference 0 setFileName FileThrowReference txt reference 0 setDescription file added using a reference reference 0 setFileSize new Long 1 agileAddFileFFRequestType
333. uestType t agileGetFileAttachmentRequest H 1 new AgileGetFileAttachmentRequest agileGetFileAt t 0 setCl agileGetFileAttachmentRequest 0 agileGetFileAttachmentRequest 0 setAl System out println Retrieving a file partNumber TEN AgileFileAttachmentRequestTy AgileFileAttachmentRequestTy attachments 0 new AgileFileAttachmentRequest attachments 0 se tachmentReques pe 1 1 agileGetFileAttachmentRequest 0 getCl agileGetFileAttachmentRequest 0 getOb SetAt tReques agileGetFileAttachmentRequest 0 GetFileAttachmentRequestType se GetFileAttachmentResponseType getFileA agileStub getFileAttachment System out println NnSTATUS CODE getFileAttachmentRe for getFileAttac Gerril DS getFileAttachmentResponseType getSta de SUCCESS getValue AgileExceptionListType agileExce getFileAttachmentResponseType agileExceptionListType null Eos lie Sb p i agileExceptionListTyp dr Wi AgileExceptionType excepti agileExceptionListType ate 0 j lt exceptions length System out println Ex ZE for pe attachments assIdentifier Part setO0bjectNumber partNumber lFiles false from the attachment tab DI of the part new Type tRowId getRowOrFileId fileName assIdentifier jectNumber Attachments getRowId tachments attachments ts agileGetFileAttachmentRequest ttachmentResponseType eAttachmen
334. un a query and find that the resulting table object does not contain the attributes you expected it s because you didn t specify result attributes The following example shows how to specify the result attributes for a query v9 3 0 1 61 Agile PLM Core Web Services User Manual Example Setting query result attributes String attributel Title Block Number String attribute2 Title Block Description String attribute3 advancedSearchRequestType setResultAttributes new String attributel attribute2 attribute3 Title Block Lifecycle Phase The ResultAttributes element takes an array of String where you can array of attribute names such as Title Block Description Title Block Number or attribute ID constants or attribute API names The following example shows how to specify result attributes using ID constants Setting query result attributes by specifying ID constants private void setQueryResultColumns IQuery query throws APIException Put the attribute IDs into an array String attrs ItemConstants ATT TITLE BLOCK NUMBER ItemConstants ATT TITLE BLOCK DESCRIPTION ItemConstants ATT TITLE BLOC LIFECYCLE PHASE ItemConstants ATT PAGE TWO TEXTOl1 ItemConstants ATT PAGE TWO NUMERICO1 ItemConstants ATT PAGE THREE TEXTO1 j Set the result attributes for the query K K advancedSearchReques
335. vel explaining the functionality or usage scenario that the sample demonstrates A set of static variables relating to server url username password and variables specific to that sample like partNumber or folderName or nextStatus are declared here If the sample is executed using the ant task via run bat then the server configuration related static variables are overridden by the method checkArguments String args which obtains arguments 264 Agile Product Lifecycle Management Appendix A from the ant task and reinitializes server URL username password and DFM URL variables In the case of a sample executed through a Java IDE the server configuration variables must be modified manually to reflect the server settings of your Agile server With the exception of adminMetaData services all samples provided here use the method prepareData to prepare all the data prerequisites necessary to create a scenario using which a particular Web Service may be demonstrated meaningfully For example if the sample demonstrates usage of the operation loadTable to load a table from a particular version of an Agile object prepareData will do the following 1 Create a part object 2 Adda change modify the part 3 Provide a new version number 4 Release the change After the data has been prepared the operation loadTable is now used with the option version to demonstrate the retrieval of a table from a particular version of an Ag
336. ver Page Status Cover Page Workflow Cover Page RFQ Number Cover Page RFQ Description Cover Page Lifecycle Phase Cover Page Requested Cover Page Completed Cover Page Due Date Cover Page RFQ Number Cover Page RFQ Description Cover Page MFG Site Cover Page Ship To Location Cover Page Program Cover Page Customer 60 Agile Product Lifecycle Management Chapter 5 Working with Searches Specifications Specifications Specification Substances Materials Material Subparts Subpart Substance Groups Substance Group Substances Substance Suppliers Suppliers Component Manufacturer Contract Manufacturer Distributor Manufacturer Rep Transfer Orders Content Transfer Orders CTO Automated Transfer Orders ATO Specifying Result Attributes Cover Page Lifecycle Phase Cover Page RFQ Type General Info Name General Info Contact General Info Phone General Info Name General Info Description General Info Lifecycle Phase General Info Jurisdictions General Info Validation Type General Info Specification Type General Info Name General Info Description General Info CAS Number General Info Lifecycle Phase General Info Substance Type General Info Supplier Type General Info Number General Info Name General Info Description General Info Status Cover Page Transfer Order Type Cover Page Transfer Order Number Cover Page Description Cover Page Status Cover Page Workflow If you r
337. vice 8 Usethe status code to ascertain the success of the operation and use the value IsRedlineModified from the response object to obtain the redline statuses Sample Code Java IsRedlineModifiedRequestType batchRequest new IsRedlineModifiedRequestType AgileIsRedlineModifiedRequest requests new AgileIsRedlineModifiedRequest 2 String itemNumber SDKHelper createDataForUndoRedline session System out println Undo redline on item itemNumber requests 0 new AgilelsRedlineModifiedRequest requests 0 setClassIdentifier Part requests 0 setObjectNumber itemNumber PropertyType options new PropertyType 1 options 0 new PropertyType options 0 setPropertyName SchemaConstants revision toString options 0 setPropertyValue B requests 0 setOptions options String rowIds SDKHelper getRowIds session itemNumber 803 redline table v9 3 0 1 227 Agile PLM Core Web Services User Manual Sample Code TT wn n e e ri Je nart THR HARA l anar TAa TAnanthi Oe me Gl 09 al lt lt monos Length alse of ids i getRowid rowlds i requests 0 setRowId ids 0 requests 0 setRedlineTable RedlineTableType TABLE REDLINEBOM requests 1 new AgilelsRedlineModifiedRequest requests 1 setClassIdentifier Part requests 1 setObjectNumber itemNumber requests 1 setOptions options requests 1 setRowId ids 1 requests 1 setRedlineTa
338. vice stub Use the status code to ascertain the success of the operation Java UndoRedlineRequestType batchRequest new UndoRedlineRequestType AgileUndoRedlineRequest requests new AgileUndoRedlineRequest 1 Toya String itemNumber SDKHelper createDataForUndoRedline session System out println Undo redline on item itemNumber requests 0 new AgileUndoRedlineRequest requests 0 setObjectNumber itemNumber requests 0 setClassIdentifier Part PropertyType options new PropertyType 1 options 0 new PropertyType options 0 setPropertyName SchemaConstants revision toString options 0 setPropertyValue B requests 0 setOptions options String rowIds SDKHelper getRowIds session itemNumber 803 redline table v9 3 0 1 225 Agile PLM Core Web Services User Manual Sample Code See also TT wn bw ee e TT SAR nart TR HAR AA LAT TI sn et kal a for int i 02 al lt rowids length iF f ids i getRowid rowIds i requests 0 setRowId ids requests 0 setRedlineTable RedlineTableType TABLE REDLINEBOM batchRequest setRequests requests UndoRedlineResponseType batchResponse agileStub undoRedline batchRequest AgileUndoRedlineResponse responses batchResponse getResponses System out println Responses length responses length System out println Response status batchResponse getStatusCode getValue y SO
339. vide Web Services infrastructure that can be integrated with different application servers The following Web Services Engines are supported 8 Oracle Apps Server Web Service Infrastructure a WebLogic Web Service Infrastructure o Axis version 1 4 BD Axis2 version 1 4 14 Agile Product Lifecycle Management Chapter 2 Getting Started with Agile Web Services Important Axis 1 4 is the default Web Services Engine for Agile PLM Release 9 3 Generating and Initializing the Stubs The Stub acts as a gateway for client side objects and all outgoing requests to server side objects that are routed through it The stub wraps client object functionality and by adding the network logic ensures the reliable communication channel between client and server The stub can be written up manually or generated automatically depending on chosen communication protocol For Agile Web Services to function successfully you first need to create Agile PLM Server Stubs and initialize the Client side Stubs Generating Agile Stubs Execute the Ant target wsdl2java Generate Client All the stubs are created in src folder Initializing the Client Stubs In the following sample the generated stubs are being initialized for Business Object Web Services client You may adapt it for other Web Services String SERVER URL http host port core services BusinessObject String USERNAME admin tring PASSWORD agile
340. w status v9 3 0 1 81 Agile PLM Core Web Services User Manual Getting the Status of a Workflow The workflow actions available for a pending change are different from those for a released change To check the status of a change to determine whether it s pending or released use the operation getStatus on page 186 This operation returns statusName value for the workflow status which are Pending Submitted Released etc Example Getting the status of a change object GetStatusRequestType getStatusRequestType new GetStatusRequestType AgileGetStatusRequestType agileGetStatusRequestType new AgileGetStatusRequestType 1 1 agileGetStatusRequestType 0 new AgileGetStatusRequestType agileGetStatusRequestType 0 setClassIdentifier ECO agileGetStatusRequestType 0 setObjectNumber changeNumber getStatusRequestType setStatusRequest agileGetStatusRequestType Getting the Workflow of a Routable Object When you create a new change package product service request or quality change order you must select a workflow Otherwise the object is in an unassigned state and cannot progress through a workflow process Your Agile system can have multiple workflows defined for each type of routable object To get the valid workflows for a routable object which has not yet been assigned a workflow use the operation getWorkFlows on page 183 Example Getting a Workflow GetWorkflowsRequ
341. xceptionListType getStatusResponseType getExceptions if agileExceptionListType null sone Ghigic aL 0 i lt agileExceptionListType length EEF f AgileExceptionType exceptions agileExceptionListType i getException inone e a 08 j lt exceptions length j System out println exceptions j getMessage else AgileGetStatusResponseType responses getStatusResponseType getStatusResponse if responses null for int i 0 i lt responses length ar 4 System out print Current status for object agileGetStatusRequestType i getObjectNumber Sye EEM OnE PLANCES responses i getCurrentStatus getStatusDisplayName AgileStatusType nextDefaultStatus responses i getNextDefaultStatus System out println The default next status if nextDefaultStatus null System out println nextDefaultStatus getStatusDisplayName System out println Next valid statuses AgileStatusType nextValidStatuses responses i getNextStatus if nextValidStatuses null mo o ae 3 07 j lt nextValidStatuses length j System out println j I nextValidStatuses j getStatusDisplayName Ji Sample Code SOAP REUS S SS xml version 1 0 encoding UTF 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instanc
342. xceptions getException EOK exceptions j getExceptionId nMessage exceptions j getMessage AgileWarningListType agileWarningListType addFileAttachmentResponseType getWarnings if agileWarningListType null irene Ale ab 9p i agileWarningListType length EFE af AgileWarningType warnings agileWarningListType i getWarning inone aste a 0p j lt warnings length j System out println Warning Id warnings jl getWarningId nMessage warnings j getMessage RSS AgileAddFileAttachmentResponse responses addFileAttachmentResponseType getResponses if responses null for int i 0 i lt responses length SIE System out println The specified file was successfully added to the Attachment tab System out println of the object responses i getObjectNumber Sample Code SOAP cts ROUES lt xml version 1 0 encoding UTF 8 gt lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt addFileAttachment xmlns http xmlns oracle com AgileObjects Core Attachment V1 REQUEST Si lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt P00720 lt objectNumber gt 132 Agile Product Lifecycle Management Attachment Web Services Core Operations See
343. xmlns xsi http www w3 org 2001 XMLSchema instance gt 222 Agile Product Lifecycle Management PC Web Services Core Operations PARRAS PAS lt getRevisions xmlns http xmlns oracle com Agile0bjects Core Pc v1 gt lt request xmlns gt lt requests gt lt classIdentifier gt Part lt classIdentifier gt lt objectNumber gt 1000 02 lt objectNumber gt lt allRevisions gt false lt allRevisions gt lt requests gt lt requests gt classIdentifier Part classIdentifier lt objectNumber gt 1000 02 lt objectNumber gt lt allRevisions gt true lt allRevisions gt lt requests gt lt request gt lt getRevisions gt lt soapenv Body gt lt soapenv Envelope gt RES PONS cess xml version 1 0 encoding utf 8 lt soapenv Envelope xmlns soapenv http schemas xmlsoap org soap envelope xmlns xsde http www w3 0rg 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt getRevisionsResponse xmlns http xmlns oracle com AgileObjects Core Pc V1 gt lt response xmlns gt messageId xsi nil true gt lt messageName xsi nil true gt lt statusCode gt SUCCESS lt statusCode gt lt responses gt lt currentRev gt C lt currentRev gt lt responses gt lt responses gt lt currentRev gt C lt currentRev gt lt revisions gt lt changeldentifier gt lt classId gt 6141 lt classId gt lt className gt ECO lt className gt lt classDisplayName
344. xmlns xsi http www w3 org 2001 XMLSchema instance gt lt soapenv Body gt lt checkInFFResponse xmlns http xmlns oracle com AgileObjects Core Attachment V1 gt lt response xmlns gt messageId xsi nil true gt 138 Agile Product Lifecycle Management Attachment Web Services Core Operations ee vn e rn ee ennen W IS Statue DEE EE edes responses folderNumber FOLDERO00220 folderNumber responses lt response gt lt checkInFFResponse gt soapenv Body soapenv Envelope See also getRowId Method on page 267 checkOutFF on page 134 v9 3 0 1 139 Agile PLM Core Web Services User Manual cancelCheckOutFF Service Usage Syntax Basic Steps Sample Code To cancel the checked out status of an Agile File Folder object which was earlier checked out using the checkout operation The request object specifies the file folder for which the checked out status has to be annulled CancelCheckOutFFResponseType CancelCheckOutFFResponseType agileStub cancelCheckOutFF new CancelCheckOutFFRequestType To cancel the checked out File Folder Before adding a new file to a folder the folder object must be checked out prior to any file operation The checkout Web Service is used to achieve the same as shown in the sample code 1 Create the request object CancelCheckOutFFRequestT ype for the CancelCheckOutFF operation 2 Create an array of requests of type A
345. y the tables pertaining to the Agile object that will be retrieved by the operation getObject The table identifier is used for this purpose If the meta data is also required then the boolean 1oadCellMetaData is set to true 5 Therequest objects are set and the Agile Stub is used to make the getObject Web Service call The status code obtained from the response object is printed to verify the success of the getObject operation 6 If the status code is not SUCCESS then populate the list of exceptions returned by the Web Service 7 Ifthe object was successfully retrieved then examine its contents From this object obtain a list of tables from the agile object 8 From these tables obtain a set of rows and print the values of the objects within these rows using their respective message elements Sample Code Java tere dd setupServerLogin GetObjectRequestType getObjectRequestType new GetObjectRequestType AgileGetObjectRequest agileGetObjectRequest new AgileGetObjectRequest 1 agileGetObjectRequest 0 new AgileGetObjectRequest agileGetObjectRequest 0 setClassIdentifier Part agileGetObjectRequest 0 setObjectNumber partNumber System out println Retrieving object 160 Agile Product Lifecycle Management Business Webservices Core Operations RA e MI een A 1 we Mv Ns AgileDataTableRequestType tableRequests new AgileDataTableRequestType 1 tableRequests 0 new AgileDataTableRequestType
346. yTable addRows removeRows updateRows Mfr Parts loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Mfr Parts loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Mfr Parts loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Mfr Parts loadTable copyTable clearTable isReadonlyTable 32 Agile Product Lifecycle Management Chapter 4 Working with Tables Mfr Parts Where Used Mfr Parts loadTable isReadOnlyTable Sites Relationships Sites loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Sites History loadTable isReadOnlyTable PQM Table Name Objects Web Services API PSR Affected Items PSR loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows PSR Related PSR PSR loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows QCR Affected Items QCR loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows QCR Relationships QCR loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows Loading a Table PSR Relationships PSR loadTable copyTable clearTable isReadonlyTable addRows removeRows updateRows You can use the operation loadTable on page 259 to load a table from Agile PLM system This operation takes tablesIdentifier parameter along with classIdentifier and objectIdentifier
347. yType dataCell setObjectValue list01 message 1 dataCell List of Objects In certain cases SDK expects a list of IDataObject to be passed For such cases Agile Web Services use AgileObjectListEntryType AgileObjectListEntryType multilist0l new AgileObjectListEntryType ObjectReferentIdType obj new ObjectReferentIdType 1 obj 0 new ObjectReferentIdType v9 3 0 1 17 Agile PLM Core Web Services User Manual obj 0 setClassIdentifier 8750 obj 0 setObjectIdentifier SAP0265 multilist01 setSelection obj MessageElement dataCell new MessageElement namespaceUri supplier dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue AgileObjectListEntryType dataCell setObjectValue multilist01 message 0 dataCell Money The corresponding object is AgileMoneyType You are required to pass the namespace attribute AgileMoneyType money new AgileMoneyType money setAmount 997777 9 money setCurrency USD MessageElement dataCell new MessageElement namespaceUri money01 dataCell setObjectValue money dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue AgileMoneyType message 0 dataCell Date Object can be Date or Calendar objects provided by Java You are required to pass the namespace attribute
348. ycle Management Chapter 2 Getting Started with Agile Web Services dataCell setObjectValue uom message 0 dataCell Multilist and List The corresponding object is AgileListEntryType You are required to pass the namespace attribute Example MessageElement for a Multilist AgileListEntryType multilist01l new AgileListEntryType SelectionType multiSelect new SelectionType 3 multiSelect new SelectionType tiSelect 0 setValue Canceled tiSelect new SelectionType ultiSelect new SelectionType 0 ji 0 1 1 ultiSelect 1 setValue Complete 1 2 l 2 a Hei sa ri ultiSelect 2 setValue Accepted multilist01 setSelection multiSelect MessageElement dataCell new MessageElement namespaceUri multilist01 dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue AgileListEntryType dataCell setObjectValue multilist01 message 1 dataCell Example MessageElement for a List AgileListEntryType listO01 new AgileListEntryType SelectionType selection new SelectionType 1 selection 0 new SelectionType selection 0 setValue Alternate list01 setSelection selection MessageElement dataCell new MessageElement namespaceUri list01 dataCell addAttribute XSIPREFIX COMMONNAMESPACEURI SchemaConstants type getValue AgileListEntr
349. ype new DeleteObjectRequestType AgileDeleteObjectRequest agileDeleteObjectRequest new AgileDeleteObjectRequest 1 agileDeleteObjectRequest 0 new AgileDeleteObjectRequest v9 3 0 1 69 Agile PLM Core Web Services User Manual agileDeleteObjectRequest 0 setClassIdentifier FileFolder agileDeleteObjectRequest 0 setObjectNumber folderNumber deleteObjectRequestType setRequests agileDeleteObjectRequest Getting a File from a File Folder If a file folder is checked out by another user you can still get a copy of the file folder file s and save it to your local machine You can use the operation getFileFF which returns the file stream associated with a row of the Attachments table The file stream can be for one file or it can be a zipped file stream for multiple files depending on how many files the associated file folder has If you call this operation from the file folder object you return the zipped file stream for all files listed on the Files table Whereas if you call this operation from a row of the Files table of a file folder you return a file stream for the specific file associated with that row GetFileFFRequestType getFileFFRequestType new GetFileFFRequestType AgileGetFileFFRequest agileGetFileFFRequest new AgileGetFileFFRequest 1 agileGetFileFFRequest 0 new AgileGetFileFFRequest agileGetFileFFRequest 0 setFolde
350. ype xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 1001 gt P00001 lt number gt description xsi type xs string xmlns xs http www w3 org 2001 XMLSchema attributeld 1002 gt Gimme all yer money AAAARRRRR ye land lover lt description gt lt lifecyclePhase xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 attributeId 1084 selection lt id gt 976 lt 1d gt lt apiName gt PRELIMINARY lt apiName gt lt value gt Preliminary lt value gt lt selection gt lt lifecyclePhase gt lt row gt lt table gt lt response gt lt advancedSearchResponse gt See also getAllClasses on page 91 getSearchableAttributes on page 237 236 Agile Product Lifecycle Management Search Web Services Core Operations getSearchableAttributes Service To retrieve a list of all searchable attributes on a baseclass class or a subclass Usage The request object is formed using relevant details The response object contains the attributes that were queried for Success of the operation may be verified using the status code in the response object Syntax QueryGetSearchableAttributesResponseTyp queryGetSearchableAttributesResponseType agileStub getSearchableAttributes new QueryGetSearchableAttributesRequestType Basic Steps To retrieve a list of all searchable attributes on a baseclass class or subclass 1 Create the request object
351. ypeSIMPLELIST type value xsi nil true gt lt possibleValues gt lt searchable gt true lt searchable gt lt visible gt false lt visible gt lt required gt false lt required gt lt maxLength gt 2147483647 lt maxLength gt lt properties gt lt propertyld gt 1 lt propertyId gt lt apiName gt AttType lt apiName gt lt displayName gt AttType lt displayName gt lt readOnly gt false lt readOnly gt lt AttType xsi type xs string xmlns xs http www w3 org 2001 XMLSchema gt lt AttType gt lt properties gt lt properties gt propertyId 5 propertyId lt apiName gt DefaultValue lt apiName gt lt displayName gt DefaultValue lt displayName gt lt readOnly gt false lt readOnly gt lt DefaultValue xsi type common AgileListEntryType xmlns common http xmlns oracle com AgileObjects Core Common V1 gt lt properties gt lt response gt lt getTableMetadataResponse gt lt soapenv Body gt lt soapenv Envelope gt See also getAttributes on page 103 v9 3 0 1 109 Agile PLM Core Web Services User Manual getAutoNumbers Service To retrieve a suitable AutoNumber for an Agile object Usage The request object contains the Class and AutoNumber identifiers of the object The AutoNumber for the object fetched by the Web Service is obtained through the response Syntax GetAutoNumbersResponseType getAutoNumbersResponseType agileStub getAutoNumbers new GetAutoNumber
Download Pdf Manuals
Related Search
Related Contents
EX-700RC(Remote control) CSD-480 EUR-USA “EXPRESSION v1.1” USER MANUAL Delta Electronics RS-232 User's Manual User Manual M_Dongle - Hochschule Pforzheim T3 Classic connected to IP Office FSP/Fortron FSP400-60PFB Copyright © All rights reserved.
Failed to retrieve file