PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
0 ?  N' L# d1 G/ h1 @4 Z# G+ p7 H
Teamenter SOA开发源码:通过user ID 找 User3 a$ z( g# D7 E; p: W; b
  q3 w% I/ \- H3 c" d8 i& C) I
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;6 G  u! U$ c% D( t  r5 N$ x! l. k
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
) g1 S4 I+ K  s2 K# }& J8 n; bimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;2 ^- u3 |* ?$ c" A, U5 [& x& r
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;9 s# J% H3 H4 w% Y% X% l) Q, e
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
) g- t/ W6 G! b% s7 |import com.teamcenter.services.strong.core.DataManagementService;
$ K* m  @% u* U( himport com.teamcenter.soa.client.model.ModelObject;. `! o' S- n* Q; p
import com.teamcenter.soa.client.model.ServiceData;: C  P* @9 u+ K: X
import com.teamcenter.soa.client.model.strong.ImanQuery;+ Y+ B7 J# s4 [8 S3 R9 M
+ Z( t- Z. L  E+ r+ f
import com.teamcenter.soa.client.model.strong.User;
5 B9 n' \5 O7 z5 |
) A1 p- E/ @6 }6 ^. b' T% x5 P. |5 S0 Q6 K9 Z; i1 ^/ e" y
    public User findUser(String userId)
+ X& L2 _# x6 ?0 H* R3 i- V- L* M    {/ v" f) _% x, j, V7 @
        ImanQuery query = null;" `! U; p5 Q0 Y" e
        User user = null;# m9 }1 U( G7 G! v1 Q/ n) k+ _
        " O: V. W! Y: u: }. H
) E' _- N* L; ^  U
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());1 d2 r3 ?0 M* D, f' h/ |+ X
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());9 Z& c4 l8 E/ O  S
        
; P4 C' P. v6 r* @; ~        try& z. Y1 M3 Y' W: L2 {  {# N% r& z- g3 E
        {
: A. l8 |4 C1 {            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
& a: G' U  l: Q: z, R            if (savedQueries.queries.length == 0)# a- r: j: C6 r' z; r
            {7 |. ?  F) {% \4 A
                System.out.println("There are no saved queries in the system.");1 `7 M  ]. Q2 U3 e% }- b
                return user;
+ W5 Z! |% }7 N4 F  t            }9 u: {1 ~0 E- e% h3 a8 A
            4 T/ p4 ]/ d  l
            for (int i = 0; i < savedQueries.queries.length; i++)! h" G$ _4 x2 @6 \& M/ r" f3 [
            {' h) V' c; M; b( ?
8 M; H  ]  R; G% I3 @# r2 I
                if (savedQueries.queries.name.equals("__WEB_find_user"))
6 p2 K3 x' C0 W: K                {% v" A5 ]) `$ k' |0 Q
                    query = savedQueries.queries.query;
6 P" [. W. r+ t( {7 h                    break;
5 `% M$ `$ f$ p; W% i6 i                }
3 I; f! d" a) f            }
- W; O: C$ x& k* m. ?' y+ f        }
, @2 S! ?1 N, q        catch (ServiceException e)/ e  A9 y: h, |" u  ~0 P2 p% [- K/ Q5 a
        {$ z& o( z3 Y; b, I9 K& z* i* t- T
            System.out.println("GetSavedQueries service request failed.");# E7 y4 l, u- e6 o9 O1 R
            System.out.println(e.getMessage());6 ]$ V4 B+ ~% J: j  l" P2 |& t
            return user;
0 F# q5 h: ^5 b# {& r        }6 k3 t# p" T" s  l& |9 f  M
9 q3 K% Y* u3 b7 I
        if (query == null)) A* P0 c+ \$ }' g6 U4 D; Q, W
        {
( S! L$ o9 O; A6 P* w# s            System.out.println("There is not an '__WEB_find_user' query.");% {3 l% u, C( L8 N3 x5 y& @
            return user;( A) Z2 F0 W9 B. y$ g
        }
( k! G5 U  x  t2 `1 [7 B0 F* P" T; N% t6 F# s( m9 Z. V$ n
        try
% K5 z+ Y% g8 L        {* M! H3 f, L. j9 m! x# `- F
            QueryInput savedQueryInput[] = new QueryInput[1];
1 p9 ^* |3 W# K3 |            savedQueryInput[0] = new QueryInput();! g9 w+ R8 I6 e- w" Q& x4 {
            savedQueryInput[0].query = query;) F8 u* g; ^: y: i3 z+ d
            savedQueryInput[0].entries = new String[1];
6 c% q' v, ~0 i3 ~8 d; _1 R) S            savedQueryInput[0].values = new String[1];
  {8 _5 I+ Q( @. c            savedQueryInput[0].entries[0] = "User ID" ;2 U$ n& e0 _8 M: b1 J5 H
            savedQueryInput[0].values[0] = userId;
% {( L7 n% X8 U/ P            savedQueryInput[0].maxNumToReturn = 25;) S/ h) T5 ]$ F) t3 f) G9 L% e2 U
            & T$ C: A0 p7 f: I9 G/ v5 Y- Z6 B0 n9 @
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
& P. r6 B; j4 a* E            QueryResults found = savedQueryResult.arrayOfResults[0];
! m$ Y1 S/ \6 C4 i; {; k' u3 x/ r
  x+ O' R& a; m8 C            int length = found.objectUIDS.length;4 U2 l, `5 Z! a% ^: v
            6 u3 ~- N. v. Y, u8 \6 _  S6 U9 `
            String[] uids = new String[length];
' a; m( V! c1 o9 Z9 {/ U/ a            for( int ii = 0; ii < length; ii++)
6 V  L. {- k. l+ Y' a' N! H) _            {9 B8 h# h0 P! ^' L# I' c9 D& F' q
                uids[ii]= found.objectUIDS[ii];: h& T* f& S7 K8 @: k) Y# B
            }( b2 f* G, R& ~# m- ~, a9 B
            ServiceData sd = dmService.loadObjects(uids);% j/ J3 R6 J, d
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];" r; F9 m! B0 P6 B
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)& u/ p6 u: P5 b" c( _3 W% o$ j
            {
% O+ {5 g1 v" N: Q, \& R                foundObjs[k] = sd.getPlainObject(k);
; o+ P7 X' R# K0 J7 S+ b! B7 J            }% e1 k; G! ]1 M
            user = (User) foundObjs[0];   
0 f1 Y* P, d" M# w& c2 Y9 H: c' i* @" r        }7 X6 ~8 `  o0 i1 P4 k% Q
        catch (Exception e)
! ~4 z" G& ]# A        {
' m0 l1 b+ B+ u/ ~2 @            System.out.println("ExecuteSavedQuery service request failed.");: x* \4 J! K% J! s
            System.out.println(e.getMessage());
. |) k. U, u, D6 m# o6 Z        }            9 K. a2 C* U  k8 y& n1 q
        return user;
! X9 h: R5 s1 G# Y" t: ]# }/ P    }# {" `+ ^: z7 [, L
[/mw_shl_code]( h/ X6 L: L! A2 f: s9 t: L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了