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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
1 i3 R7 {; a  n0 C, ]
Teamenter SOA开发源码:通过user ID 找 User
( z) i2 a' d, X# O8 {1 D6 X9 N' L
' J: K, L. w2 e[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;* F7 s' B0 j0 b. d
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;" l& D! Z; ~% O# t$ X
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;; ]$ G8 V# o) y6 Q; I, g2 ^8 R
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;2 K: V9 G  e' F, \7 `  }
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
2 \+ b8 V$ ~$ u5 ?% k' E7 Pimport com.teamcenter.services.strong.core.DataManagementService;$ y. a3 k3 n2 z% r/ K( k+ L
import com.teamcenter.soa.client.model.ModelObject;! U, i+ A! @$ s! ~
import com.teamcenter.soa.client.model.ServiceData;
2 {7 f# p; |+ Q3 jimport com.teamcenter.soa.client.model.strong.ImanQuery;. k' x9 x( J7 O$ Z, q4 c4 Z2 P

9 q0 b( u, t# d+ gimport com.teamcenter.soa.client.model.strong.User;& n* `0 C; G* r! i
- F$ s1 S* W1 j- ~
, p* c; Z6 {/ {7 L6 F( f! v
    public User findUser(String userId)3 s3 |& E; M' p0 i
    {
& U3 b5 ?: Y4 z: e$ n; U# G' s        ImanQuery query = null;* i( {- b0 U4 M* N- n; Y1 Z
        User user = null;% g; |2 J6 w: f* A
        2 A+ I) u  t5 c* w1 D1 i$ ]

: q( e) `9 g# k  z        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());% f6 Y, b" z( h
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());3 P1 H* _; y, f" F) U8 N/ E, e5 d
        
" B) E1 P3 Q+ c& n4 W        try
1 M2 u: b. O: B* h, w4 `" ]/ O        {
2 X/ d: C0 A% u" u! a            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
# F/ I8 r# y! w( W0 G            if (savedQueries.queries.length == 0)( o: A: H) j/ p
            {/ L( C+ w' _& P- T% p; L
                System.out.println("There are no saved queries in the system.");
& B& J3 q0 X( ~9 j5 i6 {                return user;
$ A: D+ c. T$ `6 u; q7 g0 C            }
% U  ]7 @5 J. y2 ~: p            / t1 Q/ Z# G0 r* o
            for (int i = 0; i < savedQueries.queries.length; i++): _* H2 s# {' j, ^0 l
            {% Q. E3 c+ F* I# L6 |
# D, Z3 S( Q1 r1 ~0 ]$ k3 H
                if (savedQueries.queries.name.equals("__WEB_find_user"))
5 L+ p, P" E0 u/ y' y) j  C                {
$ R1 f1 {& G6 E) K( D  N, O                    query = savedQueries.queries.query;
+ I+ Z4 I% Y+ ?; ]                    break;6 M$ T, w8 B' o7 Y& K. G5 M
                }
) Q5 B) K# @6 Z1 W4 X# \            }
, Y# d- g# W% `) F' R: Z, X% M        }) G" |, t: r3 ]& e, j. d/ }6 \
        catch (ServiceException e)% ?6 b( N; w( h' z, }; C5 c
        {
. h: w6 X; B8 A& x+ @; o            System.out.println("GetSavedQueries service request failed.");
4 |# O4 c( z7 B- H0 X# ?            System.out.println(e.getMessage());1 \, w  S4 s" b# b$ U2 K& |7 W0 ?
            return user;
4 [6 X5 z, `7 S( [5 b1 m$ [# o        }" I4 V' v) @( ?/ H
; x! W' u4 {: N8 K% O3 A
        if (query == null)& q/ R) [. ?  v+ d6 g
        {# C+ F6 Y$ k3 a9 ?. L9 m3 S2 r0 k# w
            System.out.println("There is not an '__WEB_find_user' query.");  d6 e; v5 b3 ^! z1 p" R
            return user;) c, l# p- Z. H( `3 T
        }
, l8 O# |7 C% f  Z! f* W# ]& ~9 @
8 |/ U( Q. U- e6 m        try
- ^2 ^# M5 M6 J( m  A: f7 a4 _& Q+ S$ M        {
3 ?2 i3 S8 S$ ]$ c4 H# t1 p! L            QueryInput savedQueryInput[] = new QueryInput[1];
, J% v% J1 j  g2 k% d" L! h# V            savedQueryInput[0] = new QueryInput();
2 K% f$ ]  G& ?# n            savedQueryInput[0].query = query;- p9 c! ]6 ^0 d" b$ k
            savedQueryInput[0].entries = new String[1];
- H; e- t6 o% [2 m. z            savedQueryInput[0].values = new String[1];, [# M' A' A5 a$ v& I' G
            savedQueryInput[0].entries[0] = "User ID" ;5 P: C% v! h$ q3 K1 L# n
            savedQueryInput[0].values[0] = userId;# I0 ]/ r- X" G7 H
            savedQueryInput[0].maxNumToReturn = 25;
+ k' J: Z4 Q. U8 O+ S4 h            ) k: B9 I; t! E: A+ B
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
* u$ B! x! Z$ ?$ @            QueryResults found = savedQueryResult.arrayOfResults[0];5 R, T( T: P- J+ g9 ~
- Z* D# Z6 q3 k, L1 c1 d
            int length = found.objectUIDS.length;
/ `) c/ w% I4 Z" \) J- d. O            
" H, B; b! A/ L5 E- f            String[] uids = new String[length];
7 ?. [4 U( j- W, H- J            for( int ii = 0; ii < length; ii++)
: o/ l8 x0 |7 t% F. m) u            {
$ ?1 U: n% U/ q! e                uids[ii]= found.objectUIDS[ii];
1 q) G' J! |; }4 [- E) x2 j1 E            }  L  D" d# W/ X# O, c
            ServiceData sd = dmService.loadObjects(uids);
  R! X/ W8 Y4 Z5 [, h            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
6 U& l5 J% p9 |+ R. k: k            for( int k =0; k< sd.sizeOfPlainObjects(); k++)2 M/ s5 r& j/ R5 u
            {4 {9 W, D1 g% \( j9 q
                foundObjs[k] = sd.getPlainObject(k);) E! S8 E2 w( m
            }. ~* `# c7 d+ A+ o$ ]2 a
            user = (User) foundObjs[0];   
2 Y  t& O4 U' O8 z. u: L% L        }
7 q8 u8 [; P8 `2 K4 R        catch (Exception e)8 q3 u5 H5 H. ]! }$ {
        {' d& S& q; d+ J/ {! F7 P6 ]; E
            System.out.println("ExecuteSavedQuery service request failed.");
# g! W  D7 R, r4 _) S            System.out.println(e.getMessage());
7 g# N. g  M# {- o        }            
$ E3 x* t; o" v+ u+ S        return user;9 U0 T+ \/ ]7 B* Y
    }
% G6 P8 G# y0 [# H[/mw_shl_code]
; G  W" t+ m" U3 m+ {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了