查看: 3560|回复: 0

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

[复制链接]

4

主题

3

回帖

48

积分

管理员

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

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

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

×
/ C' i8 x( o6 a! t
Teamenter SOA开发源码:通过user ID 找 User
3 G, I! O0 d; B
; K7 I) W$ Z( [( T! h/ t, F/ _# Y[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
' B4 K5 ^, u( Q0 W- ~6 N  ~import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;  M* G& `) ]. E# K% l9 n
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;. _  i/ G- @( G4 Q/ l1 F8 L  m6 q! X
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;5 ^5 m" v1 H0 B6 \, B
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;! k9 h$ r$ D8 e4 `; E
import com.teamcenter.services.strong.core.DataManagementService;
+ v, w1 j, Y+ dimport com.teamcenter.soa.client.model.ModelObject;
/ M8 z* V/ x; M% [% P0 r+ Y! Q) q# Vimport com.teamcenter.soa.client.model.ServiceData;
+ p7 ?, `: |2 l5 t  }( V2 u& bimport com.teamcenter.soa.client.model.strong.ImanQuery;
0 t+ ^% B) a1 u, \! Z1 n' n$ i) K, x! P4 {
import com.teamcenter.soa.client.model.strong.User;
/ T6 z8 d+ R) N2 x  C3 m5 L7 |
. c% X9 x% N# X( P9 Y, x  w+ B+ U1 o* m) o: x3 F% u  C7 ?
    public User findUser(String userId)
+ ?) g7 z+ ?4 Z, g    {
9 T. x+ s2 d+ M/ l        ImanQuery query = null;- S+ O5 ~: p- B# q+ K% z* E8 w
        User user = null;$ Q- ~8 `* C: i! {" a: z# |
        
& [1 B5 I0 @4 b5 l2 t9 H7 D% R7 b5 S: F
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
, I7 c7 O2 v* j+ X7 Y4 m+ N* P        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
$ ?8 k3 s" w& P        0 S: h2 l) n9 ]
        try& [/ @. U) R4 h4 @! ^7 y
        {; L! i/ L4 T3 [: B4 R3 `* J
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();- Q! K9 B2 ]& D2 g9 w- F; b
            if (savedQueries.queries.length == 0)* K5 b0 _* O% n0 \* q4 g8 I' Y
            {% g0 E6 u1 T7 s  Q
                System.out.println("There are no saved queries in the system.");* S$ U$ y9 G1 h4 A
                return user;
4 x& h5 e% ^5 D- b6 a' A) L            }" ^) E; I8 C: S. G+ |+ M4 F
            
1 m5 g/ ~$ K7 n. U4 N$ J3 [% _7 e            for (int i = 0; i < savedQueries.queries.length; i++)  J/ B. @, I6 h; U, c
            {
$ F% `9 V8 ^5 `
9 v% V+ W. _& Q* |+ d                if (savedQueries.queries.name.equals("__WEB_find_user"))
% _( D5 Z4 B" f( S8 m# R                {
4 [( r0 v7 K" N: b' Q                    query = savedQueries.queries.query;, F) \$ m9 W& k9 L; d
                    break;+ k3 U  e7 }8 V- e: M0 E& H5 Z, v; ?- T
                }
& P3 F6 r, ^/ F3 _            }; U1 N% K) O; n! G
        }
0 u8 o* y3 F7 T: i2 i' z+ C        catch (ServiceException e)- b% t' s4 ^0 L3 W; S1 U. E! d
        {
/ \6 N# h6 |/ D4 J9 t5 Z            System.out.println("GetSavedQueries service request failed.");/ _! P: e& z1 s  q8 r8 U
            System.out.println(e.getMessage());
) b1 w2 \: x4 W  N5 i            return user;& L5 d. G0 p! G) a, Z6 E4 I
        }7 t$ T& j& d, c7 I) d9 a$ T$ J; H
8 x: o6 I% o3 u: W% H$ n
        if (query == null): F" M2 u, ~6 I+ e
        {
- v+ C- Y. V) i6 N/ L# M/ o            System.out.println("There is not an '__WEB_find_user' query.");0 A6 X2 _6 K9 {) E$ t
            return user;
6 A/ t  f" _% b* Y" [        }
( i$ F9 \& c& B9 Y, K& U+ K
" l2 L7 w/ D" ~4 N( Z3 O1 e0 G3 G        try: J  A7 M+ R) l3 T1 }
        {7 X' [, W+ R; l- j
            QueryInput savedQueryInput[] = new QueryInput[1];3 E0 C( Y4 _" A. d2 S
            savedQueryInput[0] = new QueryInput();
1 b* g: c3 B+ Q  z1 Q6 m            savedQueryInput[0].query = query;$ P- ~1 {( M# ?
            savedQueryInput[0].entries = new String[1];' \/ c* ^3 _* v/ Y* H+ `
            savedQueryInput[0].values = new String[1];
2 N* N3 r& M2 V            savedQueryInput[0].entries[0] = "User ID" ;3 C4 U9 X( F# [5 d5 k6 M+ A
            savedQueryInput[0].values[0] = userId;' P% u; Z# }! E* ~' c7 r
            savedQueryInput[0].maxNumToReturn = 25;
0 p7 B* ~: W; L$ f            
9 ^, P, Z4 D( k# l7 T            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);5 m5 n9 T5 u5 `8 ~% R8 U  y2 \
            QueryResults found = savedQueryResult.arrayOfResults[0];
4 `% |5 L7 Q/ S# ^# `6 w1 H7 T; l1 s) a, m4 ]
            int length = found.objectUIDS.length;9 d/ z& J4 u: k; q/ l
            
5 d* x0 g$ l8 t4 I5 F/ E            String[] uids = new String[length];3 k! c- H  \/ {# @7 S/ o( S/ B; b
            for( int ii = 0; ii < length; ii++)% \6 a% t4 ^2 I! \$ L
            {* R3 A' E. H( N$ F. b4 j
                uids[ii]= found.objectUIDS[ii];( r9 i4 k& Z8 T" ?! i! n
            }, Z2 `# B& _' U' `: H' x
            ServiceData sd = dmService.loadObjects(uids);6 a" ]& S7 }+ |2 q! v$ ]7 L, f7 G
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
/ M* M/ z7 j$ S( t( f$ `: E7 D2 c            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
) ]) s2 s, V, w# g1 q$ i            {4 {/ C0 y$ |) O& G
                foundObjs[k] = sd.getPlainObject(k);
: B' D9 c& X6 E+ ]! B            }- ^: E7 i) v- Y( V
            user = (User) foundObjs[0];   
& A1 J% u$ b' E4 [/ F. D        }% q( V% j- b. m" t
        catch (Exception e); _! m  M6 [+ U; [- M/ l: Y5 p- `
        {
! ?' h# Z* @+ U& K% e            System.out.println("ExecuteSavedQuery service request failed.");, y' r5 V( D1 x2 I: o
            System.out.println(e.getMessage());
3 p9 B* \  q$ P9 g: o5 q        }            4 p  y8 t6 s* a! [# m
        return user;
  }1 [: k3 L9 w: w! \2 o* A- H4 t7 Z$ U( P    }: r$ y& x8 I; |; ^: x- T8 t3 E
[/mw_shl_code]
# B; x( k0 r8 f9 r7 D) ?  I$ K6 c1 c. d
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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