Skills
TC SOA Docs Navigation
Skill
tc-soa-docs-navigation. Find the truth about a Teamcenter SOA operation in the local Help Server documentation set (WSDL/XSD schemas, Services Reference javadoc, SDK samples, help server at localhost:51000). The WSDLs are the ground truth the javadoc and the samples are not. Use when you need the real service name, version, required members, or deprecation status of an operation.
Everything below is on this machine. No network, no Support Center login.
First: pick the right release kit
★ Two kits are installed side by side, deliberately. 2506 for the cloud tier
and most existing work; 2606 for the local Hyper-V VM (TC2606 /
SIEMENSDC). Grepping the wrong one produces confident, wrong answers.
| 2506 (default for existing work) | 2606 (the local VM) | |
|---|---|---|
| WSDL + XSD | soa_client_wntx64\soa_client_wntx64\wsdls\ |
tc2606_SOA_Client_wntx64\soa_client\wsdls\ |
| Services Reference | docs-teamcenter-2506-services_reference\ |
docs-teamcenter-2606-services_reference\ |
| Javadoc | docs-teamcenter-2506-javadoc\ |
docs-teamcenter-2606-javadoc\ |
| Product help PDFs | collections\...\PL20241125556497283\en-US\tc_help\ |
collections\...\PL20251212545240207\en-US\tc_help\ |
All paths are relative to D:\Siemens\Help Server\. 989 xsd in the 2606 set
against 983 in 2506. The PDF collection IDs are opaque, so confirm a release from
a PDF's title page rather than the folder name. The prebuilt indexes in data/
below were built from the 2506 kit.
The rest of this skill uses 2506 paths in its examples. Substitute the 2606
column when the target is the VM. See tc-vm-operations.
| What | Where | What it is actually good for |
|---|---|---|
| Help Server app | http://localhost:51000 |
Browsing the product help |
| WSDL + XSD schemas | D:\Siemens\Help Server\soa_client_wntx64\soa_client_wntx64\wsdls\ |
The wire contract. Ground truth for required vs optional members |
| Services Reference | D:\Siemens\Help Server\docs-teamcenter-2506-services_reference\services_reference\ |
Prose per operation, and deprecation notices with named successors |
| Java API javadoc | D:\Siemens\Help Server\docs-teamcenter-2506-javadoc\javadoc\ |
Java-side types and classes |
| SOA Client SDK samples | D:\Siemens\Help Server\soa_client_wntx64\soa_client_wntx64\{java,cpp,net}\samples\ |
Real end-to-end client flows (WireHarness, FileManagement, Classification, HelloTeamcenter, OAuth variants) |
Use the prebuilt indexes first
Grepping ~1,960 WSDL files per lookup is slow enough that agents skip the step and
start guessing payloads instead, which is exactly how the expensive failures
happen. Two indexes in data/ remove the excuse:
python scripts/soa_lookup.py createOrReConfigureBOMWindows # route + deprecation + required members
python scripts/soa_lookup.py --grep bomwindow # find an operation by fragment
python scripts/soa_lookup.py --struct CreateWindowsInfo3 --xsd Cad1906StructureManagement.xsd
data/soa_wsdl_index.json: 1,464 operations across 214 service classes, each mapped to its JSON REST route, its.wsdl, its.xsd, and its request struct.data/soa_deprecations.json: 174 deprecated operation names, 92 with an explicitly named successor, extracted from the Services Reference HTML.
Rebuild either after a Help Server update:
python scripts/build_soa_index.py
python scripts/build_deprecations.py
Why the WSDLs are the decisive resource
The javadoc gives you a field's Java type and a prose description. Only the XSD
gives you the thing that actually breaks calls: minOccurs. An <xsd:element>
with no minOccurs attribute is required, which for a ModelObject field means
sending the NULLTAG sentinel explicitly rather than omitting the key.
None of the three SDK samples surface this, because all three still call an older,
looser, deprecated sibling operation. WireHarness in Java, C++, and .NET all call
createBOMWindows, which has been a silent no-op since Teamcenter 12.2. The
samples are useful for flow, not for correctness.
Worked example, straight out of Cad1906StructureManagement.xsd, where the schema
documentation literally says so:
CreateWindowsInfo3
REQUIRED bomWindow : ModelObject "Must be NULLTAG when creating a new window."
REQUIRED item : ModelObject "or NULLTAG if itemRev is specified"
REQUIRED itemRev : ModelObject
REQUIRED bomView : ModelObject "or NULLTAG to use the default view"
REQUIRED revRuleConfigInfo
REQUIRED props : RevisionRuleEntryProps (@unitNo, @date, @today all required)
REQUIRED activeAssemblyArrangement : ModelObject
REQUIRED configContext : ModelObject
REQUIRED @clientId
File naming, and the additive-version trap
WSDL/XSD files are named <Package><YYMM><ServiceName>.{wsdl,xsd}, for example
Cad1906StructureManagement.xsd for the cad._2019_06 interface.
Teamcenter's SOA schema is additive per version. An operation appears only in
the file for the version it was introduced at, not in every later release's
file. So grep the version file matching the java package name (_2019_06 becomes
1906), not the deployment's own release number. Looking in
Cad2506StructureManagement.xsd for a 2019 operation finds nothing and reads like
"the operation does not exist on 2506."
The true service identity is the .xsd's targetNamespace, not the filename:
http://teamcenter.com/Schemas/Cad/2019-06/StructureManagement becomes the route
Cad-2019-06-StructureManagement. Multi-segment packages work the same way:
.../Schemas/Internal/Administration/2007-06/Authorization becomes
Internal-Administration-2007-06-Authorization.
Searching for an operation whose owning service you do not know
Grep the operation name across every .xsd/.wsdl, not just the package you
would guess from the docs index. That is what found getTypeDescriptions2 living
on Core-2015-10-Session rather than on DataManagement, in under a minute,
after it had looked like a broken feature.
grep -l "getTypeDescriptions2" "D:/Siemens/Help Server/soa_client_wntx64/soa_client_wntx64/wsdls"/*.xsd
Services Reference paths
services_reference/
java_loose/ <- read this one
java_strong/
net/
soa/ <- Doxygen C++ client doc, NOT the wire protocol
Page path pattern:
java_loose/<Template>/com/teamcenter/services/loose/<domain>/_<YYYY_MM>/<Service>.html
e.g. java_loose/Foundation/com/teamcenter/services/loose/cad/_2019_06/StructureManagement.html
<Template> is the deployment template that ships the service (Foundation,
AttrTargetMgmt, Cla0classification, SystemsEngineering, Hrn, ...), and it
is not predictable from the domain name: cad lives under Foundation. Find it
with a path search rather than guessing:
find "D:/Siemens/Help Server/docs-teamcenter-2506-services_reference/services_reference/java_loose" \
-path "*loose/cad/_2019_06*" -name "*.html"
Read the method-detail section, not just the summary table. Deprecation notices and the exact required/optional prose per parameter are there.
What the kit does NOT contain
The SDK ships the public services only. Active Workspace's own internal
operations are real, in daily use by the AWC, and absent here:
Internal-ActiveWorkspaceBom-2025-06-OccurrenceManagement/addObject5,
Internal-IcsAw-2019-12-Classification/findClassificationInfo3,
AttrTargetMgmtAW/importParameterExcel, Internal-AWS2-*, and others.
"Not in the WSDLs" is not evidence the operation does not exist. For those,
capture the call from Active Workspace itself: see tc-capture-awc-calls.
Related skills
tc-soa-payload-shapes, tc-capture-awc-calls, tc-bom-structure.
Generated from skills/tc-soa-docs-navigation/SKILL.md in the tc-automation-skills library, which is the canonical copy and also serves as the agent skill set for Teamcenter work.