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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

; X& ]- x, I- W0 u7 `, d4 zTeamenter SOA开发源码:通过user ID 找 User
% f' h# ^6 `2 N3 p2 o, r/ B- r
) \) A( Q( S' _  z7 j[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;& D+ _6 ^# p7 v# ?% |
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
: T' V0 Z0 K7 Mimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;! s" ]- N. {/ d5 G3 S
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
& |# J' y6 s2 C0 o# Bimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
! C: K# f+ }5 I! Rimport com.teamcenter.services.strong.core.DataManagementService;
( Y3 A8 {! q2 c, l$ T# gimport com.teamcenter.soa.client.model.ModelObject;/ x3 L: ]9 w! `3 a; R; y
import com.teamcenter.soa.client.model.ServiceData;+ F. U& Q# y3 p3 r+ D2 M. U
import com.teamcenter.soa.client.model.strong.ImanQuery;
7 R6 d9 f! o! l+ {% P5 e7 F+ Q, w& J% M% Q
import com.teamcenter.soa.client.model.strong.User;1 _5 R* }8 Z, e3 s
+ P' w. D: c  A- X, B2 W/ a
  K, I" K  ~1 s  Q4 e1 K
    public User findUser(String userId)2 {. h- `' X+ h6 p
    {
" p2 ?# B+ H0 M        ImanQuery query = null;' d0 D: M/ n: D3 E8 U5 }
        User user = null;
: d# R/ I* H0 c! o        ; g5 ~8 Y: G( {; T: y  ]5 Q. d
8 W3 t' Q- t* Y; h6 @
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
8 P* c( ^. h' W0 k% y' v: d* T# l9 Z        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
% l% v4 ~0 A3 l/ P$ Z8 @; G        
& |# i& i) S9 x8 O: T8 m0 D        try
1 ~/ \% J+ r- R. m  {$ a' G        {
3 W+ |5 m! K& h; G" ]            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
3 J- p: A* j: j# `' A            if (savedQueries.queries.length == 0)
9 t) k. ^' v: a6 o0 v1 w+ P            {: N" C. M2 {& p- y" i4 W" i
                System.out.println("There are no saved queries in the system.");: H2 C) B) `6 N; H: }- {+ U: s
                return user;
3 s* q3 m: I4 S; B" Y& C            }. u6 y5 K& m5 O: ^' \  ~6 H
            & W! R2 Q5 K- y6 |$ C" y
            for (int i = 0; i < savedQueries.queries.length; i++)
, S4 n3 _, v' e, {" C. V6 S2 ~            {
0 u* h' }& e; K5 ~( l# X& P6 t4 p9 ^3 O8 D' Z7 o) y
                if (savedQueries.queries.name.equals("__WEB_find_user")); B1 _; ]+ \$ }' K& W. N' I1 Y
                {
) T$ F  D6 l" ^8 d) Y                    query = savedQueries.queries.query;
2 E4 Z8 R' W9 T& u" T( T1 `; q                    break;$ E8 |  w, g8 n8 A- T! g
                }7 x0 Z( B+ d0 q- Y( A$ I. ~
            }
5 m- h* R# t# U0 v% c        }/ Y  r' n5 K& T$ @6 E% K. l
        catch (ServiceException e)
3 @1 h; _2 U# U) x- v: j        {
2 T' S( `/ g0 E" O4 @  E            System.out.println("GetSavedQueries service request failed.");
& }7 b2 _# n: i+ _            System.out.println(e.getMessage());
  t# \- C6 M$ X8 ?2 \            return user;
+ X1 o5 Q/ O" w  x, L; y        }
  h3 s6 O' g2 l6 }" O# i9 z
1 G  A4 D! L% X) E4 @        if (query == null)
& p  i6 x9 T2 B+ V        {
# e/ f! V* x1 }- x9 R            System.out.println("There is not an '__WEB_find_user' query.");
' E2 ]! L8 J+ ~4 b; t) V: `% o            return user;. R% U) Q+ g4 [
        }9 y& r0 p$ [( q# q( b8 q  M7 q( X
0 F! @2 Z$ S, G+ v5 V' t% D+ a
        try
! z) x5 s) S& F2 |% t8 b0 j2 i        {5 m; q0 S; }( w% k' [
            QueryInput savedQueryInput[] = new QueryInput[1];
! A5 Y8 D4 x+ U- {0 Y            savedQueryInput[0] = new QueryInput();
% x6 P( B) }* e6 L9 Q0 F' Q1 E: k            savedQueryInput[0].query = query;
8 u4 o2 L3 J) m  l            savedQueryInput[0].entries = new String[1];6 b' C1 C5 a" k" \; A
            savedQueryInput[0].values = new String[1];
$ d3 W$ `- ~0 x! G            savedQueryInput[0].entries[0] = "User ID" ;
2 V' l' U; D! e2 J# j) A            savedQueryInput[0].values[0] = userId;- j# K  I0 }# Z+ Y9 J* T0 @3 v
            savedQueryInput[0].maxNumToReturn = 25;( J! L9 h! R3 `: u) h
            2 A# R1 \5 K  p2 n& d
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);7 k5 f, W6 d: }. [7 K
            QueryResults found = savedQueryResult.arrayOfResults[0];
5 a$ M8 \9 w8 Y5 G3 m2 p  U2 f+ p$ a
3 r2 q0 Q" F+ V3 U9 Y1 m            int length = found.objectUIDS.length;2 F, N* ]1 t  C, c
            
( @& v0 x" @* w4 z            String[] uids = new String[length];
+ l$ ^3 {: {) m2 ^/ F' p+ Y+ w            for( int ii = 0; ii < length; ii++)' r* |) {2 d8 g) M: P; z# K( ^
            {
- u1 ?  i# B7 ]' P& E% x& B                uids[ii]= found.objectUIDS[ii];% f; {) U) R& ~( E  X* ^8 f1 ]/ z
            }' S5 d+ ?  i0 c0 C5 V$ n+ ?  I' r( }/ M
            ServiceData sd = dmService.loadObjects(uids);2 J$ B+ m, b5 h9 g
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];4 h( N4 B$ H) m# s4 L( a
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
6 n. x8 X" ~" }            {
6 }% t) L; c0 |, O0 I5 U* T                foundObjs[k] = sd.getPlainObject(k);
* U# h7 p7 z! a! H3 x% U            }
. z7 G! P) E1 ^; B' D1 @8 f            user = (User) foundObjs[0];   
' M8 T' n, ~- Q8 N8 W. K1 _5 ]  O        }
1 Q; @0 Q7 J( |2 N7 f: m+ h# x        catch (Exception e)
9 i/ b" l9 \) `) u        {" C& l4 l7 W. e$ D8 w7 K
            System.out.println("ExecuteSavedQuery service request failed.");0 j( |" X: x6 \0 f3 ~" z( |1 J0 [
            System.out.println(e.getMessage());
( I/ n/ F; ?# D4 T& y        }            
' k! `8 M( a/ y6 G6 a        return user;2 Z4 s6 h8 X5 z4 P* p2 w
    }1 r# F( L" D# [& Y
[/mw_shl_code]$ I8 m6 d2 j$ u9 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了