查看: 3512|回复: 0

Teamenter SOA开发源码:通过user ID 找 User

[复制链接]

4

主题

3

回帖

44

积分

管理员

积分
44
发表于 2018-10-9 01:46:46 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
) T- E3 Y7 V% K% A  R
Teamenter SOA开发源码:通过user ID 找 User
) V6 e) ?, h7 O4 G" ~3 q. z$ P0 b3 s% W) D3 W
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;* ~7 n: e% `" U: f/ w# ]( o
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;- j2 I* g  T, k2 d
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
9 X- f" b* T+ h7 \& }" pimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;# @8 D* O7 L. h4 x- O; C- L8 Q
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
1 x) s! u2 X0 z" Z6 n' Z( B: eimport com.teamcenter.services.strong.core.DataManagementService;
( h" X- \; A# N. kimport com.teamcenter.soa.client.model.ModelObject;
4 P* T$ ~) w% Q* F! R4 z' @% R/ Eimport com.teamcenter.soa.client.model.ServiceData;. G( J6 A( k9 _. c" \& z
import com.teamcenter.soa.client.model.strong.ImanQuery;
: k3 e' g4 I9 F0 f6 q. ^# k% Z! ^- ?- Y9 w$ g
import com.teamcenter.soa.client.model.strong.User;! F, W+ }! B: v, N9 H' K$ S; X' I
2 K; W. n2 E' Y. c( U
8 m. p1 Y0 `' f1 B& Z
    public User findUser(String userId)% j! j% s$ g5 I9 s- V
    {
3 S" O! u" N! u5 W        ImanQuery query = null;, v6 P# O0 n0 D# g; _- x4 p! C8 y; j2 {
        User user = null;+ T' H1 y  T( X, O: S% I5 Y( c' B' M
        8 K* u! L, A! C& W
9 n! x5 e) [4 M; O* N3 [/ z# A
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
1 }$ v+ |7 W0 C; g5 G        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());  Q2 b0 r3 v8 L% \) V3 I0 W# x
        - ~3 D* G9 c2 b* T, b  [. V
        try
& D: Z4 i4 R* H2 J: i2 ]$ q4 @        {
/ v9 e2 e( x8 _% g            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
, _4 x. T, U2 v$ d4 K            if (savedQueries.queries.length == 0)" c  J" I. z  p, L( k* y
            {
, o/ |9 k) t) f+ ]% r                System.out.println("There are no saved queries in the system.");
1 S7 q7 R$ a* P, s  S% X' v                return user;) a0 ?% O) i& b" @0 q) ^( h
            }. o" t6 E0 {- e2 n5 k
            
, C. d2 N, ?4 e. k) i  x0 n; o4 m* N            for (int i = 0; i < savedQueries.queries.length; i++)' I! H6 h8 {; `$ S# J
            {
7 M* s- }) {) E4 v
- X6 C1 N7 r: w) Q                if (savedQueries.queries.name.equals("__WEB_find_user"))
) S. E# g# I) k                {7 Y1 i. S& h5 \! b
                    query = savedQueries.queries.query;2 m6 u, o  U/ A$ P: K
                    break;  T: n0 t, `0 z# a: s  p8 k! P* M! e+ ?$ U
                }
; |/ T9 P  r! C" i0 C, S9 Y            }
# d5 \8 z3 z* d* Y" N        }0 z0 ^: p5 u- T' A
        catch (ServiceException e)5 i+ P4 h: w) M+ W: j
        {
# L, p& m2 |6 D1 Q            System.out.println("GetSavedQueries service request failed.");- i- v6 e* }  k  S
            System.out.println(e.getMessage());
7 O+ i9 p: p1 T7 j( n' q            return user;  u: k" A; K# j- X! k! P
        }
% A" o$ k+ L2 |  {$ b& R& s' m3 {6 g- Y+ Q; l0 A0 ~$ A
        if (query == null)$ h8 j  D$ d; p. E
        {
) d1 G) X9 s0 _6 p! e: ?            System.out.println("There is not an '__WEB_find_user' query.");  c* ^7 o+ I# Y+ |% H" J# l
            return user;" n# j" f4 G* b+ s  ]
        }1 I, B' z  |+ @4 {, I+ Z
' Z* ^  d1 [) e% W
        try
1 F( k9 [. [. L        {
: X7 p8 C8 Q% N0 Q4 m9 s: B9 d            QueryInput savedQueryInput[] = new QueryInput[1];
/ X) Z0 F% P1 K/ I            savedQueryInput[0] = new QueryInput();
& N7 a0 A. Z# b            savedQueryInput[0].query = query;
' j: k, g0 E9 b# w            savedQueryInput[0].entries = new String[1];' F" I6 I3 {) F, F1 E, A
            savedQueryInput[0].values = new String[1];. N( c  t" u! r( Q
            savedQueryInput[0].entries[0] = "User ID" ;- i! M7 q8 b* y
            savedQueryInput[0].values[0] = userId;8 |) f) B- p/ v* y% h( M" Z5 y
            savedQueryInput[0].maxNumToReturn = 25;
) M/ ]% l; F' \# X            7 V$ u2 _/ R6 q9 c
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);/ E3 T; O8 a% J% N+ |
            QueryResults found = savedQueryResult.arrayOfResults[0];
  c$ L3 v* Z- X
) B: @% p3 o/ Q' s* L5 f            int length = found.objectUIDS.length;: }1 H" F+ |: t% F/ M( }9 H2 d
            
, \# m; o: z, e9 B/ Y) @            String[] uids = new String[length];
' S+ P0 G; P4 j            for( int ii = 0; ii < length; ii++)
) k) H) y, a4 S; x/ W0 J            {& y$ P' x& A* w
                uids[ii]= found.objectUIDS[ii];7 x- C2 u. A+ |4 B/ g$ f% U8 g
            }6 O7 f+ ?( J- h& b
            ServiceData sd = dmService.loadObjects(uids);' s" S: o, }! f3 D9 t# i3 `
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];+ w1 |: P  c% l% `) L3 @: K
            for( int k =0; k< sd.sizeOfPlainObjects(); k++); ~$ p/ \- e0 x, n. @. {3 ~
            {
  \" j0 O+ Q* A% w- p' g4 N3 t                foundObjs[k] = sd.getPlainObject(k);
+ C8 t- T" M. Z% [( n8 T( ]! a8 q4 k- C            }1 Q3 b4 W3 n9 a# Y  ]: v5 ?& {1 B
            user = (User) foundObjs[0];   
* J$ Y+ ]( E& o0 B2 A% a        }' `: Z! p! D2 g+ @* h( F) a
        catch (Exception e): p: M% C( z- z2 ?: M; E" F
        {
9 P$ V1 ~1 U6 D            System.out.println("ExecuteSavedQuery service request failed.");
% w8 k1 W  T2 w6 g) H# O' N  I            System.out.println(e.getMessage());; m" _  O6 f: k2 L( v* A
        }            
8 R- \; s' q; c4 a/ x( K, j/ C        return user;* x; u  x0 L' U/ Z
    }
1 P; P; m- q' `: U* u[/mw_shl_code]
; k8 R5 B1 t& ?6 r9 x
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部