PLM之家PLMHome-国产软件践行者

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

[复制链接]

2018-10-9 01:46:46 3340 0

admin 发表于 2018-10-9 01:46:46 |阅读模式

admin 楼主

2018-10-9 01:46:46

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

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

x

) J$ A! z; u7 s# eTeamenter SOA开发源码:通过user ID 找 User
9 g( j" k: j5 R" P" l+ }' g: l% T# _7 s* |
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;# Y, M7 h8 w8 h3 g. v* ]! p
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
) d+ M- o6 A6 g5 H( ~import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
) k' k, h' b5 Q$ d& I; W% k. uimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;! H& H" G* C" m! L; i/ S
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;( Z# Q) I2 p1 d* Z0 \6 a
import com.teamcenter.services.strong.core.DataManagementService;
9 l; D9 X2 I! `import com.teamcenter.soa.client.model.ModelObject;
' s  {2 E; P3 @0 Q- Himport com.teamcenter.soa.client.model.ServiceData;3 U7 I! t) d' G' B
import com.teamcenter.soa.client.model.strong.ImanQuery;7 D0 N. t3 ~! e; r
$ O- _4 L* P0 k' f
import com.teamcenter.soa.client.model.strong.User;
7 o5 Z& c! F( ~& V$ W+ Z. _1 f, H  K2 I( n/ N: x& y

+ ]# r; R0 E; |' M/ v8 L1 M    public User findUser(String userId)0 u$ x/ Z! a' Z: |# I3 J
    {. |# e  I5 Q9 d1 k2 o
        ImanQuery query = null;0 x6 N% B; |9 F  ]
        User user = null;
- w* d& ~: ?, m4 T        
9 Z) ^9 p, S3 f0 L! z+ |9 N3 |7 [% n
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());: r. Z4 D: i& d
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
# Q" I  d# b3 F, j  l# D4 P        " S9 [" T3 t3 D
        try* O! q2 N9 N' P9 i# e) A
        {# `; L7 @' D: U5 \1 g
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
5 ~3 K' o9 L7 x) n" [" M$ X            if (savedQueries.queries.length == 0)5 \2 J0 |# E. B6 l0 V7 B4 k0 n
            {
( H4 l' N/ L9 U7 d# y; a! E, e$ c                System.out.println("There are no saved queries in the system.");
3 z3 P, p3 U6 f- ~( H; A                return user;
; @* I/ ?  ?0 k! i, f. o            }1 }; k7 X- @( J
            , F) F% m$ e" ?
            for (int i = 0; i < savedQueries.queries.length; i++)
1 r% |5 L7 v5 h* N7 E3 j& @5 j            {2 \8 Y' k/ `2 c2 Z& t8 ]
9 \0 S3 t! c8 Z( n
                if (savedQueries.queries.name.equals("__WEB_find_user"))& k* `6 x% R  g) z
                {; r" x+ M2 r% V4 T( X  ^' |
                    query = savedQueries.queries.query;
$ v; G2 s* j& V) }  t3 [                    break;: D& o  R7 p7 Z" i1 I3 [$ \
                }& O$ _: V4 g4 P5 |
            }, X7 Q9 h5 z8 j
        }
" B* j* c1 c8 W  r8 i        catch (ServiceException e)6 a8 Y0 |1 ?6 V5 \9 I7 b$ p: Y
        {5 N$ \+ R5 ^) `8 C& i9 K
            System.out.println("GetSavedQueries service request failed.");
" Z) g9 s$ {1 Y" l4 p            System.out.println(e.getMessage());
7 t: R$ b; x5 x5 K) a. Y, W7 M4 ~6 E" |            return user;! ?& ^( N* Z4 s6 v4 g/ s" ^+ d0 S! R0 Q
        }
9 A5 A0 {' N, i& {, U, P% v1 c  Y, V9 L1 w) f. Z; g6 m9 D) p
        if (query == null)4 @4 Z) ]) M' ?& B) I" t
        {" c- `" t. |- ^% `, Z9 R4 P# W6 a) l* Z
            System.out.println("There is not an '__WEB_find_user' query.");; {# }6 p4 ]. v3 b" r5 ?  r
            return user;
3 x1 I1 R; j0 d        }- r$ j, G: K. ?$ x6 s1 V2 M! H8 j
" {9 E+ K0 ?/ |! j7 B
        try; x( J! V* W8 q% K2 m  O/ U
        {) g4 k, _8 i. T% }2 D8 B, s
            QueryInput savedQueryInput[] = new QueryInput[1];
' w/ [5 Y& w: [+ S, ]            savedQueryInput[0] = new QueryInput();
3 j2 Z5 X+ j4 R; d9 k            savedQueryInput[0].query = query;
1 P/ a6 t: O3 w- {% ~0 n* L( F            savedQueryInput[0].entries = new String[1];6 [- s1 {, }6 _, N! i' W
            savedQueryInput[0].values = new String[1];
, R4 Y# U6 r- C/ l$ I# @            savedQueryInput[0].entries[0] = "User ID" ;
% L( ]% d) }- N* G            savedQueryInput[0].values[0] = userId;
0 ^8 `4 h- Y, ?2 F4 [1 [7 Y5 E, Q            savedQueryInput[0].maxNumToReturn = 25;6 Q2 w/ L6 m+ R1 S" D
            
6 D5 P  M; f, C6 `9 O            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);' c: o: U  t$ ~* X" q# ^4 }
            QueryResults found = savedQueryResult.arrayOfResults[0];/ g3 Y' k- y: S! ?# B1 _' c

( ?4 B# R) K: B; P            int length = found.objectUIDS.length;5 g) {# G5 ^4 ?
            0 x- |$ m$ {; T
            String[] uids = new String[length];
8 {* b5 p* y/ m            for( int ii = 0; ii < length; ii++)
" q& C; L- ^% E, x& E            {# o, ?' G! q& o8 Q/ s
                uids[ii]= found.objectUIDS[ii];" Z' D/ c* h1 L* S* m6 j# c7 Q
            }8 G5 s; r# j8 W3 s1 Z, L
            ServiceData sd = dmService.loadObjects(uids);# c, c+ v  `1 s6 U. @
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
7 t; v8 k6 T: G' U            for( int k =0; k< sd.sizeOfPlainObjects(); k++), r+ f' E0 K7 R9 w# u5 }8 ]
            {- O6 Z+ ]" a- c; x" l! c, M: x
                foundObjs[k] = sd.getPlainObject(k);
' B, Y, s; b, R% _& T' G6 m# [            }" s+ a; ?. v4 _+ H, `) Y
            user = (User) foundObjs[0];   
/ X& z3 q' }* R8 |0 ~+ E) X        }& ?; N  n+ Q) [5 Q" n& X1 [5 ]
        catch (Exception e)
1 v2 Y8 o5 S9 _1 p        {1 ~# R0 Q8 B$ G1 e
            System.out.println("ExecuteSavedQuery service request failed.");
1 z9 S/ ?. N$ v7 u  p' s! r0 K& ~            System.out.println(e.getMessage());  M( U! P  ]( Y4 ?% Q4 o8 V; L, W
        }            
1 c9 q7 B3 [( S' I3 j        return user;% @+ ?9 A( ?( s$ @( C/ n
    }9 V" K6 n% i! z) K8 z! V8 i* x
[/mw_shl_code]
: C- U: X) H4 G- U, x  W
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了