0% found this document useful (0 votes)
299 views6 pages

SOA & RAC Questions

The document provides a comprehensive FAQ on Teamcenter SOA and RAC customization, detailing their architectures, components, and functionalities. It covers various aspects such as data operations, workflow integration, session management, and error handling for SOA, as well as plugin creation, UI customization, and deployment for RAC. Additionally, it includes troubleshooting tips and tools for debugging both SOA and RAC environments.

Uploaded by

Uday Kumar Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
299 views6 pages

SOA & RAC Questions

The document provides a comprehensive FAQ on Teamcenter SOA and RAC customization, detailing their architectures, components, and functionalities. It covers various aspects such as data operations, workflow integration, session management, and error handling for SOA, as well as plugin creation, UI customization, and deployment for RAC. Additionally, it includes troubleshooting tips and tools for debugging both SOA and RAC environments.

Uploaded by

Uday Kumar Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

🔗 Teamcenter SOA FAQ

🧩 Section 1: Overview & Fundamentals


1. What is Teamcenter SOA?
Teamcenter SOA (Service-Oriented Architecture) is a Java-based API to
communicate with Teamcenter services. It enables client-server applications
with business logic exposed via service stubs.
2. Difference between ITK and SOA?

Feature ITK SOA


Langua C/C++ Java
ge
Scope Server-side Client-server
integration
Context Runs inside TC Can run externally
server

3. Main components of SOA:


 Service Stub JARs
 Service Data Objects (SDO)
 Service Manager
 Connection and Session
4. How to authenticate/login?
Connection connection =
Connection.getConnection("http://host:port/tc");
CredentialManager cm = new CredentialManager(connection);
cm.login("user", "pass", "group", "role");

5. What are Service Stub JARs?


Auto-generated Java interfaces from WSDL for accessing Teamcenter
services.
6. What is an SDO?
Service Data Object is a Java class used to structure data exchanged
between client and Teamcenter services.
7. Common SOA services:
 DataManagementService
 SavedQueryService
 FileManagementService
 WorkflowService
 StructureManagementService
8. How to find right service?
Use WSDL or API documentation. Analyze BMIDE business objects to trace
operations.
9. How to search objects via SOA? Use SavedQueryService.find() and
executeSavedQuery().

🧩 Section 2: Data Operations & Uploads


10. How to create an Item using SOA? Use createObjects() from
DataManagementService with ItemProperties and CreateInput.

11. How to attach a dataset?


Upload file → create Dataset → relate to Item Revision using
createRelations().

12. How to upload files to Teamcenter? Use


FileManagementUtility.putFiles() after setting up a DatasetFileInfo array.

13. How to relate objects?


Use createRelations() method in DataManagementService specifying primary,
secondary, and relation type.
14. How to delete objects? Use deleteObjects() in
DataManagementService.

🧩 Section 3: Workflow Integration


15. How to start a workflow?
Use EPMService.createProcess() and startProcess().
16. How to assign reviewers? Use performAction() and setSignoff() on
target task.
17. How to complete a task programmatically?
Use performAction() with EPM_perform_signoff_task and task tag.

🧩 Section 4: Session & Error Handling


18. How to maintain session across services? Store Connection object
and reuse it for all service calls.
19. How to handle exceptions in SOA? Catch ServiceException or
ServiceDataException. Use:

if (response.serviceData.sizeOfPartialErrors() > 0) {
String msg = response.serviceData.getPartialError(0).getMessages()
[0].getText();
}
20. How to logout?
Use SessionService.logout().

🧩 Section 5: Deployment & Tools


21. How to generate SOA stubs? Use ServiceStubGenerator tool with
wsdlLocation and outputDir parameters.

22. Where are WSDLs located?


Typically under: tcroot/tcdata/wsdl
23. How to debug SOA client? Use Java logging or enable -
Dcom.teamcenter.soa.client.log system property.

24. Tools to test SOA?


 Eclipse + JARs
 Postman with WSDL endpoints
 SOAP UI (for older WSDL-only calls)
25. How to test SOA outside Teamcenter? Set up connection with valid
credentials and invoke service using stub JARs. No need to run inside
Teamcenter.
(Sections 1 to 5: Overview, Data, Workflow, Errors, Deployment…)
🖥 Teamcenter RAC Customization FAQ – Section 1:
Overview & Architecture
1. What is Teamcenter RAC?
Teamcenter RAC (Rich Client) is a Java-based Eclipse RCP (Rich Client
Platform) application that provides a GUI for Teamcenter users.

2. What is RAC customization?


RAC customization involves extending or modifying the Rich Client UI using
Eclipse plugins, extension points, and SWT/JFace.

3. What technologies does RAC use?


 Java (JDK 8+)
 Eclipse RCP (Rich Client Platform)
 SWT/JFace for UI
 Eclipse Extension Points for modularity
4. What is the folder structure of RAC?
 plugins/ – Eclipse plugins
 configuration/ – runtime configs
 portal/ – startup scripts
 lib/ – dependencies

🧩 RAC Customization FAQ – Section 2: Plug-ins,


Extensions, and Commands
5. How to create a RAC plugin?
Use Eclipse PDE:
 File → New → Plug-in Project
 Add extension point: org.eclipse.ui.menus or
org.eclipse.ui.commands

6. What is an extension point?


An extension point is a declared customization point that your plugin can
contribute to (e.g., menus, views).

7. How to add a custom menu item in RAC?


 Add org.eclipse.ui.menus
 Define menuContribution and handler class
8. How to implement a command handler?
Implement IHandler or extend AbstractHandler and override execute().

9. What is the role of plugin.xml?


plugin.xml defines metadata, extensions, menus, and handlers for your
plugin.

🧩 RAC Customization FAQ – Section 3: UI Customization &


Property Pages
10. How to create a custom property page?
Use org.eclipse.ui.propertyPages extension point and define applicable
object types.

11. How to access Teamcenter objects in RAC?


Use TCSession, TCComponent, TCProperty, and TCComponentItemRevision, etc.

12. How to add tabs or custom fields in existing dialogs?


Use CustomPanelProvider or override forms using BMIDE configuration.

13. How to retrieve selected object in RAC?


Use TCSelectionHelper.getTargetComponents() from the current context.

14. How to update properties in RAC?


itemRevision.setProperty("object_name", "New Name");
itemRevision.save();

🧩 RAC Customization FAQ – Section 4: Deployment &


Versioning
15. How to deploy a RAC plugin?
 Build plugin JAR
 Place in site_mods/plugins/
 Add to site.xml for provisioning
16. What is site.xml in RAC?
Defines all the available features and plugins for RAC provisioning.
17. How to update plugin versions?
Change Bundle-Version in MANIFEST.MF and update site.xml version entry.

18. How to make plugins load only for certain roles?


Use BMIDE configurations or programmatic filters via session context.

🧩 RAC Customization FAQ – Section 5: Debugging &


Troubleshooting
19. How to enable logging in RAC?
Edit portal.bat and add -debug or -consoleLog.

20. Where are RAC logs stored?


 <user_home>/.eclipse/
 workspace/.metadata/.log

21. How to debug a RAC plugin?


 Use Eclipse Debug Configuration with Teamcenter launch target.
 Attach to process using remote debugging.
22. Common causes of plugin load failures?
 Incorrect extension point
 Missing dependencies in MANIFEST.MF
 Unsatisfied version constraints

You might also like